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