From 5b1fb0ef7416092cda516c0bf4113dc94287e7cb Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Tue, 18 Nov 2025 16:53:26 +0800
Subject: [PATCH] 1.增加上传航线到边缘服务器接口。 2.增加开始航线接口。 3.增加暂停航线接口。 4.增加恢复航线接口。 5.增加结束航线接口。 6.注释修改。
---
ard-route/src/main/java/com/ard/route/util/InitializationUtils.java | 161 +++++++++++--
ard-route/pom.xml | 4
ard-work/src/main/java/com/ard/work/domain/dto/wayline/PointAction.java | 33 ++
ard-work/src/main/java/com/ard/work/domain/dto/state/PointData.java | 63 ++++-
ard-work/src/main/java/com/ard/work/domain/dto/wayline/PlanLineData.java | 52 +++-
ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java | 233 +++++++++++++++++++++
ard-route/src/main/java/com/ard/route/domain/sixhe/ArdRouteChange.java | 4
ard-route/src/main/java/com/ard/route/service/IArdRouteInfoService.java | 46 ++++
ard-work/src/main/java/com/ard/work/domain/dto/wayline/WayLineUploadDTO.java | 8
ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteInfoController.java | 51 ++++
10 files changed, 588 insertions(+), 67 deletions(-)
diff --git a/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteInfoController.java b/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteInfoController.java
index 09eb7de..85d0068 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteInfoController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteInfoController.java
@@ -132,10 +132,51 @@
/**
* 上传航线到边缘服务器
*/
-// @ApiOperation("上传航线到边缘服务器")
-// @PostMapping
-// public AjaxResult uploadRouteInformation(@RequestBody ArdRouteInfo ArdRouteInfor) {
-// return success(ardRouteInfoService.selectArdRouteInforByName(ArdRouteInfor.getName()));
-// }
+ @ApiOperation("上传航线到边缘服务器")
+ @PostMapping("/uploadRouteToSixHe/{id}/{boxSn}")
+ public AjaxResult uploadRouteToSixHe(@PathVariable("id") String id,
+ @PathVariable("boxSn") String boxSn) {
+ return success(ardRouteInfoService.uploadRouteToSixHe(id,boxSn));
+ }
+
+ /**
+ * 开始航线
+ */
+ @ApiOperation("开始航线")
+ @PostMapping("/routeBegins/{boxSn}")
+ public AjaxResult routeBegins(@PathVariable("boxSn") String boxSn) {
+ ardRouteInfoService.routeBegins(boxSn);
+ return AjaxResult.success();
+ }
+
+ /**
+ * 暂停航线
+ */
+ @ApiOperation("暂停航线")
+ @PostMapping("/routeSuspension/{boxSn}")
+ public AjaxResult routeSuspension(@PathVariable("boxSn") String boxSn) {
+ ardRouteInfoService.routeSuspension(boxSn);
+ return AjaxResult.success();
+ }
+
+ /**
+ * 恢复航线
+ */
+ @ApiOperation("恢复航线")
+ @PostMapping("/routeResumption/{boxSn}")
+ public AjaxResult routeResumption(@PathVariable("boxSn") String boxSn) {
+ ardRouteInfoService.routeResumption(boxSn);
+ return AjaxResult.success();
+ }
+
+ /**
+ * 结束航线
+ */
+ @ApiOperation("结束航线")
+ @PostMapping("/routeEnd/{boxSn}")
+ public AjaxResult routeEnd(@PathVariable("boxSn") String boxSn) {
+ ardRouteInfoService.routeEnd(boxSn);
+ return AjaxResult.success();
+ }
}
diff --git a/ard-route/pom.xml b/ard-route/pom.xml
index 34a8b9a..4bdfa32 100644
--- a/ard-route/pom.xml
+++ b/ard-route/pom.xml
@@ -55,6 +55,10 @@
<groupId>com.ard</groupId>
<artifactId>ard-system</artifactId>
</dependency>
+ <dependency>
+ <groupId>com.ard</groupId>
+ <artifactId>ard-work</artifactId>
+ </dependency>
</dependencies>
diff --git a/ard-route/src/main/java/com/ard/route/domain/sixhe/ArdRouteChange.java b/ard-route/src/main/java/com/ard/route/domain/sixhe/ArdRouteChange.java
index d5c0e87..a07414c 100644
--- a/ard-route/src/main/java/com/ard/route/domain/sixhe/ArdRouteChange.java
+++ b/ard-route/src/main/java/com/ard/route/domain/sixhe/ArdRouteChange.java
@@ -26,4 +26,8 @@
private List<ArdRoutePoints> points;
+ private Integer securityHeight;
+
+ private Integer templateId;
+
}
diff --git a/ard-route/src/main/java/com/ard/route/service/IArdRouteInfoService.java b/ard-route/src/main/java/com/ard/route/service/IArdRouteInfoService.java
index d50e794..19e0e1e 100644
--- a/ard-route/src/main/java/com/ard/route/service/IArdRouteInfoService.java
+++ b/ard-route/src/main/java/com/ard/route/service/IArdRouteInfoService.java
@@ -4,6 +4,8 @@
import com.ard.oss.model.MinioUploadResult;
import com.ard.route.domain.dto.ArdNoflyDto;
import com.ard.route.domain.route.ArdRouteInfo;
+import com.ard.route.domain.sixhe.ArdRouteChange;
+import com.ard.work.domain.dto.wayline.WayLineUploadDTO;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
@@ -92,9 +94,51 @@
/**
* 判断行点是否在禁飞区
*
- * ardNoflyDto
+ * @param ardNoflyDto 禁飞区DTO实体类
* @return 结果
*/
public Boolean selectRouteInfomationNoFly(ArdNoflyDto ardNoflyDto);
+ /**
+ * 上传航线到边缘服务器
+ *
+ * @param id ID
+ * @param boxSn 云盒SN编号
+ * @return 结果
+ */
+ public Boolean uploadRouteToSixHe(String id, String boxSn);
+
+ /**
+ * 开始航线
+ *
+ * @param boxSn 云盒SN编号
+ * @return 结果
+ */
+ public Boolean routeBegins(String boxSn);
+
+ /**
+ * 暂停航线
+ *
+ * @param boxSn 云盒SN编号
+ * @return 结果
+ */
+ public Boolean routeSuspension(String boxSn);
+
+ /**
+ * 恢复航线
+ *
+ * @param boxSn 云盒SN编号
+ * @return 结果
+ */
+ public Boolean routeResumption(String boxSn);
+
+ /**
+ * 结束航线
+ *
+ * @param boxSn 云盒SN编号
+ * @return 结果
+ */
+ public Boolean routeEnd(String boxSn);
+
+
}
diff --git a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
index 5e9122f..d2e9f34 100644
--- a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
+++ b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java
@@ -1,6 +1,7 @@
package com.ard.route.service.impl;
import java.io.IOException;
+import java.util.ArrayList;
import java.util.List;
import com.ard.common.exception.ControlException;
@@ -13,13 +14,20 @@
import com.ard.data.noflyzone.utils.NoFlyZoneUtils;
import com.ard.oss.model.MinioUploadResult;
import com.ard.oss.service.impl.OssServiceContext;
+import com.ard.route.domain.djuav.ActionGroupReq;
+import com.ard.route.domain.djuav.PointActionReq;
+import com.ard.route.domain.djuav.RoutePointReq;
import com.ard.route.domain.djuav.UavRouteReq;
import com.ard.route.domain.dto.ArdNoflyDto;
import com.ard.route.domain.route.ArdRouteInfo;
+import com.ard.route.domain.sixhe.ArdRouteChange;
import com.ard.route.domain.vo.KmzResultVo;
import com.ard.route.mapper.ArdRouteInfoMapper;
import com.ard.route.service.IArdRouteInfoService;
import com.ard.route.service.UavRouteService;
+import com.ard.work.domain.dto.state.PointData;
+import com.ard.work.domain.dto.wayline.*;
+import com.ard.work.service.ITyService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;
@@ -48,6 +56,9 @@
@Resource
private IArdNoFlyZoneService ardNoFlyZoneService;
+
+ @Resource
+ private ITyService tyService;
/**
* 查询航线(kmz)
@@ -227,6 +238,228 @@
}
/**
+ * 上传航线到边缘服务器
+ *
+ * ardNoflyDto
+ * @return 结果
+ */
+ @Override
+ public Boolean uploadRouteToSixHe(String id,String boxSn) {
+ // 1.获取航线信息
+ // 1.1通过航线数据,转换。
+ ArdRouteInfo route = ardRouteInfoMapper.selectArdRouteInfoById(id);
+ try {
+ route.setUavRouteReq((UavRouteReq) deserialize(route.getRouteData()));
+ } catch (IOException | ClassNotFoundException e) {
+ throw new RuntimeException(e);
+ }
+ // 2.将航线信息转换成对应实体类
+ WayLineUploadDTO wayLineUploadDTO = buildWayLineUploadDTO(route);
+ // 3.调用接口
+ tyService.wayLineUpload(wayLineUploadDTO);
+ return true;
+ }
+
+ /**
+ * 开始航线
+ *
+ * @param boxSn 云盒SN编号
+ * @return 结果
+ */
+ @Override
+ public Boolean routeBegins(String boxSn) {
+ WayLineBeginDTO wayLineBeginDTO = new WayLineBeginDTO(boxSn);
+ tyService.wayLineBegin(wayLineBeginDTO);
+ return true;
+ }
+
+ /**
+ * 暂停航线
+ *
+ * @param boxSn 云盒SN编号
+ * @return 结果
+ */
+ @Override
+ public Boolean routeSuspension(String boxSn) {
+ WayLinePauseDTO wayLinePauseDTO = new WayLinePauseDTO(boxSn);
+ tyService.wayLinePause(wayLinePauseDTO);
+ return true;
+ }
+
+ /**
+ * 恢复航线
+ *
+ * @param boxSn 云盒SN编号
+ * @return 结果
+ */
+ @Override
+ public Boolean routeResumption(String boxSn) {
+ WayLineResumeDTO wayLineResumeDTO = new WayLineResumeDTO(boxSn);
+ tyService.wayLineResume(wayLineResumeDTO);
+ return true;
+ }
+
+ /**
+ * 结束航线
+ *
+ * @param boxSn 云盒SN编号
+ * @return 结果
+ */
+ @Override
+ public Boolean routeEnd(String boxSn) {
+ WayLineEndDTO wayLineEndDTO = new WayLineEndDTO(boxSn);
+ tyService.wayLineEnd(wayLineEndDTO);
+ return true;
+ }
+
+ /**
+ * ArdRouteInfo实体转换,WayLineUploadDTO
+ */
+ private WayLineUploadDTO buildWayLineUploadDTO(ArdRouteInfo ardRouteInfo){
+ WayLineUploadDTO wayLineUploadDTO = new WayLineUploadDTO();
+ String finishAction = ardRouteInfo.getUavRouteReq().getFinishAction(); //1
+ Double autoFlightSpeed = ardRouteInfo.getUavRouteReq().getAutoFlightSpeed(); //15
+ Double globalTransitionalSpeed = ardRouteInfo.getUavRouteReq().getGlobalTransitionalSpeed(); //8
+ String exitOnRcLostAction = ardRouteInfo.getUavRouteReq().getExitOnRcLostAction(); //0
+
+ PlanLineData planLineData = new PlanLineData();
+
+
+
+ if (finishAction != null){
+ planLineData.setLoseAction(0);
+ }
+ if (autoFlightSpeed != null){
+ planLineData.setAutoSpeed(8);
+ }
+ if (globalTransitionalSpeed != null){
+ planLineData.setMaxSpeed(15);
+ }
+ if (exitOnRcLostAction != null){
+ planLineData.setFinishedAction(1);
+ }
+ planLineData.setHomeHeight(50);
+ planLineData.setInterests(new ArrayList<>());
+ planLineData.setIsSaveEnergyMode(0);
+ planLineData.setPoints(buildPointDataList(ardRouteInfo.getUavRouteReq()));
+
+ wayLineUploadDTO.setWayLineData(planLineData);
+ return wayLineUploadDTO;
+ }
+
+ private List<PointData> buildPointDataList(UavRouteReq uavRouteReq){
+ List<PointData> pointDataList = new ArrayList<>();
+ for (RoutePointReq routePointReq : uavRouteReq.getRoutePointList()) {
+ PointData pointData = new PointData();
+
+ Integer routePointIndex = routePointReq.getRoutePointIndex();
+ if (routePointIndex != null){
+ pointData.setGroupIndex(routePointIndex);
+ }
+ Double height = routePointReq.getHeight();
+ if (height != null){
+ pointData.setHeight(height.floatValue());
+ }
+ Double longitude = routePointReq.getLatitude();
+ if (longitude != null){
+ pointData.setLng(longitude.floatValue());
+ }
+ Double latitude = routePointReq.getLongitude();
+ if (latitude != null){
+ pointData.setLat(latitude.floatValue());
+ }
+ Double speed = routePointReq.getSpeed();
+ if (speed != null){
+ pointData.setSpeed(speed.floatValue());
+ }
+ pointData.setDampingDistance(0);
+ pointData.setFlightPathMode(1);
+ pointData.setHeading(0);
+ pointData.setHeadingMode(0);
+ pointData.setInterestIndex(-1);
+ pointData.setSafeGohomeFlag(0);
+ pointData.setActions(buildPointActionList(routePointReq.getActionGroupList()));
+ pointDataList.add(pointData);
+
+ }
+ return pointDataList;
+ }
+
+ private List<PointAction> buildPointActionList(List<ActionGroupReq> actionGroupList){
+ List<PointAction> pointActionList = new ArrayList<>();
+ for (ActionGroupReq actionGroupReq : actionGroupList) {
+ for (PointActionReq action : actionGroupReq.getActions()) {
+ PointAction pointAction = typeProcessing(action);
+ pointActionList.add(pointAction);
+ }
+ }
+ return pointActionList;
+ }
+
+ private PointAction typeProcessing(PointActionReq pointActionReq){
+ PointAction pointAction = new PointAction();
+
+ if (pointActionReq.getZoom() != null){
+ pointAction.setType(1);
+ pointAction.setParam(pointActionReq.getZoom().floatValue());
+ pointAction.setSpeakInfo("");
+ pointAction.setWaitTime(2);
+ }
+
+ if (pointActionReq.getTakePhotoType() != null){
+ pointAction.setType(2);
+ pointAction.setParam(1);
+ pointAction.setSpeakInfo("");
+ pointAction.setWaitTime(2);
+ }
+
+ if (pointActionReq.getStartRecord() != null){
+ pointAction.setType(3);
+ pointAction.setParam(1);
+ pointAction.setSpeakInfo("");
+ pointAction.setWaitTime(2);
+ }
+
+ if (pointActionReq.getStopRecord() != null){
+ pointAction.setType(4);
+ pointAction.setParam(1);
+ pointAction.setSpeakInfo("");
+ pointAction.setWaitTime(2);
+ }
+
+ if (pointActionReq.getAircraftHeading() != null){
+ pointAction.setType(5);
+ pointAction.setParam(pointActionReq.getAircraftHeading().floatValue());
+ pointAction.setSpeakInfo("");
+ pointAction.setWaitTime(2);
+ }
+
+ if (pointActionReq.getGimbalPitchRotateAngle() != null){
+ pointAction.setType(6);
+ pointAction.setParam(pointActionReq.getGimbalPitchRotateAngle().floatValue());
+ pointAction.setSpeakInfo("");
+ pointAction.setWaitTime(2);
+ }
+
+ if (pointActionReq.getGimbalYawRotateAngle() != null){
+ pointAction.setType(7);
+ pointAction.setParam(pointActionReq.getGimbalYawRotateAngle().floatValue());
+ pointAction.setSpeakInfo("");
+ pointAction.setWaitTime(2);
+ }
+
+ if (pointActionReq.getHoverTime() != null){
+ pointAction.setType(9);
+ pointAction.setParam(pointActionReq.getHoverTime().floatValue());
+ pointAction.setSpeakInfo("");
+ pointAction.setWaitTime(2);
+ }
+
+ return pointAction;
+
+ }
+
+ /**
* 数据新增航线信息
*/
private void insertRouteInfomation(ArdRouteInfo ardRouteInfo){
diff --git a/ard-route/src/main/java/com/ard/route/util/InitializationUtils.java b/ard-route/src/main/java/com/ard/route/util/InitializationUtils.java
index 54807db..f630224 100644
--- a/ard-route/src/main/java/com/ard/route/util/InitializationUtils.java
+++ b/ard-route/src/main/java/com/ard/route/util/InitializationUtils.java
@@ -80,40 +80,137 @@
ardRouteChange.setIsSaveEnergyMode(0);
ardRouteChange.setLoseAction(0);
ardRouteChange.setMaxSpeed(15);
+ ardRouteChange.setSecurityHeight(50);
+ ardRouteChange.setTemplateId(0);
List<ArdRoutePoints> points = new ArrayList<>();
- ArdRoutePoints ardRoutePoints0 = new ArdRoutePoints();
- ardRoutePoints0.setDampingDistance(0);
- ardRoutePoints0.setFlightPathMode(1);
- ardRoutePoints0.setGroupIndex(0);
- ardRoutePoints0.setHeading(0);
- ardRoutePoints0.setHeadingMode(0);
- ardRoutePoints0.setHeight(50);
- ardRoutePoints0.setInterestIndex(0);
- ardRoutePoints0.setLat(31.11339916);
- ardRoutePoints0.setLon(103.75851462);
- ardRoutePoints0.setSafeGohomeFlag(0);
- ardRoutePoints0.setSpeed(8);
- List<ArdRouteActions> actions = new ArrayList<>();
- ArdRouteActions ardRouteActions0 = new ArdRouteActions();
- ardRouteActions0.setParam(10);
- ardRouteActions0.setSpeakInfo("");
- ardRouteActions0.setType(1);
- ardRouteActions0.setWaitTime(2);
- ArdRouteActions ardRouteActions1 = new ArdRouteActions();
- ardRouteActions1.setParam(10);
- ardRouteActions1.setSpeakInfo("");
- ardRouteActions1.setType(1);
- ardRouteActions1.setWaitTime(2);
- ArdRouteActions ardRouteActions2 = new ArdRouteActions();
- ardRouteActions2.setParam(10);
- ardRouteActions2.setSpeakInfo("");
- ardRouteActions2.setType(1);
- ardRouteActions2.setWaitTime(2);
- actions.add(ardRouteActions0);
- actions.add(ardRouteActions1);
- actions.add(ardRouteActions2);
- points.add(ardRoutePoints0);
+ //-----------------------------------------------------
+ ArdRoutePoints ardRoutePoints00 = new ArdRoutePoints();
+ ardRoutePoints00.setDampingDistance(0);
+ ardRoutePoints00.setFlightPathMode(1);
+ ardRoutePoints00.setGroupIndex(0);
+ ardRoutePoints00.setHeading(0);
+ ardRoutePoints00.setHeadingMode(0);
+ ardRoutePoints00.setHeight(50);
+ ardRoutePoints00.setInterestIndex(-1);
+ ardRoutePoints00.setLat(31.11339916);
+ ardRoutePoints00.setLon(103.75851462);
+ ardRoutePoints00.setSafeGohomeFlag(0);
+ ardRoutePoints00.setSpeed(8);
+ List<ArdRouteActions> actions00 = new ArrayList<>();
+ ArdRouteActions ardRouteActions00 = new ArdRouteActions();
+ ardRouteActions00.setParam(10);
+ ardRouteActions00.setSpeakInfo("");
+ ardRouteActions00.setType(1);
+ ardRouteActions00.setWaitTime(2);
+ ArdRouteActions ardRouteActions01 = new ArdRouteActions();
+ ardRouteActions01.setParam(10);
+ ardRouteActions01.setSpeakInfo("");
+ ardRouteActions01.setType(1);
+ ardRouteActions01.setWaitTime(2);
+ ArdRouteActions ardRouteActions02 = new ArdRouteActions();
+ ardRouteActions02.setParam(10);
+ ardRouteActions02.setSpeakInfo("");
+ ardRouteActions02.setType(1);
+ ardRouteActions02.setWaitTime(2);
+ actions00.add(ardRouteActions00);
+ actions00.add(ardRouteActions01);
+ actions00.add(ardRouteActions02);
+ ardRoutePoints00.setActions(actions00);
+
+ //-----------------------------------------------------
+ ArdRoutePoints ardRoutePoints10 = new ArdRoutePoints();
+ ardRoutePoints10.setDampingDistance(0);
+ ardRoutePoints10.setFlightPathMode(1);
+ ardRoutePoints10.setGroupIndex(0);
+ ardRoutePoints10.setHeading(0);
+ ardRoutePoints10.setHeadingMode(0);
+ ardRoutePoints10.setHeight(50);
+ ardRoutePoints10.setInterestIndex(-1);
+ ardRoutePoints10.setLat(31.11339916);
+ ardRoutePoints10.setLon(103.75746538);
+ ardRoutePoints10.setSafeGohomeFlag(0);
+ ardRoutePoints10.setSpeed(8);
+ List<ArdRouteActions> actions10 = new ArrayList<>();
+ ArdRouteActions ardRouteActions10 = new ArdRouteActions();
+ ardRouteActions10.setParam(20);
+ ardRouteActions10.setSpeakInfo("");
+ ardRouteActions10.setType(9);
+ ardRouteActions10.setWaitTime(2);
+ ArdRouteActions ardRouteActions11 = new ArdRouteActions();
+ ardRouteActions11.setParam(40);
+ ardRouteActions11.setSpeakInfo("");
+ ardRouteActions11.setType(6);
+ ardRouteActions11.setWaitTime(2);
+ ArdRouteActions ardRouteActions12 = new ArdRouteActions();
+ ardRouteActions12.setParam(40);
+ ardRouteActions12.setSpeakInfo("");
+ ardRouteActions12.setType(7);
+ ardRouteActions12.setWaitTime(2);
+ ArdRouteActions ardRouteActions13 = new ArdRouteActions();
+ ardRouteActions13.setParam(40);
+ ardRouteActions13.setSpeakInfo("");
+ ardRouteActions13.setType(8);
+ ardRouteActions13.setWaitTime(2);
+ actions10.add(ardRouteActions10);
+ actions10.add(ardRouteActions11);
+ actions10.add(ardRouteActions12);
+ ardRoutePoints10.setActions(actions10);
+
+ //-----------------------------------------------------
+ ArdRoutePoints ardRoutePoints20 = new ArdRoutePoints();
+ ardRoutePoints20.setDampingDistance(0);
+ ardRoutePoints20.setFlightPathMode(1);
+ ardRoutePoints20.setGroupIndex(0);
+ ardRoutePoints20.setHeading(0);
+ ardRoutePoints20.setHeadingMode(0);
+ ardRoutePoints20.setHeight(50);
+ ardRoutePoints20.setInterestIndex(-1);
+ ardRoutePoints20.setLat(31.11250084);
+ ardRoutePoints20.setLon(103.75746538);
+ ardRoutePoints20.setSafeGohomeFlag(0);
+ ardRoutePoints20.setSpeed(8);
+ List<ArdRouteActions> actions20 = new ArrayList<>();
+ ArdRouteActions ardRouteActions20 = new ArdRouteActions();
+ ardRouteActions20.setParam(15);
+ ardRouteActions20.setSpeakInfo("");
+ ardRouteActions20.setType(9);
+ ardRouteActions20.setWaitTime(2);
+ ArdRouteActions ardRouteActions21 = new ArdRouteActions();
+ ardRouteActions21.setParam(3);
+ ardRouteActions21.setSpeakInfo("");
+ ardRouteActions21.setType(10);
+ ardRouteActions21.setWaitTime(2);
+ actions20.add(ardRouteActions20);
+ actions20.add(ardRouteActions21);
+ ardRoutePoints20.setActions(actions20);
+
+ //-----------------------------------------------------
+ ArdRoutePoints ardRoutePoints30 = new ArdRoutePoints();
+ ardRoutePoints30.setDampingDistance(0);
+ ardRoutePoints30.setFlightPathMode(1);
+ ardRoutePoints30.setGroupIndex(0);
+ ardRoutePoints30.setHeading(0);
+ ardRoutePoints30.setHeadingMode(0);
+ ardRoutePoints30.setHeight(60);
+ ardRoutePoints30.setInterestIndex(-1);
+ ardRoutePoints30.setLat(31.11250084);
+ ardRoutePoints30.setLon(103.75851462);
+ ardRoutePoints30.setSafeGohomeFlag(0);
+ ardRoutePoints30.setSpeed(8);
+ List<ArdRouteActions> actions30 = new ArrayList<>();
+ ArdRouteActions ardRouteActions30 = new ArdRouteActions();
+ ardRouteActions30.setParam(1);
+ ardRouteActions30.setSpeakInfo("");
+ ardRouteActions30.setType(2);
+ ardRouteActions30.setWaitTime(2);
+ actions30.add(ardRouteActions30);
+ ardRoutePoints30.setActions(actions30);
+
+ points.add(ardRoutePoints00);
+ points.add(ardRoutePoints10);
+ points.add(ardRoutePoints20);
+ points.add(ardRoutePoints30);
ardRouteChange.setPoints(points);
}
diff --git a/ard-work/src/main/java/com/ard/work/domain/dto/state/PointData.java b/ard-work/src/main/java/com/ard/work/domain/dto/state/PointData.java
index bb6bc9d..daab7cc 100644
--- a/ard-work/src/main/java/com/ard/work/domain/dto/state/PointData.java
+++ b/ard-work/src/main/java/com/ard/work/domain/dto/state/PointData.java
@@ -8,17 +8,56 @@
// 假设 PointData 类定义如下
@Data
public class PointData {
- private double lat; // 纬度
- private double lng; // 经度
- private float height; // 高度(单位:米,范围0~遥控器限高)
- private float speed; // 速度(单位:米/秒,范围0~15),默认8
- private List<PointAction> actions; // 动作数组
- private int flightPathMode; // 航线飞行模式:1=直线飞行,2=协调转弯,3=曲线飞行(停),4=曲线飞行(不停)
- private float dampingDistance; // 转弯半径(仅协调转弯模式下有效),取值范围1~655.35单位:米
- private int safeGohomeFlag; // 是否为安全返航点 0=不是,1=是
- private int headingMode; // 偏航模式 0=自动,1=锁定,2=遥控器控制,3=云台依照航点方向旋转,4=朝向兴趣点,5=飞机和云台的偏航同时旋转
- private float heading; // 航点偏航 -180~180
- private int interestIndex; // 兴趣点下标,默认-1
- private int groupIndex; // 组下标
+
+ /** 纬度 */
+ private double lat;
+
+ /** 经度 */
+ private double lng;
+
+ /** 高度(单位:米,范围0~遥控器限高) */
+ private float height;
+
+ /** 速度(单位:米/秒,范围0~15),默认8 */
+ private float speed;
+
+ /** 动作数组 */
+ private List<PointAction> actions;
+
+ /** 航线飞行模式:
+ * 1=直线飞行,
+ * 2=协调转弯,
+ * 3=曲线飞行(停),
+ * 4=曲线飞行(不停)
+ */
+ private int flightPathMode;
+
+ /** 转弯半径(仅协调转弯模式下有效),取值范围1~655.35单位:米 */
+ private float dampingDistance;
+
+ /** 是否为安全返航点
+ * 0=不是,
+ * 1=是
+ */
+ private int safeGohomeFlag;
+
+ /** 偏航模式
+ * 0=自动,
+ * 1=锁定,
+ * 2=遥控器控制,
+ * 3=云台依照航点方向旋转,
+ * 4=朝向兴趣点,
+ * 5=飞机和云台的偏航同时旋转
+ */
+ private int headingMode;
+
+ /** 航点偏航 -180~180 */
+ private float heading;
+
+ /** 兴趣点下标,默认-1 */
+ private int interestIndex;
+
+ /** 组下标 */
+ private int groupIndex;
}
\ No newline at end of file
diff --git a/ard-work/src/main/java/com/ard/work/domain/dto/wayline/PlanLineData.java b/ard-work/src/main/java/com/ard/work/domain/dto/wayline/PlanLineData.java
index fb2f336..b8749d7 100644
--- a/ard-work/src/main/java/com/ard/work/domain/dto/wayline/PlanLineData.java
+++ b/ard-work/src/main/java/com/ard/work/domain/dto/wayline/PlanLineData.java
@@ -18,17 +18,43 @@
@AllArgsConstructor
@NoArgsConstructor
public class PlanLineData {
- private int finishedAction; // 结束航线后动作(必填)
- private float maxSpeed; // 最大飞行速度(单位:米/秒)
- private float autoSpeed; // 自动飞行速度(单位:米/秒)
- private List<PointData> points; // 坐标点数组(必填)
- private int loseAction; // 网络失联后动作(必填)
- private int homeHeight; // 返航高度(必填)
- private int isSaveEnergyMode; // 是否开启节能模式
- private HangarPoint takePoint; // 起飞点机库信息
- private HangarPoint landPoint; // 降落点机库信息
- private List<PointData> interests; // 兴趣点数组
- private NormalModel normalModel; // 普通建模
- private SurroundModel surroundModel; // 环绕建模
- private PointData takeOffPoint; // 起飞点
+
+ /** 结束航线后动作(必填) */
+ private int finishedAction;
+
+ /** 最大飞行速度(单位:米/秒) */
+ private float maxSpeed;
+
+ /** 自动飞行速度(单位:米/秒) */
+ private float autoSpeed;
+
+ /** 坐标点数组(必填) */
+ private List<PointData> points;
+
+ /** 网络失联后动作(必填) */
+ private int loseAction;
+
+ /** 返航高度(必填) */
+ private int homeHeight;
+
+ /** 是否开启节能模式 */
+ private int isSaveEnergyMode;
+
+ /** 起飞点机库信息 */
+ private HangarPoint takePoint;
+
+ /** 降落点机库信息 */
+ private HangarPoint landPoint;
+
+ /** 兴趣点数组 */
+ private List<PointData> interests;
+
+ /** 普通建模 */
+ private NormalModel normalModel;
+
+ /** 环绕建模 */
+ private SurroundModel surroundModel;
+
+ /** 起飞点 */
+ private PointData takeOffPoint;
}
diff --git a/ard-work/src/main/java/com/ard/work/domain/dto/wayline/PointAction.java b/ard-work/src/main/java/com/ard/work/domain/dto/wayline/PointAction.java
index 4102dcb..49d6719 100644
--- a/ard-work/src/main/java/com/ard/work/domain/dto/wayline/PointAction.java
+++ b/ard-work/src/main/java/com/ard/work/domain/dto/wayline/PointAction.java
@@ -15,8 +15,33 @@
@AllArgsConstructor
@NoArgsConstructor
public class PointAction {
- private int type; // 类型:1-变焦 2-拍照 3-录像 4-停录 5-控制飞机机头偏航 6-控制云台俯仰 7-控制云台偏航 8-控制云台横滚 9-悬停 10-等距间隔拍照 11-等时间隔拍照 12-结束间隔拍照 13-单条喊话 14-开始循环喊话 15-结束循环喊话 16-对焦
- private float param; // 参数,根据类型不同含义不同
- private int waitTime; // 动作触发后等待时长(单位:秒)
- private String speakInfo; // 喊话内容[type=13和type=14时生效]
+
+ /** 类型:
+ * 1-变焦
+ * 2-拍照
+ * 3-录像
+ * 4-停录
+ * 5-控制飞机机头偏航
+ * 6-控制云台俯仰
+ * 7-控制云台偏航
+ * 8-控制云台横滚
+ * 9-悬停
+ * 10-等距间隔拍照
+ * 11-等时间隔拍照
+ * 12-结束间隔拍照
+ * 13-单条喊话
+ * 14-开始循环喊话
+ * 15-结束循环喊话
+ * 16-对焦
+ */
+ private int type;
+
+ /** 参数,根据类型不同含义不同 */
+ private float param;
+
+ /** 动作触发后等待时长(单位:秒) */
+ private int waitTime;
+
+ /** 喊话内容[type=13和type=14时生效] */
+ private String speakInfo;
}
diff --git a/ard-work/src/main/java/com/ard/work/domain/dto/wayline/WayLineUploadDTO.java b/ard-work/src/main/java/com/ard/work/domain/dto/wayline/WayLineUploadDTO.java
index 78e3788..9d9cdf6 100644
--- a/ard-work/src/main/java/com/ard/work/domain/dto/wayline/WayLineUploadDTO.java
+++ b/ard-work/src/main/java/com/ard/work/domain/dto/wayline/WayLineUploadDTO.java
@@ -16,6 +16,14 @@
@AllArgsConstructor
@NoArgsConstructor
public class WayLineUploadDTO {
+
+ /**
+ * 云盒SN编号
+ */
private String boxSn;
+
+ /**
+ * 航线数据
+ */
private PlanLineData wayLineData;
}
--
Gitblit v1.9.3