From 344ce76577b2694b5526b67d5adb770a9e92f523 Mon Sep 17 00:00:00 2001
From: xieb <vip_xiaobin810@163.com>
Date: Sat, 23 Mar 2024 11:56:42 +0800
Subject: [PATCH] 保存航线飞行断点信息
---
src/main/java/com/dji/sample/wayline/service/impl/FlightTaskServiceImpl.java | 32 +++++++++++++++++++++++++++++++-
1 files changed, 31 insertions(+), 1 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 47a0442..8d33865 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.
* 处理机场上报的飞行任务进度信息
@@ -85,7 +91,31 @@
log.info("任务进度: {}", output.getProgress().toString());
if (null != output.getExt().getBreakPoint()) {
- log.info("任务进度 ===> 断点信息:{}", output.getExt().getBreakPoint().toString());
+ WaylineTaskProgressExtBreakPoint breakPoint = output.getExt().getBreakPoint();
+ log.info("任务进度 ===> 断点信息:{}", breakPoint.toString());
+ // 保存断点信息
+ try {
+ Boolean isAddBp = waylineJobBreakPointService.addWaylineJobBreakPoint(WaylineJobBreakPointEntity.builder()
+ .jobId(receiver.getBid())
+ .index(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) {
--
Gitblit v1.9.3