优化代码。

This commit is contained in:
chenxudong 2025-03-04 10:57:36 +08:00
parent 69fa79bf59
commit bd59d91776
6 changed files with 27 additions and 30 deletions

View File

@ -41,21 +41,21 @@ public class EdFileInfoController {
@UserOperation(value = "创建文件夹", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "创建文件夹", modelName = UserOperationModuleEnum.DATABASE)
@RequestMapping("createFolder") @RequestMapping("createFolder")
public ElectromagneticResult<?> createFolder(@RequestBody CreateFolderDTO createFolderDTO) { public ElectromagneticResult<?> createFolder(@RequestBody CreateFolderDTO createFolderDTO) {
return edFileInfoService.createFolder(createFolderDTO, DataOwnEnum.COMMON.code); return edFileInfoService.createFolder(createFolderDTO, DataOwnEnum.SYS_FILE.code);
} }
@UserOperation(value = "作废", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "作废", modelName = UserOperationModuleEnum.DATABASE)
@RequiredPermission(value = FilePermission.DELETE) @RequiredPermission(value = FilePermission.DELETE)
@RequestMapping("delete") @RequestMapping("delete")
public ElectromagneticResult<?> delete(@RequestParam String id) { public ElectromagneticResult<?> delete(@RequestParam String id) {
return edFileInfoService.delete(id, DataOwnEnum.COMMON.code); return edFileInfoService.delete(id, DataOwnEnum.SYS_FILE.code);
} }
@UserOperation(value = "查询文件", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "查询文件", modelName = UserOperationModuleEnum.DATABASE)
@RequiredPermission(value = FilePermission.VIEW) @RequiredPermission(value = FilePermission.VIEW)
@RequestMapping("info") @RequestMapping("info")
public ElectromagneticResult<?> info(@RequestBody FileInfoQueryDTO fileInfoQueryDTO) { public ElectromagneticResult<?> info(@RequestBody FileInfoQueryDTO fileInfoQueryDTO) {
return edFileInfoService.queryEdFileInfo(fileInfoQueryDTO, DataOwnEnum.COMMON.code); return edFileInfoService.queryEdFileInfo(fileInfoQueryDTO, DataOwnEnum.SYS_FILE.code);
} }
@UserOperation(value = "上传文件", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "上传文件", modelName = UserOperationModuleEnum.DATABASE)
@ -64,21 +64,21 @@ public class EdFileInfoController {
public ElectromagneticResult<?> upload(@RequestParam("parentId") String parentId, public ElectromagneticResult<?> upload(@RequestParam("parentId") String parentId,
@RequestParam("file") MultipartFile file, @RequestParam("file") MultipartFile file,
@RequestParam("strategy") Integer strategy) { @RequestParam("strategy") Integer strategy) {
return edFileInfoService.upload(parentId, file, strategy, DataOwnEnum.COMMON.code); return edFileInfoService.upload(parentId, file, strategy, DataOwnEnum.SYS_FILE.code);
} }
@UserOperation(value = "下载文件", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "下载文件", modelName = UserOperationModuleEnum.DATABASE)
@RequiredPermission(value = FilePermission.DOWNLOAD) @RequiredPermission(value = FilePermission.DOWNLOAD)
@RequestMapping("download") @RequestMapping("download")
public ResponseEntity<InputStreamResource> download(@RequestParam String id, HttpServletResponse response) { public ResponseEntity<InputStreamResource> download(@RequestParam String id, HttpServletResponse response) {
return edFileInfoService.download(id, response, DataOwnEnum.COMMON.code); return edFileInfoService.download(id, response, DataOwnEnum.SYS_FILE.code);
} }
@UserOperation(value = "更新文件信息", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "更新文件信息", modelName = UserOperationModuleEnum.DATABASE)
@RequiredPermission(value = FilePermission.EDIT) @RequiredPermission(value = FilePermission.EDIT)
@RequestMapping("updateFileInfo") @RequestMapping("updateFileInfo")
public ElectromagneticResult<?> updateFileInfo(@RequestBody UpdateFileInfoDTO updateFileInfoDTO) { public ElectromagneticResult<?> updateFileInfo(@RequestBody UpdateFileInfoDTO updateFileInfoDTO) {
return edFileInfoService.updateFileInfo(updateFileInfoDTO, DataOwnEnum.COMMON.code); return edFileInfoService.updateFileInfo(updateFileInfoDTO, DataOwnEnum.SYS_FILE.code);
} }
@UserOperation(value = "移动文件", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "移动文件", modelName = UserOperationModuleEnum.DATABASE)
@ -87,7 +87,7 @@ public class EdFileInfoController {
public ElectromagneticResult<?> moveFile(@RequestParam("id") String id, public ElectromagneticResult<?> moveFile(@RequestParam("id") String id,
@RequestParam("targetFolderId") String targetFolderId, @RequestParam("targetFolderId") String targetFolderId,
@RequestParam("strategy") Integer strategy) { @RequestParam("strategy") Integer strategy) {
return edFileInfoService.moveFile(id, targetFolderId, strategy, DataOwnEnum.COMMON.code); return edFileInfoService.moveFile(id, targetFolderId, strategy, DataOwnEnum.SYS_FILE.code);
} }
@UserOperation(value = "复制文件", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "复制文件", modelName = UserOperationModuleEnum.DATABASE)
@ -96,7 +96,7 @@ public class EdFileInfoController {
public ElectromagneticResult<?> copyFile(@RequestParam("id") String id, public ElectromagneticResult<?> copyFile(@RequestParam("id") String id,
@RequestParam("targetFolderId") String targetFolderId, @RequestParam("targetFolderId") String targetFolderId,
@RequestParam("strategy") Integer strategy) { @RequestParam("strategy") Integer strategy) {
return edFileInfoService.copyFile(id, targetFolderId, strategy, DataOwnEnum.COMMON.code); return edFileInfoService.copyFile(id, targetFolderId, strategy, DataOwnEnum.SYS_FILE.code);
} }
@UserOperation(value = "查看文件历史版本信息", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "查看文件历史版本信息", modelName = UserOperationModuleEnum.DATABASE)
@ -116,7 +116,7 @@ public class EdFileInfoController {
@UserOperation(value = "导出数据库", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "导出数据库", modelName = UserOperationModuleEnum.DATABASE)
@RequestMapping("batchExport") @RequestMapping("batchExport")
public ResponseEntity<InputStreamResource> batchExport(@RequestParam String fileIds, HttpServletResponse response) throws IOException { public ResponseEntity<InputStreamResource> batchExport(@RequestParam String fileIds, HttpServletResponse response) throws IOException {
return edFileInfoService.batchExport(fileIds, response, DataOwnEnum.COMMON.code); return edFileInfoService.batchExport(fileIds, response, DataOwnEnum.SYS_FILE.code);
} }
@UserOperation(value = "批量上传数据库", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "批量上传数据库", modelName = UserOperationModuleEnum.DATABASE)
@ -124,7 +124,7 @@ public class EdFileInfoController {
public ElectromagneticResult<?> mergeChunks(@RequestParam String identifier, public ElectromagneticResult<?> mergeChunks(@RequestParam String identifier,
@RequestParam String fileName, @RequestParam String fileName,
@RequestParam Integer totalChunks) { @RequestParam Integer totalChunks) {
return edFileInfoService.mergeChunks(identifier, fileName, totalChunks, DataOwnEnum.COMMON.code); return edFileInfoService.mergeChunks(identifier, fileName, totalChunks, DataOwnEnum.SYS_FILE.code);
} }
@UserOperation(value = "批量上传数据库", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "批量上传数据库", modelName = UserOperationModuleEnum.DATABASE)
@ -142,7 +142,7 @@ public class EdFileInfoController {
@UserOperation(value = "查询发布管理", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "查询发布管理", modelName = UserOperationModuleEnum.DATABASE)
@RequestMapping(value = "/uploadRecord", method = RequestMethod.GET) @RequestMapping(value = "/uploadRecord", method = RequestMethod.GET)
public ElectromagneticResult<?> uploadRecord(@RequestParam int pageNum, @RequestParam int pageSize) { public ElectromagneticResult<?> uploadRecord(@RequestParam int pageNum, @RequestParam int pageSize) {
return edFileInfoService.uploadRecord(pageNum, pageSize, DataOwnEnum.COMMON.code); return edFileInfoService.uploadRecord(pageNum, pageSize, DataOwnEnum.SYS_FILE.code);
} }
@UserOperation(value = "查询文件详细信息", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "查询文件详细信息", modelName = UserOperationModuleEnum.DATABASE)
@ -156,14 +156,14 @@ public class EdFileInfoController {
@RequiredPermission(value = FilePermission.VIEW) @RequiredPermission(value = FilePermission.VIEW)
@RequestMapping(value = "/queryChildFolder", method = RequestMethod.GET) @RequestMapping(value = "/queryChildFolder", method = RequestMethod.GET)
public ElectromagneticResult<?> queryChildFolder(@RequestParam String parentId) { public ElectromagneticResult<?> queryChildFolder(@RequestParam String parentId) {
return edFileInfoService.queryChildFolder(parentId, DataOwnEnum.COMMON.code); return edFileInfoService.queryChildFolder(parentId, DataOwnEnum.SYS_FILE.code);
} }
@UserOperation(value = "预览文件", modelName = UserOperationModuleEnum.DATABASE) @UserOperation(value = "预览文件", modelName = UserOperationModuleEnum.DATABASE)
@RequiredPermission(value = FilePermission.DOWNLOAD) @RequiredPermission(value = FilePermission.DOWNLOAD)
@RequestMapping(value = "preview", method = RequestMethod.GET) @RequestMapping(value = "preview", method = RequestMethod.GET)
public ResponseEntity<InputStreamResource> preview(@RequestParam String id, HttpServletResponse response) { public ResponseEntity<InputStreamResource> preview(@RequestParam String id, HttpServletResponse response) {
return edFileInfoService.preview(id, response, DataOwnEnum.COMMON.code); return edFileInfoService.preview(id, response, DataOwnEnum.SYS_FILE.code);
} }
/** /**

View File

@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.electromagnetic.industry.software.common.annotations.UserOperation; import com.electromagnetic.industry.software.common.annotations.UserOperation;
import com.electromagnetic.industry.software.common.enums.DataOwnEnum; import com.electromagnetic.industry.software.common.enums.DataOwnEnum;
import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum; import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum;
import com.electromagnetic.industry.software.common.exception.BizException;
import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult;
import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil; import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil;
import com.electromagnetic.industry.software.common.util.UserThreadLocal; import com.electromagnetic.industry.software.common.util.UserThreadLocal;
@ -93,6 +92,6 @@ public class EdFileRelationController {
@RequestParam("file") MultipartFile file, @RequestParam("file") MultipartFile file,
@RequestParam("description") String description, @RequestParam("description") String description,
@RequestParam("id") String id) { @RequestParam("id") String id) {
return ElectromagneticResultUtil.success(edFileRelationService.uploadFileAndRelation(parentId, id, file, description, DataOwnEnum.COMMON.code)); return ElectromagneticResultUtil.success(edFileRelationService.uploadFileAndRelation(parentId, id, file, description, DataOwnEnum.SYS_FILE.code));
} }
} }

View File

@ -92,6 +92,6 @@ public class UserEdFileRelationController {
@RequestParam("file") MultipartFile file, @RequestParam("file") MultipartFile file,
@RequestParam("description") String description, @RequestParam("description") String description,
@RequestParam("id") String id) { @RequestParam("id") String id) {
return ElectromagneticResultUtil.success(edFileRelationService.uploadFileAndRelation(parentId, id, file, description, DataOwnEnum.COMMON.code)); return ElectromagneticResultUtil.success(edFileRelationService.uploadFileAndRelation(parentId, id, file, description, DataOwnEnum.SYS_FILE.code));
} }
} }

View File

@ -79,15 +79,12 @@ public class CommonService {
private FileSystemService fileSystemService; private FileSystemService fileSystemService;
public String getEleDataPath(int dataOwnCode) { public String getEleDataPath(int dataOwnCode) {
if (dataOwnCode == DataOwnEnum.USER_PRJ.code) { return PATH_MAP.get(dataOwnCode);
return elePropertyConfig.getUserDataPath();
}
return elePropertyConfig.getEleDataPath();
} }
@PostConstruct @PostConstruct
public void init() { public void init() {
PATH_MAP.put(DataOwnEnum.COMMON.code, elePropertyConfig.getPrjDir()); PATH_MAP.put(DataOwnEnum.SYS_FILE.code, elePropertyConfig.getPrjDir());
PATH_MAP.put(DataOwnEnum.SYS_PRJ.code, elePropertyConfig.getPrjDir()); PATH_MAP.put(DataOwnEnum.SYS_PRJ.code, elePropertyConfig.getPrjDir());
PATH_MAP.put(DataOwnEnum.USER_PRJ.code, elePropertyConfig.getUserDataPath()); PATH_MAP.put(DataOwnEnum.USER_PRJ.code, elePropertyConfig.getUserDataPath());
PATH_MAP.put(DataOwnEnum.USER_FILE.code, elePropertyConfig.getUserDataPath()); PATH_MAP.put(DataOwnEnum.USER_FILE.code, elePropertyConfig.getUserDataPath());
@ -153,7 +150,7 @@ public class CommonService {
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code) .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
.likeRight(EdFileInfo::getFilePath, id); .likeRight(EdFileInfo::getFilePath, id);
if (dataOwnCode == DataOwnEnum.COMMON.code) { if (dataOwnCode == DataOwnEnum.SYS_FILE.code) {
queryWrapper.eq(EdFileInfo::getDataOwn, DataOwnEnum.SYS_PRJ.code); queryWrapper.eq(EdFileInfo::getDataOwn, DataOwnEnum.SYS_PRJ.code);
queryWrapper.in(EdFileInfo::getId, accessibleIds); queryWrapper.in(EdFileInfo::getId, accessibleIds);
} else { } else {
@ -236,7 +233,7 @@ public class CommonService {
.eq(EdFileInfo::getParentId, PRJ_PARENT_ID) .eq(EdFileInfo::getParentId, PRJ_PARENT_ID)
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code); .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code);
if (dataOwnCode == DataOwnEnum.COMMON.code) { if (dataOwnCode == DataOwnEnum.SYS_FILE.code) {
queryWrapper.eq(EdFileInfo::getDataOwn, DataOwnEnum.SYS_PRJ.code); queryWrapper.eq(EdFileInfo::getDataOwn, DataOwnEnum.SYS_PRJ.code);
} else if (dataOwnCode == DataOwnEnum.USER_FILE.code) { } else if (dataOwnCode == DataOwnEnum.USER_FILE.code) {
queryWrapper.eq(EdFileInfo::getDataOwn, DataOwnEnum.USER_PRJ.code); queryWrapper.eq(EdFileInfo::getDataOwn, DataOwnEnum.USER_PRJ.code);
@ -311,7 +308,7 @@ public class CommonService {
String parentId = fileInfo.getParentId(); String parentId = fileInfo.getParentId();
if (fileInfo.getDataOwn().equals(DataOwnEnum.SYS_PRJ.code)) { // 删除的是层级目录 if (fileInfo.getDataOwn().equals(DataOwnEnum.SYS_PRJ.code)) { // 删除的是层级目录
long count = edFileInfoMapper.selectCount(Wrappers.<EdFileInfo>lambdaQuery() long count = edFileInfoMapper.selectCount(Wrappers.<EdFileInfo>lambdaQuery()
.eq(EdFileInfo::getDataOwn, DataOwnEnum.COMMON.code) .eq(EdFileInfo::getDataOwn, DataOwnEnum.SYS_FILE.code)
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)
.like(EdFileInfo::getFilePath, MYSQL_FILE_PATH_SPLIT + id + MYSQL_FILE_PATH_SPLIT)); .like(EdFileInfo::getFilePath, MYSQL_FILE_PATH_SPLIT + id + MYSQL_FILE_PATH_SPLIT));
if (count > 0) { if (count > 0) {

View File

@ -638,7 +638,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
public ResponseEntity<InputStreamResource> batchExport(String dataIdArr, HttpServletResponse response, int dataOwnCode) throws IOException { public ResponseEntity<InputStreamResource> batchExport(String dataIdArr, HttpServletResponse response, int dataOwnCode) throws IOException {
String userDownloadDataDir = elePropertyConfig.getDownloadDataDir() + File.separator + UserThreadLocal.getUserId(); String userDownloadDataDir = elePropertyConfig.getDownloadDataDir() + File.separator + UserThreadLocal.getUserId();
String[] ids = dataIdArr.split(","); String[] ids = dataIdArr.split(",");
if (dataOwnCode == DataOwnEnum.COMMON.code) { if (dataOwnCode == DataOwnEnum.SYS_FILE.code) {
Map<String, Boolean> map = permissionService.filterExportIds(ids); Map<String, Boolean> map = permissionService.filterExportIds(ids);
Assert.isTrue(!map.containsValue(Boolean.FALSE), "有未授权的层级目录,禁止导出"); Assert.isTrue(!map.containsValue(Boolean.FALSE), "有未授权的层级目录,禁止导出");
} }
@ -654,7 +654,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
List<EdFileInfo> prjFolders = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class) List<EdFileInfo> prjFolders = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class)
.likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT) .likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT)
.eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code) .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)
.eq(EdFileInfo::getDataOwn, dataOwnCode == DataOwnEnum.COMMON.code ? DataOwnEnum.SYS_PRJ.code : DataOwnEnum.USER_PRJ.code) .eq(EdFileInfo::getDataOwn, dataOwnCode == DataOwnEnum.SYS_FILE.code ? DataOwnEnum.SYS_PRJ.code : DataOwnEnum.USER_PRJ.code)
.eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)); .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code));
EdFileInfo prjFileInfo = this.baseMapper.selectById(prjId); 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));
@ -671,7 +671,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
fileSystemService.createDirectory(destFolderPath); fileSystemService.createDirectory(destFolderPath);
} }
for (EdFileInfo edFileInfo : files) { for (EdFileInfo edFileInfo : files) {
String filePath = commonService.getFileSysPath(edFileInfo.getFilePath(), dataOwnCode == DataOwnEnum.COMMON.code ? DataOwnEnum.SYS_PRJ.code : DataOwnEnum.USER_PRJ.code); // file String filePath = commonService.getFileSysPath(edFileInfo.getFilePath(), dataOwnCode == DataOwnEnum.SYS_FILE.code ? DataOwnEnum.SYS_PRJ.code : DataOwnEnum.USER_PRJ.code); // file
String destPath = userDownloadDataDir + 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);
} }
@ -786,7 +786,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl<EdFileInfoMapper, EdFileI
.setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code) .setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code)
.setDataOwn(dataOwnCode); .setDataOwn(dataOwnCode);
this.saveOrUpdate(newEdFileInfo); this.saveOrUpdate(newEdFileInfo);
String fileDestPath = commonService.getFileSysPath(newEdFileInfo.getFilePath(), dataOwnCode == DataOwnEnum.COMMON.code ? DataOwnEnum.SYS_PRJ.code : DataOwnEnum.USER_PRJ.code); String fileDestPath = commonService.getFileSysPath(newEdFileInfo.getFilePath(), dataOwnCode == DataOwnEnum.SYS_FILE.code ? DataOwnEnum.SYS_PRJ.code : DataOwnEnum.USER_PRJ.code);
FileUtil.writeFromStream(file.getInputStream(), fileDestPath); FileUtil.writeFromStream(file.getInputStream(), fileDestPath);
EleCommonUtil.encryptFile(fileDestPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes())); EleCommonUtil.encryptFile(fileDestPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes()));
finalEdFileInfo = newEdFileInfo; finalEdFileInfo = newEdFileInfo;

View File

@ -5,11 +5,12 @@ import lombok.AllArgsConstructor;
@AllArgsConstructor @AllArgsConstructor
public enum DataOwnEnum { public enum DataOwnEnum {
COMMON(0, "数据库上传的文件或者新建的文件夹"), SYS_FILE(0, "数据库上传的文件或者新建的文件夹"),
SYS_PRJ(1, "系统管理员创建的层级"), SYS_PRJ(1, "系统管理员创建的层级"),
USER_PRJ(2, "用户自定义的层级"), USER_PRJ(2, "用户自定义的层级"),
USER_FILE(4, "用户上传的文件或创建的文件夹"),
REPO_FILE(3, "库文件"), REPO_FILE(3, "库文件"),
USER_FILE(4, "用户上传的文件或创建的文件夹"); REPO_PRJ(5, "库工程");
public int code; public int code;
public String desc; public String desc;