fix:联调航线上传
This commit is contained in:
parent
bf42d6b13e
commit
272aaa637e
|
|
@ -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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
if (airlineFiles != null && airlineFiles.size() > 0) {
|
||||||
List<String> fileNames = airlineFiles.stream().map(AirlineFile::getName).toList();
|
List<String> fileNames = airlineFiles.stream().map(AirlineFile::getName).toList();
|
||||||
String newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames);
|
newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames);
|
||||||
dto.setFileName(newFileName);
|
}
|
||||||
|
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;
|
||||||
|
|
||||||
|
if (airlineFiles != null && airlineFiles.size() > 0) {
|
||||||
List<String> fileNames = airlineFiles.stream().map(AirlineFile::getName).toList();
|
List<String> fileNames = airlineFiles.stream().map(AirlineFile::getName).toList();
|
||||||
String newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames);
|
newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames);
|
||||||
dto.setFileName(newFileName);
|
}
|
||||||
|
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());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue