From c0b167404dbc4e98ccb8b84f94f48c96bcb3df02 Mon Sep 17 00:00:00 2001
From: zhaowenyu <35589726@qq.com>
Date: Fri, 12 Dec 2025 09:37:08 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev
---
ard-route/src/main/java/com/ard/route/service/impl/ArdRouteInfoServiceImpl.java | 60 +++++++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 43 insertions(+), 17 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 aa70de9..905d321 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
@@ -36,6 +36,7 @@
import javax.annotation.Resource;
import static com.ard.route.util.ToolUtils.*;
+import static com.ard.route.util.UavRouteReqUtils.fileConversionEntity;
/**
* 航线(kmz)Service业务层处理
@@ -80,6 +81,9 @@
} catch (IOException | ClassNotFoundException e) {
throw new RuntimeException(e);
}
+ for (RoutePointReq routePointReq : ardRouteInfo.getUavRouteReq().getRoutePointList()) {
+ routePointReq.setHeight(routePointReq.getHeight() + getDoublePoint(ardRouteInfo.getUavRouteReq().getTakeOffRefPoint(),"alt"));
+ }
return ardRouteInfo;
}
@@ -96,6 +100,12 @@
}else if ("0".equals(ardRouteInfo.getOrderByTime())) {
ardRouteInfo.setOrderByTime("ASC");
}
+// List<ArdRouteInfo> list = ardRouteInfoMapper.selectArdRouteInfoList(ardRouteInfo);
+// for (ArdRouteInfo routeInfo : list) {
+// for (RoutePointReq routePointReq : routeInfo.getUavRouteReq().getRoutePointList()) {
+// routePointReq.setHeight(routePointReq.getHeight() + getDoublePoint(ardRouteInfo.getUavRouteReq().getTakeOffRefPoint(),"alt"));
+// }
+// }
return ardRouteInfoMapper.selectArdRouteInfoList(ardRouteInfo);
}
@@ -114,8 +124,9 @@
ardRouteInfo.setGroupId("0");
}
ardRouteInfo.getUavRouteReq().setDroneType(subStringDroneType(ardRouteInfo.getAircraft()));
- KmzResultVo kmzResult = routeService.buildKmz(ardRouteInfo.getUavRouteReq(), ardRouteInfo.getName());
+ KmzResultVo kmzResult = routeService.buildKmz(ardRouteInfo.getUavRouteReq(),ardRouteInfo.getName());
ardRouteInfo.setPath(kmzResult.getPath());
+ ardRouteInfo.setReadOnly("0");
ardRouteInfoMapper.insertArdRouteInfo(dataProcessing(ardRouteInfo));
return kmzResult.getPath();
}
@@ -143,28 +154,32 @@
}
ardRouteInfo.setPath(kmzResult.getPath());
}
+ ardRouteInfo.setReadOnly("0");
return ardRouteInfoMapper.updateArdRouteInfo(dataProcessing(ardRouteInfo));
}
// 新增信息加工
private ArdRouteInfo dataProcessing(ArdRouteInfo ardRouteInfo) {
// 航线数据
- byte[] routeData;
+ byte[] routeData = null;
try {
- routeData = serialize(ardRouteInfo.getUavRouteReq());
+ if (ardRouteInfo.getUavRouteReq() != null){
+ routeData = serialize(ardRouteInfo.getUavRouteReq());
+ }
} catch (IOException e) {
throw new RuntimeException(e);
}
ardRouteInfo.setRouteData(routeData);
- ardRouteInfo.setReadOnly("0");
ardRouteInfo.setPointCount(getPointCount(ardRouteInfo));
return ardRouteInfo;
}
// 获取行点总数
private Integer getPointCount(ArdRouteInfo ardRouteInfo) {
- if (ardRouteInfo.getUavRouteReq().getRoutePointList() != null) {
- return ardRouteInfo.getUavRouteReq().getRoutePointList().size();
+ if (ardRouteInfo.getUavRouteReq() != null){
+ if (ardRouteInfo.getUavRouteReq().getRoutePointList() != null) {
+ return ardRouteInfo.getUavRouteReq().getRoutePointList().size();
+ }
}
return 0;
}
@@ -215,18 +230,29 @@
@Override
public MinioUploadResult uploadArdRouteInfo(MultipartFile file) {
try {
+ // 增加航线实体类信息
+ UavRouteReq uavRouteReq = fileConversionEntity(file);
+ ArdRouteInfo ardRouteInfo = new ArdRouteInfo();
+ if (uavRouteReq != null){
+ ardRouteInfo.setUavRouteReq(uavRouteReq);
+ ardRouteInfo.setType(templateTypeData(uavRouteReq));
+ ardRouteInfo.setAircraft(droneTypeData(uavRouteReq));
+ }
+ // 判断禁飞区
+// List<RoutePointReq> routePointList = ardRouteInfo.getUavRouteReq().getRoutePointList();
+// for (RoutePointReq routePointReq : routePointList) {
+// ArdNoflyDto ardNoflyDto = new ArdNoflyDto();
+// ardNoflyDto.setCurrent(new Vertex(routePointReq.getLongitude(), routePointReq.getLatitude()));
+// verifyNoFlyZone(ardNoflyDto);
+// }
String url = ossService.upload("kmz",file);
String urlDock = ossDockService.upload("kmz",file);
- ArdRouteInfo information = new ArdRouteInfo();
- information.setName(file.getOriginalFilename());
- information.setPath(url);
- information.setPath1(urlDock);
- information.setGroupId("0"); // 默认分组
- information.setReadOnly("1"); // 默认只读
- // 生成kmz文件实体类加工
-
- // 增加航线实体类信息
- insertRouteInfomation(information);
+ ardRouteInfo.setName(file.getOriginalFilename());
+ ardRouteInfo.setPath(url);
+ ardRouteInfo.setPath1(urlDock);
+ ardRouteInfo.setGroupId("0"); // 默认分组
+ ardRouteInfo.setReadOnly("1"); // 默认只读
+ insertRouteInfomation(ardRouteInfo);
return MinioUploadResult.builder()
.url(url)
.newFileName(FileUtils.getName(url))
@@ -503,7 +529,7 @@
ardRouteInfo.setId(IdUtils.simpleUUID());
ardRouteInfo.setCreateTime(DateUtils.getNowDate());
ardRouteInfo.setUpdateTime(DateUtils.getNowDate());
- ardRouteInfoMapper.insertArdRouteInfo(ardRouteInfo);
+ ardRouteInfoMapper.insertArdRouteInfo(dataProcessing(ardRouteInfo));
}
/**
--
Gitblit v1.9.3