From 83c58f574b2b9006ac28d0eca1e64243cc81948f Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Sat, 13 Dec 2025 17:44:04 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
ard-route/src/main/java/com/ard/route/util/RouteFileUtils.java | 32 +++++++++++++++++++++-----------
1 files changed, 21 insertions(+), 11 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 a650ec9..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
@@ -3,8 +3,8 @@
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
-import com.ard.route.domain.*;
-import com.ard.route.domain.kml.*;
+import com.ard.route.domain.djuav.*;
+import com.ard.route.domain.djuav.kml.*;
import com.ard.route.enums.kml.*;
import com.ard.route.constant.FileTypeConstants;
import com.thoughtworks.xstream.XStream;
@@ -36,12 +36,19 @@
*/
public static KmlInfo parseKml(InputStream inputStream) {
XStream xStream = new XStream();
- xStream.allowTypes(new Class[]{KmlInfo.class, KmlAction.class, KmlWayLineCoordinateSysParam.class, KmlPoint.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);
xStream.ignoreUnknownElements();
xStream.addImplicitCollection(KmlActionGroup.class, "action");
+ xStream.addImplicitCollection(KmlPlacemark.class, "actionGroup");
return (KmlInfo) xStream.fromXML(inputStream);
}
@@ -148,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;
@@ -330,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);
}
@@ -493,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