优化事务和导出的逻辑。
This commit is contained in:
parent
b9233d086c
commit
0c6ab12f3f
|
|
@ -43,6 +43,7 @@ import org.springframework.http.HttpHeaders;
|
|||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
|
|
@ -330,10 +331,10 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
|
|||
String tmpDir = uploadDataDir + currentUserId + File.separator + uuid + File.separator;
|
||||
ZipUtil.unzip(zipDirPath, tmpDir);
|
||||
update2Database(zipDirPath);
|
||||
return null;
|
||||
return ElectromagneticResultUtil.success(true);
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
|
||||
public void update2Database(String prjDirPath) {
|
||||
|
||||
List<EdFileInfo> importFileInfos = JSONUtil.toList(prjDirPath + File.separator + "mysql.info", EdFileInfo.class);
|
||||
|
|
@ -504,19 +505,19 @@ 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> files = resFiles.stream().filter(e -> e.getDataType().equals(EleDataTypeEnum.FILE.code)).collect(Collectors.toList());
|
||||
for (EdFileInfo edFileInfo : folders) {
|
||||
String destFolderPath = downloadDataDir + File.separator + commonService.getFileSysPath(edFileInfo.getFileId());
|
||||
String destFolderPath = downloadDataDir + File.separator + prjName + File.separator + commonService.getFileSysPath(edFileInfo.getFileId());
|
||||
fileSystemService.createDirectory(destFolderPath);
|
||||
}
|
||||
for (EdFileInfo edFileInfo : files) {
|
||||
String filePath = commonService.getFileSysPath(edFileInfo.getFileId()) + edFileInfo.getFileCode() + "." + edFileInfo.getFileCode();
|
||||
String destPath = downloadDataDir + File.separator + commonService.getDbPath(edFileInfo.getFileId());
|
||||
String destPath = downloadDataDir + File.separator + prjName + File.separator + commonService.getDbPath(edFileInfo.getFileId());
|
||||
fileSystemService.copyFile(filePath, destPath);
|
||||
}
|
||||
String mysqlInfo = JSONUtil.toJsonStr(resFiles);
|
||||
fileSystemService.writeStringToFile(downloadDataDir + File.separator + "mysql.info", mysqlInfo);
|
||||
fileSystemService.writeStringToFile(downloadDataDir + File.separator + prjName + File.separator + "mysql.info", mysqlInfo);
|
||||
String exportZipFile = downloadDataDir + File.separator + prjName + ".zip";
|
||||
String exportColibFile = downloadDataDir + File.separator + prjName + EXPORT_FILE_SUFFIX;
|
||||
ZipUtil.zip(downloadDataDir + File.separator + prjName, exportZipFile);
|
||||
ZipUtil.zip(downloadDataDir + File.separator + prjName + File.separator + prjName, exportZipFile);
|
||||
AES aes = SecureUtil.aes(password.getBytes());
|
||||
try(
|
||||
InputStream inputStream = Files.newInputStream(Paths.get(exportZipFile));
|
||||
|
|
|
|||
Loading…
Reference in New Issue