优化代码
This commit is contained in:
parent
11577ecb20
commit
8921286146
|
|
@ -2,7 +2,6 @@ package com.electromagnetic.industry.software.manage.config;
|
||||||
|
|
||||||
import cn.hutool.core.date.SystemClock;
|
import cn.hutool.core.date.SystemClock;
|
||||||
import com.electromagnetic.industry.software.common.cons.UserConstants;
|
import com.electromagnetic.industry.software.common.cons.UserConstants;
|
||||||
import com.electromagnetic.industry.software.common.enums.AdminTypeEnum;
|
|
||||||
import com.electromagnetic.industry.software.common.pojo.UserLoginInfo;
|
import com.electromagnetic.industry.software.common.pojo.UserLoginInfo;
|
||||||
import com.electromagnetic.industry.software.common.util.TokenUtil;
|
import com.electromagnetic.industry.software.common.util.TokenUtil;
|
||||||
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
|
import com.electromagnetic.industry.software.common.util.UserThreadLocal;
|
||||||
|
|
|
||||||
|
|
@ -597,6 +597,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public ResponseEntity<InputStreamResource> batchExport(String dataIdArr, HttpServletResponse response) throws IOException {
|
public ResponseEntity<InputStreamResource> batchExport(String dataIdArr, HttpServletResponse response) throws IOException {
|
||||||
|
String userDownloadDataDir = downloadDataDir + File.separator + UserThreadLocal.getUserId();
|
||||||
String[] ids = dataIdArr.split(",");
|
String[] ids = dataIdArr.split(",");
|
||||||
Map<String, EdFileInfo> maps = new HashMap<>();
|
Map<String, EdFileInfo> maps = new HashMap<>();
|
||||||
for (String id : ids) {
|
for (String id : ids) {
|
||||||
|
|
@ -622,22 +623,27 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
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.getDbPath(edFileInfo.getFilePath()); // file
|
String destFolderPath = userDownloadDataDir + 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.getFilePath()); // file
|
String filePath = commonService.getFileSysPath(edFileInfo.getFilePath()); // file
|
||||||
String destPath = downloadDataDir + File.separator + prjName + File.separator + commonService.getDbPath(edFileInfo.getFilePath());
|
String destPath = userDownloadDataDir + 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);
|
||||||
fileSystemService.writeStringToFile(downloadDataDir + File.separator + prjName + File.separator + "mysql.info", mysqlInfo);
|
|
||||||
String exportZipFile = downloadDataDir + File.separator + prjName + ".zip";
|
String mysqlFilePath = userDownloadDataDir + File.separator + prjName + File.separator + "mysql.info";
|
||||||
String exportColibFile = downloadDataDir + File.separator + prjName + EXPORT_FILE_SUFFIX;
|
String prjDirPath = userDownloadDataDir + File.separator + prjName;
|
||||||
|
String exportZipFile = userDownloadDataDir + File.separator + prjName + ".zip";
|
||||||
|
String exportColibFile = userDownloadDataDir + File.separator + File.separator + prjName + EXPORT_FILE_SUFFIX;
|
||||||
|
|
||||||
|
fileSystemService.writeStringToFile(mysqlFilePath, mysqlInfo);
|
||||||
if (FileUtil.exist(exportColibFile)) {
|
if (FileUtil.exist(exportColibFile)) {
|
||||||
FileUtil.del(exportColibFile);
|
FileUtil.del(exportColibFile);
|
||||||
}
|
}
|
||||||
ZipUtil.zip(downloadDataDir + File.separator + prjName, exportZipFile);
|
|
||||||
|
ZipUtil.zip(prjDirPath, exportZipFile);
|
||||||
AES aes = SecureUtil.aes(password.getBytes());
|
AES aes = SecureUtil.aes(password.getBytes());
|
||||||
try (
|
try (
|
||||||
InputStream inputStream = Files.newInputStream(Paths.get(exportZipFile));
|
InputStream inputStream = Files.newInputStream(Paths.get(exportZipFile));
|
||||||
|
|
@ -649,8 +655,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
||||||
log.error(info, e);
|
log.error(info, e);
|
||||||
throw new BizException(-1, info);
|
throw new BizException(-1, info);
|
||||||
} finally {
|
} finally {
|
||||||
fileSystemService.deleteFile(exportZipFile);
|
fileSystemService.deleteFile(exportZipFile, prjDirPath);
|
||||||
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);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue