调通文件导出接口
This commit is contained in:
parent
dd13bf76e3
commit
de4f48507c
|
|
@ -560,23 +560,28 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
.eq(EdFileInfo::getEffectFlag, true));
|
.eq(EdFileInfo::getEffectFlag, true));
|
||||||
resFiles.addAll(edFileInfos);
|
resFiles.addAll(edFileInfos);
|
||||||
}
|
}
|
||||||
|
String prjId = resFiles.get(0).getFilePath().split(MYSQL_FILE_PATH_SPLIT)[0];
|
||||||
List<EdFileInfo> prjFolders = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).eq(EdFileInfo::getPrjDir, true).eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
List<EdFileInfo> prjFolders = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class)
|
||||||
|
.likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT)
|
||||||
|
.eq(EdFileInfo::getPrjDir, true)
|
||||||
|
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
|
||||||
|
EdFileInfo prjFileInfo = this.baseMapper.selectById(prjId);
|
||||||
Map<String, EdFileInfo> prjFoldersMap = prjFolders.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e));
|
Map<String, EdFileInfo> prjFoldersMap = prjFolders.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e));
|
||||||
Map<String, EdFileInfo> tmps = resFiles.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e));
|
Map<String, EdFileInfo> tmps = resFiles.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e));
|
||||||
|
tmps.putAll(prjFoldersMap);
|
||||||
resFiles.clear();
|
resFiles.clear();
|
||||||
resFiles.addAll(tmps.values());
|
resFiles.addAll(tmps.values());
|
||||||
resFiles.addAll(prjFoldersMap.values());
|
resFiles.add(prjFileInfo);
|
||||||
String prjName = commonService.getPrjNameByDbPath(resFiles.get(0).getFilePath());
|
String prjName = commonService.getPrjNameByDbPath(resFiles.get(0).getFilePath());
|
||||||
List<EdFileInfo> folders = resFiles.stream().filter(e -> e.getDataType().equals(EleDataTypeEnum.FOLDER.code)).collect(Collectors.toList());
|
List<EdFileInfo> folders = resFiles.stream().filter(e -> e.getDataType().equals(EleDataTypeEnum.FOLDER.code)).collect(Collectors.toList());
|
||||||
List<EdFileInfo> files = resFiles.stream().filter(e -> e.getDataType().equals(EleDataTypeEnum.FILE.code)).collect(Collectors.toList());
|
List<EdFileInfo> files = resFiles.stream().filter(e -> e.getDataType().equals(EleDataTypeEnum.FILE.code)).collect(Collectors.toList());
|
||||||
for (EdFileInfo edFileInfo : folders) {
|
for (EdFileInfo edFileInfo : folders) {
|
||||||
String destFolderPath = downloadDataDir + File.separator + prjName + File.separator + commonService.getFileSysPath(edFileInfo.getFileId()); // file
|
String destFolderPath = downloadDataDir + File.separator + prjName + File.separator + commonService.getDbPath(edFileInfo.getFilePath()); // file
|
||||||
fileSystemService.createDirectory(destFolderPath);
|
fileSystemService.createDirectory(destFolderPath);
|
||||||
}
|
}
|
||||||
for (EdFileInfo edFileInfo : files) {
|
for (EdFileInfo edFileInfo : files) {
|
||||||
String filePath = commonService.getFileSysPath(edFileInfo.getFileId()); // file
|
String filePath = commonService.getFileSysPath(edFileInfo.getFilePath()); // file
|
||||||
String destPath = downloadDataDir + File.separator + prjName + File.separator + commonService.getDbPath(edFileInfo.getFileId());
|
String destPath = downloadDataDir + File.separator + prjName + File.separator + commonService.getDbPath(edFileInfo.getFilePath());
|
||||||
fileSystemService.copyFile(filePath, destPath);
|
fileSystemService.copyFile(filePath, destPath);
|
||||||
}
|
}
|
||||||
String mysqlInfo = JSONUtil.toJsonStr(resFiles);
|
String mysqlInfo = JSONUtil.toJsonStr(resFiles);
|
||||||
|
|
@ -596,6 +601,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
throw new BizException(-1, info);
|
throw new BizException(-1, info);
|
||||||
} finally {
|
} finally {
|
||||||
fileSystemService.deleteFile(exportZipFile);
|
fileSystemService.deleteFile(exportZipFile);
|
||||||
|
fileSystemService.deleteFile(downloadDataDir + File.separator + prjName);
|
||||||
}
|
}
|
||||||
File file = FileUtil.newFile(exportColibFile);
|
File file = FileUtil.newFile(exportColibFile);
|
||||||
FileSystemResource fileSystemResource = new FileSystemResource(file);
|
FileSystemResource fileSystemResource = new FileSystemResource(file);
|
||||||
|
|
@ -627,8 +633,8 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
public ElectromagneticResult<?> upload(String parentId, MultipartFile file, Integer strategy) {
|
public ElectromagneticResult<?> upload(String parentId, MultipartFile file, Integer strategy) {
|
||||||
|
|
||||||
Assert.isTrue(EleCommonUtil.isFileNameValid(file.getOriginalFilename()), NAME_VALID_MSG);
|
Assert.isTrue(EleCommonUtil.isFileNameValid(file.getOriginalFilename()), NAME_VALID_MSG);
|
||||||
EdFileInfo fileInfo = this.baseMapper.selectById(parentId);
|
// EdFileInfo fileInfo = this.baseMapper.selectById(parentId);
|
||||||
Assert.isTrue(fileInfo.getDataType().equals(EleDataTypeEnum.FOLDER.code) && !fileInfo.getPrjDir(), "层级目录不允许上传文件");
|
// Assert.isTrue(fileInfo.getDataType().equals(EleDataTypeEnum.FOLDER.code) && !fileInfo.getPrjDir(), "层级目录不允许上传文件");
|
||||||
String fileName = file.getOriginalFilename();
|
String fileName = file.getOriginalFilename();
|
||||||
String mainName = FileUtil.mainName(fileName);
|
String mainName = FileUtil.mainName(fileName);
|
||||||
String suffix = FileUtil.getSuffix(fileName);
|
String suffix = FileUtil.getSuffix(fileName);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue