From d4d2e680af835d19d770eed2c41b5c98d804ba61 Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Wed, 17 Dec 2025 08:05:46 +0800
Subject: [PATCH] 1. 修改BUG。

---
 ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java |   27 ++++++++++++++++++---------
 1 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java b/ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java
index 3573eeb..955a11b 100644
--- a/ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java
+++ b/ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java
@@ -36,7 +36,13 @@
      */
     public static KmlInfo parseKml(InputStream inputStream) {
         XStream xStream = new XStream();
-        xStream.allowTypes(new Class[]{KmlInfo.class, KmlAction.class, KmlWayLineCoordinateSysParam.class, KmlPoint.class, KmlActionGroup.class});
+        xStream.allowTypes(new Class[]{
+                KmlInfo.class,
+                KmlAction.class,
+                KmlWayLineCoordinateSysParam.class,
+                KmlPoint.class,
+                KmlActionGroup.class
+        });
         xStream.alias("kml", KmlInfo.class);
         xStream.processAnnotations(KmlInfo.class);
         xStream.autodetectAnnotations(true);
@@ -149,7 +155,8 @@
         kmlDroneInfo.setDroneEnumValue(String.valueOf(droneType));
         if (Objects.equals(droneType, DroneEnumValueEnums.M30_M30T.getValue()) ||
                 Objects.equals(droneType, DroneEnumValueEnums.M3D_M3TD.getValue()) ||
-                Objects.equals(droneType, DroneEnumValueEnums.M3E_M3T_M3M.getValue())) {
+                Objects.equals(droneType, DroneEnumValueEnums.M3E_M3T_M3M.getValue())||
+                Objects.equals(droneType, DroneEnumValueEnums.MATRICE_4D.getValue())) {
             kmlDroneInfo.setDroneSubEnumValue(String.valueOf(subDroneType));
         }
         return kmlDroneInfo;
@@ -331,7 +338,9 @@
         if (CollectionUtil.isNotEmpty(routePointInfo.getActionGroupList())) {
             List<KmlActionGroup> kmlActionGroupList = new ArrayList<>();
             for (ActionGroupReq actionGroupReq : routePointInfo.getActionGroupList()) {
-                kmlActionGroupList.add(buildKmlActionGroup(actionGroupReq, kmlParams));
+                if (ObjectUtil.isNotEmpty(actionGroupReq.getActions())){
+                    kmlActionGroupList.add(buildKmlActionGroup(actionGroupReq, kmlParams));
+                }
             }
             kmlPlacemark.setActionGroup(kmlActionGroupList);
         }
@@ -494,13 +503,13 @@
 
     public static KmlActionGroup buildKmlActionGroup(ActionGroupReq actionGroupReq, KmlParams kmlParams) {
         KmlActionGroup kmlActionGroup = new KmlActionGroup();
-        kmlActionGroup.setActionGroupId(String.valueOf(actionGroupReq.getActionGroupId()));
-        kmlActionGroup.setActionGroupStartIndex(String.valueOf(actionGroupReq.getActionGroupStartIndex()));
-        kmlActionGroup.setActionGroupEndIndex(String.valueOf(actionGroupReq.getActionGroupEndIndex()));
-        kmlActionGroup.setActionGroupMode(ActionGroupModeEnums.SEQUENCE.getValue());
+            kmlActionGroup.setActionGroupId(String.valueOf(actionGroupReq.getActionGroupId()));
+            kmlActionGroup.setActionGroupStartIndex(String.valueOf(actionGroupReq.getActionGroupStartIndex()));
+            kmlActionGroup.setActionGroupEndIndex(String.valueOf(actionGroupReq.getActionGroupEndIndex()));
+            kmlActionGroup.setActionGroupMode(ActionGroupModeEnums.SEQUENCE.getValue());
 
-        kmlActionGroup.setActionTrigger(buildKmlActionTrigger(actionGroupReq.getActionTriggerType(), actionGroupReq.getActionTriggerParam()));
-        kmlActionGroup.setAction(getKmlActionList(actionGroupReq.getActions(), kmlParams));
+            kmlActionGroup.setActionTrigger(buildKmlActionTrigger(actionGroupReq.getActionTriggerType(), actionGroupReq.getActionTriggerParam()));
+            kmlActionGroup.setAction(getKmlActionList(actionGroupReq.getActions(), kmlParams));
         return kmlActionGroup;
     }
 

--
Gitblit v1.9.3