From 272aaa637e1b2fcd038c98eb45d21e0ada4f9c2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=A4=A7?= <1504665037@qq.com> Date: Wed, 28 Jan 2026 11:20:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E8=81=94=E8=B0=83=E8=88=AA=E7=BA=BF?= =?UTF-8?q?=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AirlineFileGroupInfoController.java | 3 +-- .../service/impl/AirlineFileServiceImpl.java | 24 ++++++++++++------- 2 files changed, 16 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java index 71cf08c..fef0b60 100644 --- a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java +++ b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java @@ -80,10 +80,9 @@ public class AirlineFileGroupInfoController extends BaseController { @Operation(summary = " kmz航线文件,并转换成waypoint上传 ,仅仅返航URL") public AjaxResult parseAndUpload(@RequestParam("file") MultipartFile file, @PathVariable("groupId")Long groupId) throws BaseException { AirlineFileDTO dto = iAirlineFileService.parseAndUplload(file); - AirlineFileDTO result = iAirlineFileService.save(dto); AirlineFileGroupInfoDTO infoDTO = new AirlineFileGroupInfoDTO(); infoDTO.setGroupId(groupId); - infoDTO.setAirlineId(result.getId()); + infoDTO.setAirlineFileDTO(dto); return success(iAirlineFileGroupInfoService.save(infoDTO)); } 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 821eaff..330bdac 100644 --- a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceImpl.java +++ b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceImpl.java @@ -89,16 +89,19 @@ public class AirlineFileServiceImpl implements IAirlineFileService { throw new BaseException("kmz文件内容缺失"); } String globalHeight = kmlInfo.getDocument().getFolder().getGlobalHeight(); - R fileUrl = remoteFileService.uploadFileByData(UUID.randomUUID().toString(), "waypoints", WayPointUitls.kmz2waypoint(kmlInfo)); AirlineFileDTO dto = new AirlineFileDTO(); // 去除文件名中的后缀名 int pos = originalFilename.lastIndexOf("."); String fileNameWithoutExtension = pos > 0 ? originalFilename.substring(0, pos) : originalFilename; List airlineFiles =iAirlineFileDomain.selectFileNameLike(fileNameWithoutExtension); - - List fileNames = airlineFiles.stream().map(AirlineFile::getName).toList(); - String newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames); - dto.setFileName(newFileName); + String newFileName = originalFilename; + if (airlineFiles != null && airlineFiles.size() > 0) { + List fileNames = airlineFiles.stream().map(AirlineFile::getName).toList(); + newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames); + } + dto.setName(newFileName); + dto.setFileName(originalFilename); + R fileUrl = remoteFileService.uploadFileByData(UUID.randomUUID().toString(), "waypoints", WayPointUitls.kmz2waypoint(kmlInfo)); dto.setFileUrl(fileUrl.getData()); dto.setAirVendor(kmlInfo.getDocument().getKmlMissionConfig().getDroneInfo().getDroneEnumValue()); dto.setAirType(kmlInfo.getDocument().getKmlMissionConfig().getDroneInfo().getDroneEnumValue()); @@ -111,11 +114,14 @@ public class AirlineFileServiceImpl implements IAirlineFileService { int pos = originalFilename.lastIndexOf("."); String fileNameWithoutExtension = pos > 0 ? originalFilename.substring(0, pos) : originalFilename; List airlineFiles =iAirlineFileDomain.selectFileNameLike(fileNameWithoutExtension); + String newFileName = originalFilename; - List fileNames = airlineFiles.stream().map(AirlineFile::getName).toList(); - String newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames); - dto.setFileName(newFileName); - + if (airlineFiles != null && airlineFiles.size() > 0) { + List fileNames = airlineFiles.stream().map(AirlineFile::getName).toList(); + newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames); + } + dto.setName(newFileName); + dto.setFileName(originalFilename); // 直接读取文件内容并上传 R fileUrl = remoteFileService.uploadFileByData(UUID.randomUUID().toString(), "waypoints", Arrays.toString(file.getBytes())); dto.setFileUrl(fileUrl.getData());