From 1609b77ba4715a7f17030d61d20c8e526861ca1a Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Fri, 23 Jan 2026 14:16:04 +0800
Subject: [PATCH] 1. 修改任务航线业务逻辑,优化写法。

---
 ard-route/src/main/java/com/ard/route/domain/route/ArdRoutePoint.java               |    6 
 ard-route/src/main/java/com/ard/route/util/InitializationUtils.java                 |    2 
 ard-route/src/main/java/com/ard/route/util/UavRouteReqUtils.java                    |  150 +++++++++++++++++++++
 ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java     |  225 +++++++-------------------------
 ard-route/src/main/java/com/ard/route/service/IArdRouteInfoService.java             |    1 
 ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteMissionController.java |   12 
 ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java  |    3 
 7 files changed, 211 insertions(+), 188 deletions(-)

diff --git a/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteMissionController.java b/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteMissionController.java
index 1b63da0..4a85722 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteMissionController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteMissionController.java
@@ -40,7 +40,7 @@
      * 查询航线任务列表
      */
     @ApiOperation("查询航线任务列表")
-    @PreAuthorize("@ss.hasPermi('route:mission:list')")
+    //@PreAuthorize("@ss.hasPermi('route:mission:list')")
     @GetMapping("/list")
     public TableDataInfo list(ArdRouteMission ardRouteMission) {
         startPage();
@@ -52,7 +52,7 @@
      * 获取航线任务详细信息
      */
     @ApiOperation("获取航线任务详细信息")
-    @PreAuthorize("@ss.hasPermi('route:mission:query')")
+    //@PreAuthorize("@ss.hasPermi('route:mission:query')")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") String id) {
         return success(ardRouteMissionService.selectArdRouteMissionById(id));
@@ -62,7 +62,7 @@
      * 新增航线任务
      */
     @ApiOperation("新增航线任务")
-    @PreAuthorize("@ss.hasPermi('route:mission:add')")
+    //@PreAuthorize("@ss.hasPermi('route:mission:add')")
     @Log(title = "航线任务", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody ArdRouteMission ardRouteMission) {
@@ -74,7 +74,7 @@
      * 修改航线任务
      */
     @ApiOperation("修改航线任务")
-    @PreAuthorize("@ss.hasPermi('route:mission:edit')")
+    //@PreAuthorize("@ss.hasPermi('route:mission:edit')")
     @Log(title = "航线任务", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody ArdRouteMission ardRouteMission) {
@@ -86,7 +86,7 @@
      * 删除航线任务
      */
     @ApiOperation("删除航线任务")
-    @PreAuthorize("@ss.hasPermi('route:mission:remove')")
+    //@PreAuthorize("@ss.hasPermi('route:mission:remove')")
     @Log(title = "航线任务", businessType = BusinessType.DELETE)
 	@DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable String[] ids) {
@@ -97,7 +97,7 @@
      * 修改航线任务状态
      */
     @ApiOperation("修改航线任务状态")
-    @PreAuthorize("@ss.hasPermi('route:mission:edit')")
+    //@PreAuthorize("@ss.hasPermi('route:mission:edit')")
     @Log(title = "航线任务", businessType = BusinessType.UPDATE)
     @PutMapping("updateStatus/{id}/{status}")
     public AjaxResult updateExecuteStatus(@PathVariable String id,
diff --git a/ard-route/src/main/java/com/ard/route/domain/route/ArdRoutePoint.java b/ard-route/src/main/java/com/ard/route/domain/route/ArdRoutePoint.java
index 2d8020e..65f65a4 100644
--- a/ard-route/src/main/java/com/ard/route/domain/route/ArdRoutePoint.java
+++ b/ard-route/src/main/java/com/ard/route/domain/route/ArdRoutePoint.java
@@ -21,12 +21,12 @@
     private Integer routePointIndex;
 
     /** 经度 */
-    private Long longitude;
+    private Double longitude;
 
     /** 纬度 */
-    private Long latitude;
+    private Double latitude;
 
     /** 高度 */
-    private Long height;
+    private Double height;
 
 }
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 65e911c..103ac9b 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
@@ -140,5 +140,4 @@
      */
     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 77cff7d..a8b9e9f 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,7 +1,6 @@
 package com.ard.route.service.impl;
 
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.List;
 
 import com.ard.common.exception.ControlException;
@@ -29,7 +28,6 @@
 import com.ard.route.service.UavRouteService;
 import com.ard.work.domain.cache.UavTelemetryDataCache;
 import com.ard.work.domain.cache.UavWaylineCache;
-import com.ard.work.domain.dto.state.PointData;
 import com.ard.work.domain.dto.telemetry.TelemetryData;
 import com.ard.work.domain.dto.wayline.*;
 import com.ard.work.service.ITyService;
@@ -45,6 +43,7 @@
 import static com.ard.route.enums.kml.DroneEnumValueEnums.M350_RTK;
 import static com.ard.route.util.InitializationUtils.divided_23;
 import static com.ard.route.util.ToolUtils.*;
+import static com.ard.route.util.UavRouteReqUtils.buildWayLineUploadDTO;
 import static com.ard.route.util.UavRouteReqUtils.fileConversionEntity;
 
 /**
@@ -97,11 +96,8 @@
 
         // 如果参考起飞点不为空,将每个航点高度进行加工。
         if (ardRouteInfo.getUavRouteReq().getTakeOffRefPoint() != null){
-
             double altitudeOffset = getDoublePoint(ardRouteInfo.getUavRouteReq().getTakeOffRefPoint(), "alt");
-
             for (RoutePointReq routePointReq : ardRouteInfo.getUavRouteReq().getRoutePointList()) {
-                // 调整每个航点高度
                 adjustRoutePointHeight(routePointReq, altitudeOffset);
             }
         }else {
@@ -115,6 +111,7 @@
         return ardRouteInfo;
     }
 
+    // 调整每个航点高度
     private void adjustRoutePointHeight(RoutePointReq routePointReq, double altitudeOffset) {
         routePointReq.setHeight(routePointReq.getHeight() + altitudeOffset);
     }
@@ -143,7 +140,8 @@
      */
     @Override
     public String insertArdRouteInfo(ArdRouteInfo ardRouteInfo) {
-        processRouteMission(ardRouteInfo);
+        checkRouteMissionStatus(ardRouteInfo,"1");
+        checkRouteMissionStatus(ardRouteInfo,"2");
         ardRouteInfo.setId(IdUtils.simpleUUID());
         ardRouteInfo.setCreateTime(DateUtils.getNowDate());
         ardRouteInfo.setUpdateTime(DateUtils.getNowDate()); // 修改时间,用于排序
@@ -159,16 +157,50 @@
         return kmzResult.getPath();
     }
 
-    // 航线任务数据加工校验
-    private void processRouteMission(ArdRouteInfo ardRouteInfo){
-        if ("3".equals(ardRouteInfo.getType())) {
-            ArdRouteMission ardRouteMission = ardRouteMissionMapper.selectArdRouteMissionById(ardRouteInfo.getMissionId());
-            if ("0".equals(ardRouteMission.getRouteId())) {
-                ardRouteMission.setRouteId(ardRouteInfo.getId());
-                ardRouteMissionMapper.updateArdRouteMission(ardRouteMission);
-            }else {
-                throw new RuntimeException("航线任务下已绑定航线,不可创建新航线信息!!!");
-            }
+    /**
+     * 航线任务数据加工校验
+     * 1.新建航线时,判断航线任务是否已完成
+     * 2.新建航线时,对航线任务数据进行加工
+     * 3.执行航线的时,修改航线任务表执行状态
+     */
+    private void checkRouteMissionStatus(ArdRouteInfo ardRouteInfo,String type){
+        ArdRouteMission mission = ardRouteMissionMapper.selectArdRouteMissionById(ardRouteInfo.getMissionId());
+        switch(type){
+            case "1":
+                validateForCreate(mission);
+                break;
+            case "2":
+                bindRoute(mission, ardRouteInfo);
+                break;
+            case "3":
+                executeMission(mission);
+                break;
+            default:
+                throw new RuntimeException("不支持的操作类型!!!");
+        }
+    }
+
+    private void validateForCreate(ArdRouteMission mission) {
+        if ("1".equals(mission.getExecuteStatus())){
+            throw new RuntimeException("航线任务已完成,无法创建航线!!!");
+        }
+    }
+
+    private void bindRoute(ArdRouteMission mission, ArdRouteInfo routeInfo) {
+        if (!"0".equals(mission.getRouteId())) {
+            throw new RuntimeException("航线任务下已绑定航线,不可创建新航线信息!!!");
+        }
+        mission.setRouteId(routeInfo.getId());
+        ardRouteMissionMapper.updateArdRouteMission(mission);
+    }
+
+    private void executeMission(ArdRouteMission mission) {
+        if ("0".equals(mission.getExecuteStatus())) {
+            mission.setExecuteStatus("1");
+            mission.setExecuteBy(getUsername());
+            mission.setExecuteTime(DateUtils.getNowDate());
+            mission.setUpdateTime(DateUtils.getNowDate());
+            ardRouteMissionMapper.updateArdRouteMission(mission);
         }
     }
 
@@ -443,25 +475,11 @@
         // 判断是否循环航线
         if (null != route && "0".equals(route.getIsLoop())){
             deleteArdRouteInfoById(id);
-            updateMissionStatus(route);
+            checkRouteMissionStatus(route,"3");
         }
         WayLineBeginDTO wayLineBeginDTO = new WayLineBeginDTO(boxSn);
         tyService.wayLineBegin(wayLineBeginDTO);
         return true;
-    }
-
-    // 执行航线的时候修改航线任务表执行状态
-    private void updateMissionStatus(ArdRouteInfo route){
-        if ("3".equals(route.getType())) {
-            ArdRouteMission ardRouteMission = ardRouteMissionMapper.selectArdRouteMissionById(route.getMissionId());
-            if ("0".equals(ardRouteMission.getExecuteStatus())) {
-                ardRouteMission.setExecuteStatus("1");
-                ardRouteMission.setExecuteBy(getUsername());
-                ardRouteMission.setExecuteTime(DateUtils.getNowDate());
-                ardRouteMission.setUpdateTime(DateUtils.getNowDate());
-                ardRouteMissionMapper.updateArdRouteMission(ardRouteMission);
-            }
-        }
     }
 
     /**
@@ -501,151 +519,6 @@
         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);
-        }
-        planLineData.setMaxSpeed(15);
-//        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.getLongitude();
-            if (longitude != null){
-                pointData.setLng(longitude.floatValue());
-            }
-            Double latitude = routePointReq.getLatitude();
-            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;
-
     }
 
     /**
diff --git a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java
index ea5facc..12cfac1 100644
--- a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java
+++ b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteMissionServiceImpl.java
@@ -109,6 +109,8 @@
      */
     @Override
     public int deleteArdRouteMissionByIds(String[] ids) {
+        // 删除航线任务航点
+        ardRoutePointMapper.deleteArdRoutePointByMissionId(ids[0]);
         return ardRouteMissionMapper.deleteArdRouteMissionByIds(ids);
     }
 
@@ -120,6 +122,7 @@
      */
     @Override
     public int deleteArdRouteMissionById(String id) {
+        ardRoutePointMapper.deleteArdRoutePointByMissionId(id);
         return ardRouteMissionMapper.deleteArdRouteMissionById(id);
     }
 
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 e114575..f4edd7b 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
@@ -281,8 +281,6 @@
 //        ardRoutePoints1.setLon(103.75851462);
 //        ardRoutePoints1.setSafeGohomeFlag(0);
 //        ardRoutePoints1.setSpeed(8);
-//
-//
 //    }
 
 //    private ArdRouteActions buildArdRouteActions(){
diff --git a/ard-route/src/main/java/com/ard/route/util/UavRouteReqUtils.java b/ard-route/src/main/java/com/ard/route/util/UavRouteReqUtils.java
index 36bdc5c..b9d620e 100644
--- a/ard-route/src/main/java/com/ard/route/util/UavRouteReqUtils.java
+++ b/ard-route/src/main/java/com/ard/route/util/UavRouteReqUtils.java
@@ -5,7 +5,12 @@
 import com.ard.route.domain.djuav.RoutePointReq;
 import com.ard.route.domain.djuav.UavRouteReq;
 import com.ard.route.domain.djuav.kml.*;
+import com.ard.route.domain.route.ArdRouteInfo;
 import com.ard.route.domain.vo.KmzInfoVo;
+import com.ard.work.domain.dto.state.PointData;
+import com.ard.work.domain.dto.wayline.PlanLineData;
+import com.ard.work.domain.dto.wayline.PointAction;
+import com.ard.work.domain.dto.wayline.WayLineUploadDTO;
 import org.apache.commons.compress.archivers.ArchiveEntry;
 import org.apache.commons.compress.archivers.ArchiveInputStream;
 import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream;
@@ -126,4 +131,149 @@
         return pointActionReq;
     }
 
+    /**
+     * ArdRouteInfo实体转换,WayLineUploadDTO
+     */
+    public static 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);
+        }
+        planLineData.setMaxSpeed(15);
+//        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;
+    }
+
+    public static 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.getLongitude();
+            if (longitude != null){
+                pointData.setLng(longitude.floatValue());
+            }
+            Double latitude = routePointReq.getLatitude();
+            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;
+    }
+
+    public static 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;
+    }
+
+    public static 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;
+
+    }
+
 }

--
Gitblit v1.9.3