From 2db1aa88e8ab53096a936163d686b90d8e056a99 Mon Sep 17 00:00:00 2001
From: rain <167982779@qq.com>
Date: Wed, 21 Aug 2024 23:18:33 +0800
Subject: [PATCH] 国土对接返回信息加密
---
src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java | 41 ++++++++++++++++++++++++++++++++++++++---
1 files changed, 38 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java b/src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java
index 36c6556..ab4c9fd 100644
--- a/src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java
+++ b/src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java
@@ -14,10 +14,13 @@
import com.dji.sample.media.model.MediaFileCountDTO;
import com.dji.sample.wayline.model.dto.WaylineJobDTO;
import com.dji.sample.wayline.model.dto.WaylineJobKey;
+import com.dji.sample.wayline.model.dto.WaylineTaskProgressExtBreakPoint;
import com.dji.sample.wayline.model.dto.WaylineTaskProgressReceiver;
+import com.dji.sample.wayline.model.entity.WaylineJobBreakPointEntity;
import com.dji.sample.wayline.model.enums.WaylineJobStatusEnum;
import com.dji.sample.wayline.model.enums.WaylineTaskTypeEnum;
import com.dji.sample.wayline.service.IFlightTaskService;
+import com.dji.sample.wayline.service.IWaylineJobBreakPointService;
import com.dji.sample.wayline.service.IWaylineJobService;
import com.dji.sample.wayline.service.IWaylineRedisService;
import com.fasterxml.jackson.core.type.TypeReference;
@@ -63,6 +66,9 @@
@Autowired
private IWaylineRedisService waylineRedisService;
+ @Autowired
+ private IWaylineJobBreakPointService waylineJobBreakPointService;
+
/**
* Handle the progress messages of the flight tasks reported by the dock.
* 处理机场上报的飞行任务进度信息
@@ -71,7 +77,8 @@
*/
@ServiceActivator(inputChannel = ChannelName.INBOUND_EVENTS_FLIGHT_TASK_PROGRESS, outputChannel = ChannelName.OUTBOUND_EVENTS)
public CommonTopicReceiver handleProgress(CommonTopicReceiver receiver, MessageHeaders headers) {
- EventsReceiver<WaylineTaskProgressReceiver> eventsReceiver = mapper.convertValue(receiver.getData(),
+ log.info("上报航线任务进度: {}", receiver.toString());
+ EventsReceiver<WaylineTaskProgressReceiver> eventsReceiver = mapper.convertValue(receiver.getData(),
new TypeReference<EventsReceiver<WaylineTaskProgressReceiver>>(){});
eventsReceiver.setBid(receiver.getBid());
eventsReceiver.setSn(receiver.getGateway());
@@ -81,10 +88,38 @@
WaylineTaskProgressReceiver output = eventsReceiver.getOutput();
- log.info("Task progress: {}", output.getProgress().toString());
+ log.info("任务进度: {}", output.getProgress().toString());
+
+ if (null != output.getExt().getBreakPoint()) {
+ WaylineTaskProgressExtBreakPoint breakPoint = output.getExt().getBreakPoint();
+ log.info("任务进度 ===> 断点信息:{}", breakPoint.toString());
+ // 保存断点信息
+ try {
+ Boolean isAddBp = waylineJobBreakPointService.addWaylineJobBreakPoint(WaylineJobBreakPointEntity.builder()
+ .jobId(receiver.getBid())
+ .bpIndex(breakPoint.getIndex())
+ .state(breakPoint.getState())
+ .progress(breakPoint.getProgress())
+ .waylineId(breakPoint.getWaylineId())
+ .breakReason(breakPoint.getBreakReason())
+ .latitude(breakPoint.getLatitude())
+ .longitude(breakPoint.getLongitude())
+ .height(breakPoint.getHeight())
+ .attitudeHead(breakPoint.getAttitudeHead())
+ .build());
+ if (isAddBp) {
+ log.info("任务进度 ===> 断点信息 ===> 保存成功:{}", breakPoint.toString());
+ } else {
+ log.info("任务进度 ===> 断点信息 ===> 保存失败:{}", breakPoint.toString());
+ }
+ }catch (Exception e) {
+ log.info("任务进度 ===> 断点信息 ===> 保存失败:{},\n {}", breakPoint.toString(),e.getMessage());
+ }
+
+ }
if (eventsReceiver.getResult() != ResponseResult.CODE_SUCCESS) {
- log.error("Task progress ===> Error code: " + eventsReceiver.getResult());
+ log.error("任务进度 ===> 错误编码: " + eventsReceiver.getResult());
}
EventsResultStatusEnum statusEnum = EventsResultStatusEnum.find(output.getStatus());
--
Gitblit v1.9.3