rain
2024-03-23 d2108ee735894d73bf655bda1651ecaefbc4c09d
src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java
@@ -65,22 +65,31 @@
    /**
     * Handle the progress messages of the flight tasks reported by the dock.
     * 处理机场上报的飞行任务进度信息
     * @param receiver
     * @param headers
     */
    @ServiceActivator(inputChannel = ChannelName.INBOUND_EVENTS_FLIGHT_TASK_PROGRESS, outputChannel = ChannelName.OUTBOUND_EVENTS)
    public CommonTopicReceiver handleProgress(CommonTopicReceiver receiver, MessageHeaders headers) {
        log.info("上报航线任务进度: {}", receiver.toString());
        EventsReceiver<WaylineTaskProgressReceiver> eventsReceiver = mapper.convertValue(receiver.getData(),
                new TypeReference<EventsReceiver<WaylineTaskProgressReceiver>>(){});
        eventsReceiver.setBid(receiver.getBid());
        eventsReceiver.setSn(receiver.getGateway());
        //用户记录飞行任务id
        RedisOpsUtils.set(RedisConst.FLIGHT_LOG + "job_id",receiver.getBid());
        WaylineTaskProgressReceiver output = eventsReceiver.getOutput();
        log.info("Task progress: {}", output.getProgress().toString());
        log.info("任务进度: {}", output.getProgress().toString());
        if (null != output.getExt().getBreakPoint()) {
            log.info("任务进度 ===> 断点信息:{}", output.getExt().getBreakPoint().toString());
        }
        if (eventsReceiver.getResult() != ResponseResult.CODE_SUCCESS) {
            log.error("Task progress ===> Error code: " + eventsReceiver.getResult());
            log.error("任务进度 ===> 错误编码: " + eventsReceiver.getResult());
        }
        EventsResultStatusEnum statusEnum = EventsResultStatusEnum.find(output.getStatus());
@@ -110,7 +119,7 @@
                .mediaCount(mediaCount)
                .build();
        // record the update of the media count.
        //记录媒体计数的更新
        if (Objects.nonNull(job.getMediaCount()) && job.getMediaCount() != 0) {
            RedisOpsUtils.hashSet(RedisConst.MEDIA_FILE_PREFIX + receiver.getGateway(), job.getJobId(),
                    MediaFileCountDTO.builder().jobId(receiver.getBid()).mediaCount(job.getMediaCount()).uploadedCount(0).build());