From 337694250a539d3242a042c65ecafe118c3d9588 Mon Sep 17 00:00:00 2001 From: gyb Date: Wed, 11 Mar 2026 08:45:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E8=88=AA=E7=BA=BF=E7=BC=96=E8=BE=91?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=96=B0=E7=9A=84=E8=88=AA=E7=82=B9=E5=8A=A8?= =?UTF-8?q?=E4=BD=9C=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/AirlineFileServiceImpl.java | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceImpl.java b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceImpl.java index 750e543..d9d0980 100644 --- a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceImpl.java +++ b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceImpl.java @@ -203,6 +203,25 @@ public class AirlineFileServiceImpl implements IAirlineFileService { @Override public Long update(AirlineFileDTO dto) { log.info("更新航线文件信息,DTO: {}", dto); + + if (dto.getLinePointDtoList() != null && !dto.getLinePointDtoList().isEmpty()) { + log.info("检测到航点数据,需要生成新的 waypoint 文件"); + StringBuilder waypointBuilder = new StringBuilder("QGC WPL 110\n"); + List linePoints = dto.getLinePointDtoList(); + + for (int i = 0; i < linePoints.size(); i++) { + AirLinePointDTO point = linePoints.get(i); + waypointBuilder.append(WayPointUitls.formatWaypointLine(point, i)).append("\n"); + } + + String waypointContent = waypointBuilder.toString(); + log.info("生成的 waypoint 文件内容长度: {}", waypointContent.length()); + + R fileUrl = remoteFileService.uploadFileByData(UUID.randomUUID().toString(), "waypoints", waypointContent); + dto.setFileUrl(fileUrl.getData()); + log.info("上传新的 waypoint 文件成功,URL: {}", fileUrl.getData()); + } + AirlineFile model = AirlineFileServiceConvert.to(dto); log.info("转换后的模型: {}", model); Long result = iAirlineFileDomain.update(model);