From 1e2f717393e4053a3b8de11cbf67cd98a8c77ec1 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Sat, 15 Nov 2025 15:34:32 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java |   56 +++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 35 insertions(+), 21 deletions(-)

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 0cc3de2..ab18141 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
@@ -13,6 +13,7 @@
 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.CoordinatePointReq;
 import com.ard.route.domain.UavRouteReq;
 import com.ard.route.domain.route.ArdRouteInfo;
 import com.ard.route.domain.vo.KmzResultVo;
@@ -86,8 +87,8 @@
     public String insertArdRouteInfo(ArdRouteInfo ardRouteInfo) {
         ardRouteInfo.setId(IdUtils.simpleUUID());
         ardRouteInfo.setCreateTime(DateUtils.getNowDate());
-        if (ardRouteInfo.getGroupingId() == null){
-            ardRouteInfo.setGroupingId("0");
+        if (ardRouteInfo.getGroupId() == null){
+            ardRouteInfo.setGroupId("0");
         }
         // 航线数据
         byte[] routeData;
@@ -96,11 +97,13 @@
         } catch (IOException e) {
             throw new RuntimeException(e);
         }
+        ardRouteInfo.getUavRouteReq().setDroneType(subStringDroneType(ardRouteInfo.getAircraft()));
         ardRouteInfo.setRouteData(routeData);
         KmzResultVo kmzResult = routeService.buildKmz(ardRouteInfo.getUavRouteReq(), ardRouteInfo.getName());
-        ardRouteInfo.setUpPath(kmzResult.getUpPath());
+        ardRouteInfo.setPath(kmzResult.getPath());
+        ardRouteInfo.setReadOnly("0");
         ardRouteInfoMapper.insertArdRouteInfo(ardRouteInfo);
-        return kmzResult.getUpPath();
+        return kmzResult.getPath();
     }
 
     /**
@@ -112,18 +115,21 @@
     @Override
     public int updateArdRouteInfo(ArdRouteInfo ardRouteInfo) {
         ardRouteInfo.setUpdateTime(DateUtils.getNowDate());
-        KmzResultVo kmzResult = new KmzResultVo();
-        // 获取源文件名字
-        ArdRouteInfo route = ardRouteInfoMapper.selectArdRouteInfoById(ardRouteInfo.getId());
-        if (route.getName().equals(ardRouteInfo.getName())) {
-            kmzResult = routeService.updateKmz(ardRouteInfo.getUavRouteReq(), ardRouteInfo.getName());
-        }else {
-            kmzResult = routeService.updateKmzNew(ardRouteInfo.getUavRouteReq(), route.getName(), ardRouteInfo.getName());
+        // 判断生成kmz文件实体类是否为空,为空就修改航信信息,不修改行点信息。
+        if (ardRouteInfo.getUavRouteReq() != null) {
+            KmzResultVo kmzResult;
+            // 获取源文件名字
+            ArdRouteInfo route = ardRouteInfoMapper.selectArdRouteInfoById(ardRouteInfo.getId());
+            if (route.getName().equals(ardRouteInfo.getName())) {
+                kmzResult = routeService.updateKmz(ardRouteInfo.getUavRouteReq(), ardRouteInfo.getName());
+            }else {
+                kmzResult = routeService.updateKmzNew(ardRouteInfo.getUavRouteReq(), route.getName(), ardRouteInfo.getName());
+            }
+            if ("更新航线kmz文件失败".equals(kmzResult.getData())) {
+                return 0;
+            }
+            ardRouteInfo.setPath(kmzResult.getPath());
         }
-        if ("更新航线kmz文件失败".equals(kmzResult.getData())) {
-            return 0;
-        }
-        ardRouteInfo.setUpPath(kmzResult.getUpPath());
         return ardRouteInfoMapper.updateArdRouteInfo(ardRouteInfo);
     }
 
@@ -138,7 +144,7 @@
         // 删除航线(kmz)文件
         for (String id : ids) {
             ArdRouteInfo information = ardRouteInfoMapper.selectArdRouteInfoById(id);
-            ossService.deleteObject("kmz", subStringMinioUrlName(information.getUpPath()));
+            ossService.deleteObject("kmz", subStringMinioUrlName(information.getPath()));
         }
         return ardRouteInfoMapper.deleteArdRouteInfoByIds(ids);
     }
@@ -166,8 +172,9 @@
             String url = ossService.upload("kmz",file);
             ArdRouteInfo information = new ArdRouteInfo();
             information.setName(file.getOriginalFilename());
-            information.setUpPath(url);
-            information.setGroupingId("0");     // 默认分组
+            information.setPath(url);
+            information.setGroupId("0");     // 默认分组
+            information.setReadOnly("1");   // 默认只读
             insertRouteInfomation(information);
             return MinioUploadResult.builder()
                     .url(url)
@@ -194,12 +201,12 @@
      * 修改航线分组ID
      *
      * @param id ID
-     * @param groupingId 分组ID
+     * @param groupId 分组ID
      * @return 结果
      */
     @Override
-    public int updateRouteInfomationGroupingId(String id, String groupingId) {
-        return ardRouteInfoMapper.updateRouteInforGroupingId(id, groupingId);
+    public int updateRouteInfomationGroupId(String id, String groupId) {
+        return ardRouteInfoMapper.updateRouteInforGroupId(id, groupId);
     }
 
     /**
@@ -215,6 +222,9 @@
             throw new ControlException("方法参数中未找到有效经纬度字段,无法判断禁飞区!");
         }
         List<ArdNoFlyZone> ardNoFlyZones = ardNoFlyZoneService.selectArdNoFlyZoneList(new ArdNoFlyZone());
+
+
+
         if (!ardNoFlyZones.isEmpty()) {
             Vertex vertex = new Vertex(longitude, latitude);
 //            boolean inNoFlyZones = NoFlyZoneUtils.isPointInPolygon(vertex, ardNoFlyZones);
@@ -234,4 +244,8 @@
         ardRouteInfoMapper.insertArdRouteInfo(ardRouteInfo);
     }
 
+    private void verifyNoFlyZone(CoordinatePointReq a,CoordinatePointReq b){
+
+    }
+
 }

--
Gitblit v1.9.3