|
@ -198,12 +198,18 @@ public class WaylineFileServiceImpl implements IWaylineFileService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public void importKmzFile(MultipartFile file, String workspaceId, String creator) { |
|
|
public void importKmzFile(MultipartFile file, String workspaceId, String creator,String deviceSn) { |
|
|
Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file); |
|
|
Optional<WaylineFileDTO> waylineFileOpt = validKmzFile(file); |
|
|
if (waylineFileOpt.isEmpty()) { |
|
|
if (waylineFileOpt.isEmpty()) { |
|
|
throw new RuntimeException("文件格式不正确。"); |
|
|
throw new RuntimeException("文件格式不正确。"); |
|
|
} |
|
|
} |
|
|
|
|
|
if (!StringUtils.hasText(deviceSn)) { |
|
|
|
|
|
throw new RuntimeException("文件格式不正确。"); |
|
|
|
|
|
} |
|
|
try { |
|
|
try { |
|
|
|
|
|
List<WaylineFileEntity> waylineFileEntities = mapper.selectList(new LambdaQueryWrapper<WaylineFileEntity>() |
|
|
|
|
|
.eq(WaylineFileEntity::getDeviceSn, deviceSn).orderBy(true, false, WaylineFileEntity::getFileNo).last(" limit 1")); |
|
|
|
|
|
|
|
|
WaylineFileDTO waylineFile = waylineFileOpt.get(); |
|
|
WaylineFileDTO waylineFile = waylineFileOpt.get(); |
|
|
waylineFile.setUsername(creator); |
|
|
waylineFile.setUsername(creator); |
|
|
OssClient storage = OssFactory.instance("waylinefile"); |
|
|
OssClient storage = OssFactory.instance("waylinefile"); |
|
@ -211,6 +217,14 @@ public class WaylineFileServiceImpl implements IWaylineFileService { |
|
|
String suffix = org.apache.commons.lang3.StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length()); |
|
|
String suffix = org.apache.commons.lang3.StringUtils.substring(originalfileName, originalfileName.lastIndexOf("."), originalfileName.length()); |
|
|
UploadResult uploadResult = storage.uploadSuffix(file.getBytes(), suffix, file.getContentType()); |
|
|
UploadResult uploadResult = storage.uploadSuffix(file.getBytes(), suffix, file.getContentType()); |
|
|
waylineFile.setObjectKey(uploadResult.getFilename()); |
|
|
waylineFile.setObjectKey(uploadResult.getFilename()); |
|
|
|
|
|
List<String> deviceSns = new ArrayList<>(); |
|
|
|
|
|
deviceSns.add(deviceSn); |
|
|
|
|
|
waylineFile.setDeviceSns(deviceSns); |
|
|
|
|
|
if(CollectionUtils.isNotEmpty(waylineFileEntities)) { |
|
|
|
|
|
waylineFile.setFileNo(waylineFileEntities.size()+1); |
|
|
|
|
|
}else { |
|
|
|
|
|
waylineFile.setFileNo(1); |
|
|
|
|
|
} |
|
|
this.saveWaylineFile(workspaceId, waylineFile); |
|
|
this.saveWaylineFile(workspaceId, waylineFile); |
|
|
} catch (IOException e) { |
|
|
} catch (IOException e) { |
|
|
e.printStackTrace(); |
|
|
e.printStackTrace(); |
|
|