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 |   34 +++++++++++++++++++++++-----------
 1 files changed, 23 insertions(+), 11 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 b58c31c..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;
@@ -96,6 +97,7 @@
         } 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.setPath(kmzResult.getPath());
@@ -113,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.setPath(kmzResult.getPath());
         return ardRouteInfoMapper.updateArdRouteInfo(ardRouteInfo);
     }
 
@@ -217,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);
@@ -236,4 +244,8 @@
         ardRouteInfoMapper.insertArdRouteInfo(ardRouteInfo);
     }
 
+    private void verifyNoFlyZone(CoordinatePointReq a,CoordinatePointReq b){
+
+    }
+
 }

--
Gitblit v1.9.3