优化代码

This commit is contained in:
chenxudong 2025-01-07 17:41:59 +08:00
parent 11577ecb20
commit 8921286146
2 changed files with 13 additions and 9 deletions

View File

@ -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;

View File

@ -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);