From 1791d8d45a0f6de527a1e243b9ba806edc0753aa Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Thu, 06 Nov 2025 14:32:14 +0800
Subject: [PATCH] 1.修改文件业务,屏蔽前台接口开关。 2.文件夹业务修改为,分组管理业务。 3.航线(kmz)对象增加分组ID。 4.分组信息删除同时删除分组下航信信息。 5.新增航线(kmz)时,不选分组,将赋值默认分组信息。 6.增加初始化数据类。 7.生成kmz文件,增加默认值管理。

---
 ard-route/src/main/resources/mapper/ArdRouteInformationMapper.xml                      |   12 ++
 ard-route/src/main/java/com/ard/route/domain/route/ArdRouteFolder.java                 |    4 
 ard-route/src/main/java/com/ard/route/service/IArdRouteFolderService.java              |   30 ++--
 ard-route/src/main/java/com/ard/route/mapper/ArdRouteInformationMapper.java            |    8 +
 ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteFileController.java       |   26 ++--
 ard-route/src/main/java/com/ard/route/util/InitializationUtils.java                    |   62 ++++++++++
 ard-route/src/main/java/com/ard/route/domain/UavRouteReq.java                          |   32 ++++
 ard-route/src/main/java/com/ard/route/mapper/ArdRouteFolderMapper.java                 |   28 ++--
 ard-route/src/main/java/com/ard/route/domain/route/ArdRouteInformation.java            |    3 
 ard-route/src/main/java/com/ard/route/service/impl/UavRouteServiceImpl.java            |    5 
 ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteFolderController.java     |   42 +++---
 ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInformationServiceImpl.java |   16 ++
 ard-route/src/main/java/com/ard/route/service/impl/ArdRouteFolderServiceImpl.java      |   64 +++++-----
 ard-route/src/main/java/com/ard/route/domain/RoutePointReq.java                        |    9 +
 14 files changed, 236 insertions(+), 105 deletions(-)

diff --git a/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteFileController.java b/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteFileController.java
index 3b5ee50..d02d79c 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteFileController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteFileController.java
@@ -25,7 +25,7 @@
  * @author xia
  * @date 2025-10-18
  */
-@Api(tags = "文件")
+//@Api(tags = "文件")
 @RestController
 @RequestMapping("/route/file")
 public class ArdRouteFileController extends BaseController {
@@ -36,8 +36,8 @@
     /**
      * 查询文件列表
      */
-    @ApiOperation("查询文件列表")
-    @PreAuthorize("@ss.hasPermi('route:file:list')")
+    //@ApiOperation("查询文件列表")
+    //@PreAuthorize("@ss.hasPermi('route:file:list')")
     @GetMapping("/list")
     public TableDataInfo list(ArdRouteFile ardRouteFile) {
         startPage();
@@ -48,8 +48,8 @@
     /**
      * 导出文件列表
      */
-    @ApiOperation("导出文件列表")
-    @PreAuthorize("@ss.hasPermi('route:file:export')")
+    //@ApiOperation("导出文件列表")
+    //@PreAuthorize("@ss.hasPermi('route:file:export')")
     @Log(title = "文件", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, ArdRouteFile ardRouteFile) {
@@ -61,8 +61,8 @@
     /**
      * 获取文件详细信息
      */
-    @ApiOperation("获取文件详细信息")
-    @PreAuthorize("@ss.hasPermi('route:file:query')")
+    //@ApiOperation("获取文件详细信息")
+    //@PreAuthorize("@ss.hasPermi('route:file:query')")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") String id) {
         return success(ardRouteFileService.selectArdRouteFileById(id));
@@ -71,8 +71,8 @@
     /**
      * 新增文件
      */
-    @ApiOperation("新增文件")
-    @PreAuthorize("@ss.hasPermi('route:file:add')")
+    //@ApiOperation("新增文件")
+    //@PreAuthorize("@ss.hasPermi('route:file:add')")
     @Log(title = "文件", businessType = BusinessType.INSERT)
     //@PostMapping("/addFile/{folderId}")
     @PostMapping("/addFile")
@@ -88,8 +88,8 @@
     /**
      * 修改文件
      */
-    @ApiOperation("修改文件")
-    @PreAuthorize("@ss.hasPermi('route:file:edit')")
+    //@ApiOperation("修改文件")
+    //@PreAuthorize("@ss.hasPermi('route:file:edit')")
     @Log(title = "文件", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody ArdRouteFile ardRouteFile) {
@@ -100,8 +100,8 @@
     /**
      * 删除文件
      */
-    @ApiOperation("删除文件")
-    @PreAuthorize("@ss.hasPermi('route:file:remove')")
+    //@ApiOperation("删除文件")
+    //@PreAuthorize("@ss.hasPermi('route:file:remove')")
     @Log(title = "文件", businessType = BusinessType.DELETE)
 	@DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable String[] ids) {
diff --git a/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteFolderController.java b/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteFolderController.java
index c405cd5..08aa466 100644
--- a/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteFolderController.java
+++ b/ard-admin/src/main/java/com/ard/web/controller/route/ArdRouteFolderController.java
@@ -26,12 +26,12 @@
 import com.ard.route.service.IArdRouteFolderService;
 
 /**
- * 文件夹Controller
+ * 分组Controller
  * 
  * @author xia
  * @date 2025-10-18
  */
-@Api(tags = "文件夹")
+@Api(tags = "分组管理")
 @RestController
 @RequestMapping("/route/folder")
 public class ArdRouteFolderController extends BaseController {
@@ -40,9 +40,9 @@
     private IArdRouteFolderService ardRouteFolderService;
 
     /**
-     * 查询文件夹列表
+     * 查询分组列表
      */
-    @ApiOperation("查询文件夹列表")
+    @ApiOperation("查询分组列表")
     //@PreAuthorize("@ss.hasPermi('route:folder:list')")
     @GetMapping("/list")
     public TableDataInfo list(ArdRouteFolder ardRouteFolder) {
@@ -52,22 +52,22 @@
     }
 
     /**
-     * 导出文件夹列表
+     * 导出分组列表
      */
-    @ApiOperation("导出文件夹列表")
+    @ApiOperation("导出分组列表")
     //@PreAuthorize("@ss.hasPermi('route:folder:export')")
-    @Log(title = "文件夹", businessType = BusinessType.EXPORT)
+    @Log(title = "分组", businessType = BusinessType.EXPORT)
     @PostMapping("/export")
     public void export(HttpServletResponse response, ArdRouteFolder ardRouteFolder) {
         List<ArdRouteFolder> list = ardRouteFolderService.selectArdRouteFolderList(ardRouteFolder);
         ExcelUtil<ArdRouteFolder> util = new ExcelUtil<ArdRouteFolder>(ArdRouteFolder.class);
-        util.exportExcel(response, list, "文件夹数据");
+        util.exportExcel(response, list, "分组数据");
     }
 
     /**
-     * 获取文件夹详细信息
+     * 获取分组详细信息
      */
-    @ApiOperation("获取文件夹详细信息")
+    @ApiOperation("获取分组详细信息")
     //@PreAuthorize("@ss.hasPermi('route:folder:query')")
     @GetMapping(value = "/{id}")
     public AjaxResult getInfo(@PathVariable("id") String id) {
@@ -75,11 +75,11 @@
     }
 
     /**
-     * 新增文件夹
+     * 新增分组
      */
-    @ApiOperation("新增文件夹")
+    @ApiOperation("新增分组")
     //@PreAuthorize("@ss.hasPermi('route:folder:add')")
-    @Log(title = "文件夹", businessType = BusinessType.INSERT)
+    @Log(title = "分组", businessType = BusinessType.INSERT)
     @PostMapping
     public AjaxResult add(@RequestBody ArdRouteFolder ardRouteFolder) {
         ardRouteFolder.setCreateBy(getUsername());
@@ -87,11 +87,11 @@
     }
 
     /**
-     * 修改文件夹
+     * 修改分组
      */
-    @ApiOperation("修改文件夹")
+    @ApiOperation("修改分组")
     //@PreAuthorize("@ss.hasPermi('route:folder:edit')")
-    @Log(title = "文件夹", businessType = BusinessType.UPDATE)
+    @Log(title = "分组", businessType = BusinessType.UPDATE)
     @PutMapping
     public AjaxResult edit(@RequestBody ArdRouteFolder ardRouteFolder) {
         ardRouteFolder.setUpdateBy(getUsername());
@@ -99,19 +99,19 @@
     }
 
     /**
-     * 删除文件夹
+     * 删除分组
      */
-    @ApiOperation("删除文件夹")
+    @ApiOperation("删除分组")
     //@PreAuthorize("@ss.hasPermi('route:folder:remove')")
-    @Log(title = "文件夹", businessType = BusinessType.DELETE)
+    @Log(title = "分组", businessType = BusinessType.DELETE)
 	@DeleteMapping("/{ids}")
     public AjaxResult remove(@PathVariable String[] ids) {
         try {
             Map<String, Integer> result = ardRouteFolderService.deleteArdRouteFolderByIds(ids);
             if (!result.isEmpty()) {
-                return AjaxResult.success("删除成功.文件夹删除" + result.get("folder") + "文件删除" + result.get("file"));
+                return AjaxResult.success("删除成功.分组删除" + result.get("folder") + "文件删除" + result.get("file"));
             } else {
-                return AjaxResult.success("没有删除文件夹信息。");
+                return AjaxResult.success("没有删除分组信息。");
             }
         } catch(Exception e){
             return AjaxResult.error(e.getMessage());
diff --git a/ard-route/src/main/java/com/ard/route/domain/RoutePointReq.java b/ard-route/src/main/java/com/ard/route/domain/RoutePointReq.java
index f96e7b7..eff648d 100644
--- a/ard-route/src/main/java/com/ard/route/domain/RoutePointReq.java
+++ b/ard-route/src/main/java/com/ard/route/domain/RoutePointReq.java
@@ -5,6 +5,9 @@
 import java.io.Serializable;
 import java.util.List;
 
+/**
+ * 航点列表实体类
+ */
 @Data
 public class RoutePointReq implements Serializable {
 
@@ -36,17 +39,17 @@
     /**
      * 航点偏航角
      */
-    private WaypointHeadingReq waypointHeadingReq;
+    private WaypointHeadingReq waypointHeadingReq;  // 用不上
 
     /**
      * 航点转弯模式
      */
-    private WaypointTurnReq waypointTurnReq;
+    private WaypointTurnReq waypointTurnReq;    // 用不上
 
     /**
      * 航点云台俯仰角
      */
-    private Double gimbalPitchAngle;
+    private Double gimbalPitchAngle;    // 用不上
 
     /**
      * 航点动作列表
diff --git a/ard-route/src/main/java/com/ard/route/domain/UavRouteReq.java b/ard-route/src/main/java/com/ard/route/domain/UavRouteReq.java
index 298086b..04addc0 100644
--- a/ard-route/src/main/java/com/ard/route/domain/UavRouteReq.java
+++ b/ard-route/src/main/java/com/ard/route/domain/UavRouteReq.java
@@ -83,12 +83,12 @@
     /**
      * 全局偏航角模式
      */
-    private WaypointHeadingReq waypointHeadingReq;
+    private WaypointHeadingReq waypointHeadingReq;        // 用不上
 
     /**
      * 全局航点转弯模式
      */
-    private WaypointTurnReq waypointTurnReq;
+    private WaypointTurnReq waypointTurnReq;        // 用不上
 
     /**
      * 云台俯仰角控制模式
@@ -110,11 +110,37 @@
     /**
      * 建图航拍、倾斜摄影、航带飞行模板参数
      */
-    private MappingTypeReq mappingTypeReq;
+    private MappingTypeReq mappingTypeReq;        // 用不上
 
     /**
      * 航线初始动作列表
      */
     private List<PointActionReq> startActionList;
 
+    /**
+     * 全局航线速度
+     */
+    private Double globalTransitionalSpeed;
+
+    /**
+     * 飞向首航点模式
+     * safely:安全模式
+     * pointToPoint:倾斜飞行模式
+     */
+    private String flyToWaylineMode;
+
+    /**
+     * 航点类型
+     * coordinateTurn:协调转弯,不过点,提前转弯
+     * toPointAndStopWithDiscontinuityCurvature:直线飞行,飞行器到点停
+     * toPointAndStopWithContinuityCurvature:曲线飞行,飞行器到点停
+     * toPointAndPassWithContinuityCurvature:曲线飞行,飞行器过点不停
+     */
+    private String globalWaypointTurnMode;
+
+    /**
+     * 飞行器偏航角模式
+     */
+    private String mappingHeadingMode;
+
 }
diff --git a/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteFolder.java b/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteFolder.java
index 79c65f9..8ec7f54 100644
--- a/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteFolder.java
+++ b/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteFolder.java
@@ -7,7 +7,7 @@
 import lombok.Data;
 
 /**
- * 文件夹对象 ard_route_folder
+ * 分组对象 ard_route_folder
  * 
  * @author xia
  * @date 2025-10-18
@@ -28,6 +28,6 @@
     @Excel(name = "序列号")
     private Integer serialNumber;
 
-    private List<ArdRouteFile> ardRouteFileLs;
+    private List<ArdRouteInformation> ardRouteInformationLs;
 
 }
diff --git a/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteInformation.java b/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteInformation.java
index 38c36d4..b0d655f 100644
--- a/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteInformation.java
+++ b/ard-route/src/main/java/com/ard/route/domain/route/ArdRouteInformation.java
@@ -39,6 +39,9 @@
     @Excel(name = "Minio文件路径")
     private String minioUpPath;
 
+    /** 分组ID */
+    private String folderId;
+
     /** 飞行器 */
     private String aircraft;
 
diff --git a/ard-route/src/main/java/com/ard/route/mapper/ArdRouteFolderMapper.java b/ard-route/src/main/java/com/ard/route/mapper/ArdRouteFolderMapper.java
index 95caa00..faf8960 100644
--- a/ard-route/src/main/java/com/ard/route/mapper/ArdRouteFolderMapper.java
+++ b/ard-route/src/main/java/com/ard/route/mapper/ArdRouteFolderMapper.java
@@ -4,7 +4,7 @@
 import com.ard.route.domain.route.ArdRouteFolder;
 
 /**
- * 文件夹Mapper接口
+ * 分组Mapper接口
  * 
  * @author xia
  * @date 2025-10-18
@@ -12,47 +12,47 @@
 public interface ArdRouteFolderMapper {
 
     /**
-     * 查询文件夹
+     * 查询分组
      * 
-     * @param id 文件夹主键
-     * @return 文件夹
+     * @param id 分组主键
+     * @return 分组
      */
     public ArdRouteFolder selectArdRouteFolderById(String id);
 
     /**
-     * 查询文件夹列表
+     * 查询分组列表
      * 
-     * @param ardRouteFolder 文件夹
-     * @return 文件夹集合
+     * @param ardRouteFolder 分组
+     * @return 分组集合
      */
     public List<ArdRouteFolder> selectArdRouteFolderList(ArdRouteFolder ardRouteFolder);
 
     /**
-     * 新增文件夹
+     * 新增分组
      * 
-     * @param ardRouteFolder 文件夹
+     * @param ardRouteFolder 分组
      * @return 结果
      */
     public int insertArdRouteFolder(ArdRouteFolder ardRouteFolder);
 
     /**
-     * 修改文件夹
+     * 修改分组
      * 
-     * @param ardRouteFolder 文件夹
+     * @param ardRouteFolder 分组
      * @return 结果
      */
     public int updateArdRouteFolder(ArdRouteFolder ardRouteFolder);
 
     /**
-     * 删除文件夹
+     * 删除分组
      * 
-     * @param id 文件夹主键
+     * @param id 分组主键
      * @return 结果
      */
     public int deleteArdRouteFolderById(String id);
 
     /**
-     * 批量删除文件夹
+     * 批量删除分组
      * 
      * @param ids 需要删除的数据主键集合
      * @return 结果
diff --git a/ard-route/src/main/java/com/ard/route/mapper/ArdRouteInformationMapper.java b/ard-route/src/main/java/com/ard/route/mapper/ArdRouteInformationMapper.java
index 29a15b4..cb2652c 100644
--- a/ard-route/src/main/java/com/ard/route/mapper/ArdRouteInformationMapper.java
+++ b/ard-route/src/main/java/com/ard/route/mapper/ArdRouteInformationMapper.java
@@ -68,4 +68,12 @@
      */
     public ArdRouteInformation selectArdRouteInformationByName(String fileName);
 
+    /**
+     * 根据所属分组ID,删除信息
+     *
+     * @param folderIds 所属文件夹ID
+     * @return 结果
+     */
+    public int deleteRouteInformationByFolderIds(String[] folderIds);
+
 }
diff --git a/ard-route/src/main/java/com/ard/route/service/IArdRouteFolderService.java b/ard-route/src/main/java/com/ard/route/service/IArdRouteFolderService.java
index 126d96b..648bd74 100644
--- a/ard-route/src/main/java/com/ard/route/service/IArdRouteFolderService.java
+++ b/ard-route/src/main/java/com/ard/route/service/IArdRouteFolderService.java
@@ -6,7 +6,7 @@
 import com.ard.route.domain.route.ArdRouteFolder;
 
 /**
- * 文件夹Service接口
+ * 分组Service接口
  * 
  * @author xia
  * @date 2025-10-18
@@ -14,49 +14,49 @@
 public interface IArdRouteFolderService {
 
     /**
-     * 查询文件夹
+     * 查询分组
      * 
-     * @param id 文件夹主键
-     * @return 文件夹
+     * @param id 分组主键
+     * @return 分组
      */
     public ArdRouteFolder selectArdRouteFolderById(String id);
 
     /**
-     * 查询文件夹列表
+     * 查询分组列表
      * 
-     * @param ardRouteFolder 文件夹
-     * @return 文件夹集合
+     * @param ardRouteFolder 分组
+     * @return 分组集合
      */
     public List<ArdRouteFolder> selectArdRouteFolderList(ArdRouteFolder ardRouteFolder);
 
     /**
-     * 新增文件夹
+     * 新增分组
      * 
-     * @param ardRouteFolder 文件夹
+     * @param ardRouteFolder 分组
      * @return 结果
      */
     public int insertArdRouteFolder(ArdRouteFolder ardRouteFolder);
 
     /**
-     * 修改文件夹
+     * 修改分组
      * 
-     * @param ardRouteFolder 文件夹
+     * @param ardRouteFolder 分组
      * @return 结果
      */
     public int updateArdRouteFolder(ArdRouteFolder ardRouteFolder);
 
     /**
-     * 批量删除文件夹
+     * 批量删除分组
      * 
-     * @param ids 需要删除的文件夹主键集合
+     * @param ids 需要删除的分组主键集合
      * @return 结果
      */
     public Map<String, Integer> deleteArdRouteFolderByIds(String[] ids);
 
     /**
-     * 删除文件夹信息
+     * 删除分组信息
      * 
-     * @param id 文件夹主键
+     * @param id 分组主键
      * @return 结果
      */
     public int deleteArdRouteFolderById(String id);
diff --git a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteFolderServiceImpl.java b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteFolderServiceImpl.java
index 1625807..b195861 100644
--- a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteFolderServiceImpl.java
+++ b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteFolderServiceImpl.java
@@ -9,7 +9,9 @@
 import com.ard.common.utils.DateUtils;
 import com.ard.common.utils.uuid.IdUtils;
 import com.ard.route.domain.route.ArdRouteFile;
+import com.ard.route.domain.route.ArdRouteInformation;
 import com.ard.route.mapper.ArdRouteFileMapper;
+import com.ard.route.mapper.ArdRouteInformationMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ard.route.mapper.ArdRouteFolderMapper;
@@ -30,33 +32,35 @@
     private ArdRouteFolderMapper ardRouteFolderMapper;
 
     @Autowired
-    private ArdRouteFileMapper ardRouteFileMapper;
+    private ArdRouteInformationMapper ardRouteInformationMapper;
 
     /**
-     * 查询文件夹
+     * 查询分组
      * 
-     * @param id 文件夹主键
-     * @return 文件夹
+     * @param id 分组主键
+     * @return 分组
      */
     @Override
     public ArdRouteFolder selectArdRouteFolderById(String id) {
         ArdRouteFolder ardRouteFolder = ardRouteFolderMapper.selectArdRouteFolderById(id);
-        ardRouteFolder.setArdRouteFileLs(getArdRouteFiles(id));
+        ArdRouteInformation ardRouteInformation = new ArdRouteInformation();
+        ardRouteInformation.setFolderId(id);
+        ardRouteFolder.setArdRouteInformationLs(ardRouteInformationMapper.selectArdRouteInformationList(ardRouteInformation));
         return ardRouteFolder;
     }
 
     /**
-     * 查询文件夹列表
+     * 查询分组列表
      * 
-     * @param ardRouteFolder 文件夹
-     * @return 文件夹
+     * @param ardRouteFolder 分组
+     * @return 分组
      */
     @Override
     @DataScope(deptAlias = "d", userAlias = "u")
     public List<ArdRouteFolder> selectArdRouteFolderList(ArdRouteFolder ardRouteFolder) {
         List<ArdRouteFolder> list = ardRouteFolderMapper.selectArdRouteFolderList(ardRouteFolder);
         for (ArdRouteFolder routeFolder : list) {
-            routeFolder.setArdRouteFileLs(getArdRouteFiles(routeFolder.getId()));
+            routeFolder.setArdRouteInformationLs(getArdRouteInformation(routeFolder.getId()));
         }
         return list;
     }
@@ -64,16 +68,16 @@
     /**
      * 查询文件列表
      */
-    private List<ArdRouteFile> getArdRouteFiles(String folderId) {
-        ArdRouteFile ardRouteFile = new ArdRouteFile();
-        ardRouteFile.setFolderId(folderId);
-        return ardRouteFileMapper.selectArdRouteFileList(ardRouteFile);
+    private List<ArdRouteInformation> getArdRouteInformation(String folderId) {
+        ArdRouteInformation ardRouteInformation = new ArdRouteInformation();
+        ardRouteInformation.setFolderId(folderId);
+        return ardRouteInformationMapper.selectArdRouteInformationList(ardRouteInformation);
     }
 
     /**
-     * 新增文件夹
+     * 新增分组
      * 
-     * @param ardRouteFolder 文件夹
+     * @param ardRouteFolder 分组
      * @return 结果
      */
     @Override
@@ -87,46 +91,46 @@
     }
 
     /**
-     * 修改文件夹
+     * 修改分组
      * 
-     * @param ardRouteFolder 文件夹
+     * @param ardRouteFolder 分组
      * @return 结果
      */
     @Override
     public int updateArdRouteFolder(ArdRouteFolder ardRouteFolder) {
-        // 不能修改默认文件夹
+        // 不能修改默认分组
         if ("0".equals(ardRouteFolder.getId())) {
-            throw new RuntimeException("不能修改默认文件夹");
+            throw new RuntimeException("不能修改默认分组");
         }
         ardRouteFolder.setUpdateTime(DateUtils.getNowDate());
         return ardRouteFolderMapper.updateArdRouteFolder(ardRouteFolder);
     }
 
     /**
-     * 批量删除文件夹
+     * 批量删除分组
      * 
-     * @param ids 需要删除的文件夹主键
+     * @param ids 需要删除的分组主键
      * @return 结果
      */
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Map<String, Integer> deleteArdRouteFolderByIds(String[] ids) {
-        // 检查是否包含默认文件夹,不能删除默认文件夹
+        // 检查是否包含默认分组,不能删除默认分组
         for (String id : ids) {
             if ("0".equals(id)) {
-                throw new RuntimeException("不能删除默认文件夹");
+                throw new RuntimeException("不能删除默认分组");
             }
         }
 
         Map<String, Integer> result = new HashMap<>();
         try {
-            // 先删除文件
-            int fileCount = ardRouteFileMapper.deleteRouteFileByFolderIds(ids);
-            result.put("file", fileCount);
+            // 先删除航线信息
+            int informationCount = ardRouteInformationMapper.deleteRouteInformationByFolderIds(ids);
+            result.put("informationCount", informationCount);
 
-            // 再删除文件夹
+            // 再删除分组
             int folderCount = ardRouteFolderMapper.deleteArdRouteFolderByIds(ids);
-            result.put("folder", folderCount);
+            result.put("folderCount", folderCount);
 
             return result;
         } catch (Exception e) {
@@ -135,9 +139,9 @@
     }
 
     /**
-     * 删除文件夹信息
+     * 删除分组信息
      * 
-     * @param id 文件夹主键
+     * @param id 分组主键
      * @return 结果
      */
     @Override
diff --git a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInformationServiceImpl.java b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInformationServiceImpl.java
index d7b9899..36dd8dd 100644
--- a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInformationServiceImpl.java
+++ b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInformationServiceImpl.java
@@ -70,9 +70,8 @@
     public String insertArdRouteInformation(ArdRouteInformation ardRouteInformation) {
         ardRouteInformation.setId(IdUtils.simpleUUID());
         ardRouteInformation.setCreateTime(DateUtils.getNowDate());
-
-        if (ardRouteInformation.getUavRouteReq() != null){
-
+        if (ardRouteInformation.getFolderId() == null){
+            ardRouteInformation.setFolderId("0");
         }
         KmzResultVo kmzResult = routeService.buildKmz(ardRouteInformation.getUavRouteReq(), ardRouteInformation.getFileName());
         // 将KmzResult中的信息设置到ardRouteInformation中
@@ -139,7 +138,7 @@
             information.setMinioUpPath(extractFilePath(url));
             information.setUpPath(url);
             information.setUpFileSize((double) file.getSize());
-            insertArdRouteInformation(information);
+            insertRouteInformation(information);
             return MinioUploadResult.builder()
                     .url(url)
                     .newFileName(FileUtils.getName(url))
@@ -161,4 +160,13 @@
         return ardRouteInformationMapper.selectArdRouteInformationByName(name);
     }
 
+    /**
+     * 数据新增航线信息
+     */
+    private void insertRouteInformation(ArdRouteInformation ardRouteInformation){
+        ardRouteInformation.setId(IdUtils.simpleUUID());
+        ardRouteInformation.setCreateTime(DateUtils.getNowDate());
+        ardRouteInformationMapper.insertArdRouteInformation(ardRouteInformation);
+    }
+
 }
diff --git a/ard-route/src/main/java/com/ard/route/service/impl/UavRouteServiceImpl.java b/ard-route/src/main/java/com/ard/route/service/impl/UavRouteServiceImpl.java
index 994a90e..01c9c06 100644
--- a/ard-route/src/main/java/com/ard/route/service/impl/UavRouteServiceImpl.java
+++ b/ard-route/src/main/java/com/ard/route/service/impl/UavRouteServiceImpl.java
@@ -17,6 +17,7 @@
 import com.ard.route.enums.kml.ExitOnRCLostEnums;
 import com.ard.route.service.IArdRouteInformationService;
 import com.ard.route.util.FileUtils;
+import com.ard.route.util.InitializationUtils;
 import com.ard.route.util.RouteFileUtils;
 import com.ard.route.service.UavRouteService;
 import com.thoughtworks.xstream.XStream;
@@ -53,6 +54,8 @@
 
     @Resource
     private IArdRouteInformationService ardRouteInformationService;
+
+    InitializationUtils init = new InitializationUtils();
 
     /**
      * 编辑kmz文件
@@ -139,6 +142,8 @@
      */
     @Override
     public KmzResultVo buildKmz(UavRouteReq uavRouteReq, String fileName) {
+        // 赋值默认参数
+        init.initialization(uavRouteReq);
         KmlParams kmlParams = new KmlParams();
         BeanUtils.copyProperties(uavRouteReq, kmlParams);
         kmlParams.setRoutePointList(BeanUtil.copyToList(uavRouteReq.getRoutePointList(), RoutePointInfo.class));
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
new file mode 100644
index 0000000..090cc8f
--- /dev/null
+++ b/ard-route/src/main/java/com/ard/route/util/InitializationUtils.java
@@ -0,0 +1,62 @@
+package com.ard.route.util;
+
+import com.ard.route.domain.*;
+
+/**
+ * 初始化数据
+ * 测试数据
+ */
+public class InitializationUtils {
+
+    private static final Double CHANSI_H20 = 23.76237623;
+    private static final String WAYPOINT_TURN_MODE_DEFAULT = "toPointAndStopWithDiscontinuityCurvature";
+
+    /**
+     * 初始化KMZ 默认数据
+     */
+    public UavRouteReq initialization(UavRouteReq uavRouteReq){
+        uavRouteReq.setTemplateType("waypoint");
+        // 起始点默认航线第一个点
+        uavRouteReq.setTakeOffRefPoint(
+                uavRouteReq.getRoutePointList().get(0).getLatitude() + "," +
+                        uavRouteReq.getRoutePointList().get(0).getLongitude() + "," + "0");
+        //uavRouteReq.setDroneType(89);
+        uavRouteReq.setSubDroneType(0);
+        uavRouteReq.setPayloadType(43);
+        uavRouteReq.setPayloadPosition(0);
+        uavRouteReq.setImageFormat("wide");
+        uavRouteReq.setFinishAction("goHome");
+        uavRouteReq.setExitOnRcLostAction("goBack");
+        //uavRouteReq.setGlobalHeight(100.0);
+        //uavRouteReq.setAutoFlightSpeed(5.0);
+        WaypointHeadingReq waypointHeadingReq = new WaypointHeadingReq();
+        waypointHeadingReq.setWaypointHeadingMode("followWayline");
+        uavRouteReq.setWaypointHeadingReq(waypointHeadingReq);
+        WaypointTurnReq waypointTurnReq = new WaypointTurnReq();
+        if (uavRouteReq.getGlobalWaypointTurnMode() != null){
+            waypointTurnReq.setWaypointTurnMode(uavRouteReq.getGlobalWaypointTurnMode());
+        }else {
+            waypointTurnReq.setWaypointTurnMode("toPointAndStopWithDiscontinuityCurvature");
+        }
+        uavRouteReq.setWaypointTurnReq(waypointTurnReq);
+        uavRouteReq.setGimbalPitchMode("usePointSetting");
+        //buildZoom(uavRouteReq);
+        return uavRouteReq;
+    }
+
+    /**
+     * 变焦动作加工
+     */
+    private UavRouteReq buildZoom(UavRouteReq uavRouteReq){
+        for (RoutePointReq routePointReq : uavRouteReq.getRoutePointList()) {
+            for (ActionGroupReq actionGroupReq : routePointReq.getActionGroupList()) {
+                for (PointActionReq action : actionGroupReq.getActions()) {
+                    if (action.getZoom() != null){
+                        action.setZoom(action.getZoom() * CHANSI_H20);
+                    }
+                }
+            }
+        }
+        return uavRouteReq;
+    }
+}
diff --git a/ard-route/src/main/resources/mapper/ArdRouteInformationMapper.xml b/ard-route/src/main/resources/mapper/ArdRouteInformationMapper.xml
index b3dcf38..767a940 100644
--- a/ard-route/src/main/resources/mapper/ArdRouteInformationMapper.xml
+++ b/ard-route/src/main/resources/mapper/ArdRouteInformationMapper.xml
@@ -11,6 +11,7 @@
         <result property="upPath"    column="up_path"    />
         <result property="minioUpPath"    column="minio_up_path"    />
         <result property="upFileSize"    column="up_file_size"    />
+        <result property="folderId"    column="folder_id"    />
         <result property="aircraft"    column="aircraft"    />
         <result property="aircraftModel"    column="aircraft_model"    />
         <result property="createBy"    column="create_by"    />
@@ -26,6 +27,7 @@
                up_path,
                minio_up_path,
                up_file_size,
+               folder_id,
                aircraft,
                aircraft_model,
                create_by,
@@ -58,6 +60,7 @@
             <if test="upPath != null">up_path,</if>
             <if test="minioUpPath != null">minio_up_path,</if>
             <if test="upFileSize != null">up_file_size,</if>
+            <if test="folderId != null">folder_id,</if>
             <if test="aircraft != null">aircraft,</if>
             <if test="aircraftModel != null">aircraft_model,</if>
             <if test="createBy != null">create_by,</if>
@@ -72,6 +75,7 @@
             <if test="upPath != null">#{upPath},</if>
             <if test="minioUpPath != null">#{minioUpPath},</if>
             <if test="upFileSize != null">#{upFileSize},</if>
+            <if test="folderId != null">#{folderId},</if>
             <if test="aircraft != null">#{aircraft},</if>
             <if test="aircraftModel != null">#{aircraftModel},</if>
             <if test="createBy != null">#{createBy},</if>
@@ -89,6 +93,7 @@
             <if test="upPath != null">up_path = #{upPath},</if>
             <if test="minioUpPath != null">minio_up_path = #{minioUpPath},</if>
             <if test="upFileSize != null">up_file_size = #{upFileSize},</if>
+            <if test="folderId != null">folder_id = #{folderId},</if>
             <if test="aircraft != null">aircraft = #{aircraft},</if>
             <if test="aircraftModel != null">aircraft_model = #{aircraftModel},</if>
             <if test="createBy != null">create_by = #{createBy},</if>
@@ -115,4 +120,11 @@
         where file_name = #{fileName}
     </select>
 
+    <delete id="deleteRouteInformationByFolderIds" parameterType="String">
+        delete from ard_route_information where folder_id in
+        <foreach item="folderId" collection="array" open="(" separator="," close=")">
+            #{folderId}
+        </foreach>
+    </delete>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3