fix:联调航线上传

This commit is contained in:
高大 2026-01-28 11:20:39 +08:00
parent bf42d6b13e
commit 272aaa637e
2 changed files with 16 additions and 11 deletions

View File

@ -80,10 +80,9 @@ public class AirlineFileGroupInfoController extends BaseController {
@Operation(summary = " kmz航线文件并转换成waypoint上传 ,仅仅返航URL") @Operation(summary = " kmz航线文件并转换成waypoint上传 ,仅仅返航URL")
public AjaxResult parseAndUpload(@RequestParam("file") MultipartFile file, @PathVariable("groupId")Long groupId) throws BaseException { public AjaxResult parseAndUpload(@RequestParam("file") MultipartFile file, @PathVariable("groupId")Long groupId) throws BaseException {
AirlineFileDTO dto = iAirlineFileService.parseAndUplload(file); AirlineFileDTO dto = iAirlineFileService.parseAndUplload(file);
AirlineFileDTO result = iAirlineFileService.save(dto);
AirlineFileGroupInfoDTO infoDTO = new AirlineFileGroupInfoDTO(); AirlineFileGroupInfoDTO infoDTO = new AirlineFileGroupInfoDTO();
infoDTO.setGroupId(groupId); infoDTO.setGroupId(groupId);
infoDTO.setAirlineId(result.getId()); infoDTO.setAirlineFileDTO(dto);
return success(iAirlineFileGroupInfoService.save(infoDTO)); return success(iAirlineFileGroupInfoService.save(infoDTO));
} }

View File

@ -89,16 +89,19 @@ public class AirlineFileServiceImpl implements IAirlineFileService {
throw new BaseException("kmz文件内容缺失"); throw new BaseException("kmz文件内容缺失");
} }
String globalHeight = kmlInfo.getDocument().getFolder().getGlobalHeight(); String globalHeight = kmlInfo.getDocument().getFolder().getGlobalHeight();
R<String> fileUrl = remoteFileService.uploadFileByData(UUID.randomUUID().toString(), "waypoints", WayPointUitls.kmz2waypoint(kmlInfo));
AirlineFileDTO dto = new AirlineFileDTO(); AirlineFileDTO dto = new AirlineFileDTO();
// 去除文件名中的后缀名 // 去除文件名中的后缀名
int pos = originalFilename.lastIndexOf("."); int pos = originalFilename.lastIndexOf(".");
String fileNameWithoutExtension = pos > 0 ? originalFilename.substring(0, pos) : originalFilename; String fileNameWithoutExtension = pos > 0 ? originalFilename.substring(0, pos) : originalFilename;
List<AirlineFile> airlineFiles =iAirlineFileDomain.selectFileNameLike(fileNameWithoutExtension); List<AirlineFile> airlineFiles =iAirlineFileDomain.selectFileNameLike(fileNameWithoutExtension);
String newFileName = originalFilename;
List<String> fileNames = airlineFiles.stream().map(AirlineFile::getName).toList(); if (airlineFiles != null && airlineFiles.size() > 0) {
String newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames); List<String> fileNames = airlineFiles.stream().map(AirlineFile::getName).toList();
dto.setFileName(newFileName); newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames);
}
dto.setName(newFileName);
dto.setFileName(originalFilename);
R<String> fileUrl = remoteFileService.uploadFileByData(UUID.randomUUID().toString(), "waypoints", WayPointUitls.kmz2waypoint(kmlInfo));
dto.setFileUrl(fileUrl.getData()); dto.setFileUrl(fileUrl.getData());
dto.setAirVendor(kmlInfo.getDocument().getKmlMissionConfig().getDroneInfo().getDroneEnumValue()); dto.setAirVendor(kmlInfo.getDocument().getKmlMissionConfig().getDroneInfo().getDroneEnumValue());
dto.setAirType(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("."); int pos = originalFilename.lastIndexOf(".");
String fileNameWithoutExtension = pos > 0 ? originalFilename.substring(0, pos) : originalFilename; String fileNameWithoutExtension = pos > 0 ? originalFilename.substring(0, pos) : originalFilename;
List<AirlineFile> airlineFiles =iAirlineFileDomain.selectFileNameLike(fileNameWithoutExtension); List<AirlineFile> airlineFiles =iAirlineFileDomain.selectFileNameLike(fileNameWithoutExtension);
String newFileName = originalFilename;
List<String> fileNames = airlineFiles.stream().map(AirlineFile::getName).toList(); if (airlineFiles != null && airlineFiles.size() > 0) {
String newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames); List<String> fileNames = airlineFiles.stream().map(AirlineFile::getName).toList();
dto.setFileName(newFileName); newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames);
}
dto.setName(newFileName);
dto.setFileName(originalFilename);
// 直接读取文件内容并上传 // 直接读取文件内容并上传
R<String> fileUrl = remoteFileService.uploadFileByData(UUID.randomUUID().toString(), "waypoints", Arrays.toString(file.getBytes())); R<String> fileUrl = remoteFileService.uploadFileByData(UUID.randomUUID().toString(), "waypoints", Arrays.toString(file.getBytes()));
dto.setFileUrl(fileUrl.getData()); dto.setFileUrl(fileUrl.getData());