From aea1427eaa44a17ef9bfc25c294882bb4063981a Mon Sep 17 00:00:00 2001 From: chenxudong Date: Fri, 7 Mar 2025 17:43:38 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=BA=93=E6=96=87=E4=BB=B6?= =?UTF-8?q?=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD=E7=9A=84=E9=80=82=E9=85=8D?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/config/ElePropertyConfig.java | 146 +++++++++++++++--- .../controller/EdFileInfoController.java | 4 +- .../controller/RepoEdFileInfoController.java | 28 ++-- .../controller/UserEdFileInfoController.java | 4 +- .../manage/service/EdFileInfoService.java | 4 +- .../service/serviceimpl/CommonService.java | 10 +- .../serviceimpl/EdFileInfoServiceImpl.java | 30 ++-- .../service/serviceimpl/EdPrjServiceImpl.java | 3 - .../serviceimpl/FileRecycleServiceImpl.java | 2 +- .../software/manage/tasks/BackupTask.java | 2 +- .../src/main/resources/application.properties | 32 ++-- .../software/common/enums/DataOwnEnum.java | 26 ++++ 12 files changed, 206 insertions(+), 85 deletions(-) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/ElePropertyConfig.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/ElePropertyConfig.java index 7784ea0..0627a6b 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/ElePropertyConfig.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/ElePropertyConfig.java @@ -1,47 +1,145 @@ package com.electromagnetic.industry.software.manage.config; -import cn.hutool.core.io.FileUtil; +import com.electromagnetic.industry.software.common.enums.DataOwnEnum; import com.electromagnetic.industry.software.common.util.EleCommonUtil; import lombok.Getter; import org.springframework.beans.factory.annotation.Value; -import org.springframework.core.env.Environment; import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; -import javax.annotation.Resource; - @Component -@Getter public class ElePropertyConfig { - @Resource - private Environment environment; + @Value("${data.ele.tmp.path}") + private String eleTmpPath; - private String downloadDataDir = ""; - private String uploadDataDir = ""; - private String tmpDir = ""; - private String eleDataPath; - private String userDataPath; + @Value("${data.sys.prj.path}") + private String sysPrjPath; - private String prjDir; + @Value("${data.sys.upload.path}") + private String sysUploadPath; - @Value("${data.tmp.days:7}") + @Value("${data.sys.download.path}") + private String sysDownloadPath; + + @Value("${data.user.prj.path}") + private String userPrjPath; + + @Value("${data.user.upload.path}") + private String userUploadPath; + + @Value("${data.user.download.path}") + private String userDownloadPath; + + @Value("${data.repo.prj.path}") + private String repoPrjPath; + + @Value("${data.repo.upload.path}") + private String repoUploadPath; + + @Value("${data.repo.download.path}") + private String repoDownloadPath; + + @Getter + @Value("${tmp.file.store.days}") private int tmpFileStoreDays; + @Getter @Value("${backup.remote.host}") private String remoteHost = ""; + + @Getter @Value("${backup.remote.port}") private int remotePort; - @PostConstruct - public void init() { - uploadDataDir = EleCommonUtil.isWinOs() ? environment.getProperty("data.upload.windows.tmp.path") : environment.getProperty("data.upload.linux.tmp.path"); - downloadDataDir = EleCommonUtil.isWinOs() ? environment.getProperty("data.download.windows.tmp.path") : environment.getProperty("data.download.linux.tmp.path"); - tmpDir = EleCommonUtil.isWinOs() ? environment.getProperty("data.windows.tmp.path") : environment.getProperty("data.linux.tmp.path"); - eleDataPath = EleCommonUtil.isWinOs() ? environment.getProperty("data.windows.path") : environment.getProperty("data.linux.path"); - userDataPath = EleCommonUtil.isWinOs() ? environment.getProperty("data.windows.user.path") : environment.getProperty("data.linux.user.path"); - String tmp = EleCommonUtil.isWinOs() ? environment.getProperty("data.windows.path") : environment.getProperty("data.linux.path"); - prjDir = FileUtil.getParent(tmp, 1); + @Value("${winPrefix}") + private String winPrefix = ""; + + public String getEleTmpPath() { + if (EleCommonUtil.isWinOs()) { + return winPrefix + eleTmpPath; + } + return eleTmpPath; + } + + public String getSysPrjPath() { + if (EleCommonUtil.isWinOs()) { + return winPrefix + sysPrjPath; + } + return sysPrjPath; + } + + public String getSysUploadPath() { + if (EleCommonUtil.isWinOs()) { + return winPrefix + sysUploadPath; + } + return sysUploadPath; + } + + public String getSysDownloadPath() { + if (EleCommonUtil.isWinOs()) { + return winPrefix + sysDownloadPath; + } + return sysDownloadPath; + } + + public String getUserPrjPath() { + if (EleCommonUtil.isWinOs()) { + return winPrefix + userPrjPath; + } + return userPrjPath; + } + + public String getUserUploadPath() { + if (EleCommonUtil.isWinOs()) { + return winPrefix + userUploadPath; + } + return userUploadPath; + } + + public String getUserDownloadPath() { + if (EleCommonUtil.isWinOs()) { + return winPrefix + userDownloadPath; + } + return userDownloadPath; + } + + public String getRepoPrjPath() { + if (EleCommonUtil.isWinOs()) { + return winPrefix + repoPrjPath; + } + return repoPrjPath; + } + + public String getRepoUploadPath() { + if (EleCommonUtil.isWinOs()) { + return winPrefix + repoUploadPath; + } + return repoUploadPath; + } + + public String getRepoDownloadPath() { + if (EleCommonUtil.isWinOs()) { + return winPrefix + repoDownloadPath; + } + return repoDownloadPath; + } + + public String getUploadDataDir(int dataOwnCode) { + if (DataOwnEnum.isSysCode(dataOwnCode)) { + return getSysUploadPath(); + } else if (DataOwnEnum.isUserCode(dataOwnCode)) { + return getUserUploadPath(); + } + return getRepoUploadPath(); + } + + public String getDownloadDataDir(int dataOwnCode) { + if (DataOwnEnum.isSysCode(dataOwnCode)) { + return getSysDownloadPath(); + } else if (DataOwnEnum.isUserCode(dataOwnCode)) { + return getUserDownloadPath(); + } + return getRepoDownloadPath(); } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java index 8f9a915..8cd1aaf 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileInfoController.java @@ -128,13 +128,13 @@ public class EdFileInfoController { @UserOperation(value = "批量上传数据库", modelName = UserOperationModuleEnum.SYS_PRJ_DATABASE) @RequestMapping(value = "/batchImport", method = RequestMethod.POST) public ElectromagneticResult batchImport(FileChunkDTO fileChunkDTO) { - return edFileInfoService.batchImport(fileChunkDTO); + return edFileInfoService.batchImport(fileChunkDTO, DataOwnEnum.SYS_FILE.code); } @UserOperation(value = "批量上传数据库") @RequestMapping(value = "/batchImport", method = RequestMethod.GET) public ElectromagneticResult checkChunkExist(FileChunkDTO fileChunkDTO) { - return edFileInfoService.checkChunkExist(fileChunkDTO); + return edFileInfoService.checkChunkExist(fileChunkDTO, DataOwnEnum.SYS_FILE.code); } @UserOperation(value = "查询发布管理", modelName = UserOperationModuleEnum.SYS_PRJ_DATABASE) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RepoEdFileInfoController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RepoEdFileInfoController.java index 642b000..0be085e 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RepoEdFileInfoController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/RepoEdFileInfoController.java @@ -39,21 +39,21 @@ public class RepoEdFileInfoController { @UserOperation(value = "创建文件夹", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @RequestMapping("createFolder") public ElectromagneticResult createFolder(@RequestBody CreateFolderDTO createFolderDTO) { - return edFileInfoService.createFolder(createFolderDTO, DataOwnEnum.SYS_FILE.code); + return edFileInfoService.createFolder(createFolderDTO, DataOwnEnum.REPO_FILE.code); } @UserOperation(value = "作废", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @RequiredPermission(value = FilePermission.DELETE) @RequestMapping("delete") public ElectromagneticResult delete(@RequestParam String id) { - return edFileInfoService.delete(id, DataOwnEnum.SYS_FILE.code); + return edFileInfoService.delete(id, DataOwnEnum.REPO_FILE.code); } @UserOperation(value = "查询文件", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @RequiredPermission(value = FilePermission.VIEW) @RequestMapping("info") public ElectromagneticResult info(@RequestBody FileInfoQueryDTO fileInfoQueryDTO) { - return edFileInfoService.queryEdFileInfo(fileInfoQueryDTO, DataOwnEnum.SYS_FILE.code); + return edFileInfoService.queryEdFileInfo(fileInfoQueryDTO, DataOwnEnum.REPO_FILE.code); } @UserOperation(value = "上传文件", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @@ -62,21 +62,21 @@ public class RepoEdFileInfoController { public ElectromagneticResult upload(@RequestParam("parentId") String parentId, @RequestParam("file") MultipartFile file, @RequestParam("strategy") Integer strategy) { - return edFileInfoService.upload(parentId, file, strategy, DataOwnEnum.SYS_FILE.code); + return edFileInfoService.upload(parentId, file, strategy, DataOwnEnum.REPO_FILE.code); } @UserOperation(value = "下载文件", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @RequiredPermission(value = FilePermission.DOWNLOAD) @RequestMapping("download") public ResponseEntity download(@RequestParam String id, HttpServletResponse response) { - return edFileInfoService.download(id, response, DataOwnEnum.SYS_FILE.code); + return edFileInfoService.download(id, response, DataOwnEnum.REPO_FILE.code); } @UserOperation(value = "更新文件信息", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @RequiredPermission(value = FilePermission.EDIT) @RequestMapping("updateFileInfo") public ElectromagneticResult updateFileInfo(@RequestBody UpdateFileInfoDTO updateFileInfoDTO) { - return edFileInfoService.updateFileInfo(updateFileInfoDTO, DataOwnEnum.SYS_FILE.code); + return edFileInfoService.updateFileInfo(updateFileInfoDTO, DataOwnEnum.REPO_FILE.code); } @UserOperation(value = "移动文件", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @@ -85,7 +85,7 @@ public class RepoEdFileInfoController { public ElectromagneticResult moveFile(@RequestParam("id") String id, @RequestParam("targetFolderId") String targetFolderId, @RequestParam("strategy") Integer strategy) { - return edFileInfoService.moveFile(id, targetFolderId, strategy, DataOwnEnum.SYS_FILE.code); + return edFileInfoService.moveFile(id, targetFolderId, strategy, DataOwnEnum.REPO_FILE.code); } @UserOperation(value = "复制文件", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @@ -94,7 +94,7 @@ public class RepoEdFileInfoController { public ElectromagneticResult copyFile(@RequestParam("id") String id, @RequestParam("targetFolderId") String targetFolderId, @RequestParam("strategy") Integer strategy) { - return edFileInfoService.copyFile(id, targetFolderId, strategy, DataOwnEnum.SYS_FILE.code); + return edFileInfoService.copyFile(id, targetFolderId, strategy, DataOwnEnum.REPO_FILE.code); } @UserOperation(value = "查看文件历史版本信息", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @@ -114,7 +114,7 @@ public class RepoEdFileInfoController { @UserOperation(value = "导出数据库", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @RequestMapping("batchExport") public ResponseEntity batchExport(@RequestParam String fileIds, HttpServletResponse response) throws IOException { - return edFileInfoService.batchExport(fileIds, response, DataOwnEnum.SYS_FILE.code); + return edFileInfoService.batchExport(fileIds, response, DataOwnEnum.REPO_FILE.code); } @UserOperation(value = "批量上传数据库", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @@ -128,19 +128,19 @@ public class RepoEdFileInfoController { @UserOperation(value = "批量上传数据库", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @RequestMapping(value = "/batchImport", method = RequestMethod.POST) public ElectromagneticResult batchImport(FileChunkDTO fileChunkDTO) { - return edFileInfoService.batchImport(fileChunkDTO); + return edFileInfoService.batchImport(fileChunkDTO, DataOwnEnum.REPO_FILE.code); } @UserOperation(value = "批量上传数据库") @RequestMapping(value = "/batchImport", method = RequestMethod.GET) public ElectromagneticResult checkChunkExist(FileChunkDTO fileChunkDTO) { - return edFileInfoService.checkChunkExist(fileChunkDTO); + return edFileInfoService.checkChunkExist(fileChunkDTO, DataOwnEnum.REPO_FILE.code); } @UserOperation(value = "查询发布管理", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @RequestMapping(value = "/uploadRecord", method = RequestMethod.GET) public ElectromagneticResult uploadRecord(@RequestParam int pageNum, @RequestParam int pageSize) { - return edFileInfoService.uploadRecord(pageNum, pageSize, DataOwnEnum.SYS_FILE.code); + return edFileInfoService.uploadRecord(pageNum, pageSize, DataOwnEnum.REPO_FILE.code); } @UserOperation(value = "查询文件详细信息", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @@ -154,14 +154,14 @@ public class RepoEdFileInfoController { @RequiredPermission(value = FilePermission.VIEW) @RequestMapping(value = "/queryChildFolder", method = RequestMethod.GET) public ElectromagneticResult queryChildFolder(@RequestParam String parentId) { - return edFileInfoService.queryChildFolder(parentId, DataOwnEnum.SYS_FILE.code); + return edFileInfoService.queryChildFolder(parentId, DataOwnEnum.REPO_FILE.code); } @UserOperation(value = "预览文件", modelName = UserOperationModuleEnum.REPO_PRJ_DATABASE) @RequiredPermission(value = FilePermission.DOWNLOAD) @RequestMapping(value = "preview", method = RequestMethod.GET) public ResponseEntity preview(@RequestParam String id, HttpServletResponse response) { - return edFileInfoService.preview(id, response, DataOwnEnum.SYS_FILE.code); + return edFileInfoService.preview(id, response, DataOwnEnum.REPO_FILE.code); } /** diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserEdFileInfoController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserEdFileInfoController.java index 2e0a2f3..60c1795 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserEdFileInfoController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserEdFileInfoController.java @@ -86,13 +86,13 @@ public class UserEdFileInfoController { @UserOperation(value = "批量上传数据库", modelName = UserOperationModuleEnum.USER_PRJ) @RequestMapping(value = "/batchImport", method = RequestMethod.POST) public ElectromagneticResult batchImport(FileChunkDTO fileChunkDTO) { - return edFileInfoService.batchImport(fileChunkDTO); + return edFileInfoService.batchImport(fileChunkDTO, DataOwnEnum.USER_FILE.code); } @UserOperation(value = "批量上传数据库") @RequestMapping(value = "/batchImport", method = RequestMethod.GET) public ElectromagneticResult checkChunkExist(FileChunkDTO fileChunkDTO) { - return edFileInfoService.checkChunkExist(fileChunkDTO); + return edFileInfoService.checkChunkExist(fileChunkDTO, DataOwnEnum.USER_FILE.code); } @UserOperation(value = "更新文件信息", modelName = UserOperationModuleEnum.USER_PRJ) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java index ab539d6..c8d24ab 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileInfoService.java @@ -79,7 +79,7 @@ public interface EdFileInfoService { * @param fileChunkDTO * @return */ - ElectromagneticResult checkChunkExist(FileChunkDTO fileChunkDTO); + ElectromagneticResult checkChunkExist(FileChunkDTO fileChunkDTO, int dataOwnCode); /** * 批量导入 @@ -87,7 +87,7 @@ public interface EdFileInfoService { * @param fileChunkDTO * @return */ - ElectromagneticResult batchImport(FileChunkDTO fileChunkDTO); + ElectromagneticResult batchImport(FileChunkDTO fileChunkDTO, int dataOwnCode); /** * 合并分片 diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java index e37a69f..602d160 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/CommonService.java @@ -60,10 +60,12 @@ public class CommonService { @PostConstruct public void init() { - PATH_MAP.put(DataOwnEnum.SYS_FILE.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_FILE.code, elePropertyConfig.getUserDataPath()); + PATH_MAP.put(DataOwnEnum.SYS_FILE.code, elePropertyConfig.getSysPrjPath()); + PATH_MAP.put(DataOwnEnum.SYS_PRJ.code, elePropertyConfig.getSysPrjPath()); + PATH_MAP.put(DataOwnEnum.USER_PRJ.code, elePropertyConfig.getUserPrjPath()); + PATH_MAP.put(DataOwnEnum.USER_FILE.code, elePropertyConfig.getUserPrjPath()); + PATH_MAP.put(DataOwnEnum.REPO_FILE.code, elePropertyConfig.getRepoPrjPath()); + PATH_MAP.put(DataOwnEnum.REPO_PRJ.code, elePropertyConfig.getRepoPrjPath()); } private static String createTree(List edFileInfos, Object object) { diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java index 05c16c0..c4315ff 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileInfoServiceImpl.java @@ -376,9 +376,9 @@ public class EdFileInfoServiceImpl extends ServiceImpl checkChunkExist(FileChunkDTO fileChunkDTO) { + public ElectromagneticResult checkChunkExist(FileChunkDTO fileChunkDTO, int dataOwnCode) { String currentUserId = UserThreadLocal.getUserId(); - String userUploadFolder = elePropertyConfig.getUploadDataDir() + File.separator + currentUserId; + String userUploadFolder = elePropertyConfig.getUploadDataDir(dataOwnCode) + File.separator + currentUserId; String identifier = fileChunkDTO.getIdentifier(); List uploadedChunks = getUploadedChunks(identifier, userUploadFolder); return ElectromagneticResultUtil.success(new FileChunkResultDTO(false, new HashSet<>(uploadedChunks))); @@ -404,11 +404,11 @@ public class EdFileInfoServiceImpl extends ServiceImpl batchImport(FileChunkDTO fileChunkDTO) { + public ElectromagneticResult batchImport(FileChunkDTO fileChunkDTO, int dataOwnCode) { String currentUserId = UserThreadLocal.getUserId(); String identifier = fileChunkDTO.getIdentifier(); // 首先检查该分片有没被上传,如果有则禁止上传 - String destPath = elePropertyConfig.getUploadDataDir() + File.separator + currentUserId + File.separator + identifier + File.separator + fileChunkDTO.getChunkNumber() + UPLOAD_FILE_CHUNK_SUFFIX; + String destPath = elePropertyConfig.getUploadDataDir(dataOwnCode) + File.separator + currentUserId + File.separator + identifier + File.separator + fileChunkDTO.getChunkNumber() + UPLOAD_FILE_CHUNK_SUFFIX; boolean exist = FileUtil.exist(destPath); if (exist) { return ElectromagneticResultUtil.fail("-1", "文件已经存在,请勿重复上传"); @@ -438,7 +438,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl mergeChunks(String identifier, String fileName, Integer totalChunks, int dataOwnCode) { String currentUserId = UserThreadLocal.getUserId(); - String destColibPath = doSysFileMerge(identifier, fileName, totalChunks); + String destColibPath = doSysFileMerge(identifier, fileName, totalChunks, dataOwnCode); String mainName = FileUtil.mainName(destColibPath); String parentDir = FileUtil.getParent(destColibPath, 1); String zipDirPath = parentDir + File.separator + mainName + ".zip"; @@ -454,7 +454,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl batchExport(String dataIdArr, HttpServletResponse response, int dataOwnCode) throws IOException { - String userDownloadDataDir = elePropertyConfig.getDownloadDataDir() + File.separator + UserThreadLocal.getUserId(); + String userDownloadDataDir = elePropertyConfig.getDownloadDataDir(dataOwnCode) + File.separator + UserThreadLocal.getUserId(); String[] ids = dataIdArr.split(","); if (dataOwnCode == DataOwnEnum.SYS_FILE.code) { Map map = permissionService.filterExportIds(ids); @@ -676,7 +676,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl prjFolders = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class) .likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT) .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code) - .eq(EdFileInfo::getDataOwn, dataOwnCode == DataOwnEnum.SYS_FILE.code ? DataOwnEnum.SYS_PRJ.code : DataOwnEnum.USER_PRJ.code) + .eq(EdFileInfo::getDataOwn, DataOwnEnum.getPrjCodeByFileCode(dataOwnCode)) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)); EdFileInfo prjFileInfo = this.baseMapper.selectById(prjId); Map prjFoldersMap = prjFolders.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e)); @@ -693,7 +693,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl @Override @Transactional(rollbackFor = Exception.class) public ElectromagneticResult folderResort(List folderResortDTOList) { - Date now = new Date(); - String currentUserId = UserThreadLocal.getUserId(); try { for (FolderResortDTO folderResortDTO : folderResortDTOList) { LambdaUpdateWrapper updateWrapper = Wrappers.lambdaUpdate(EdFileInfo.class) @@ -387,7 +385,6 @@ public class EdPrjServiceImpl extends ServiceImpl String newFolderId = String.valueOf(maxFolderId + 1); String nowTimeStr = EleCommonUtil.getNowTimeStr(); String fileCode = commonService.createFileCode(targetParentFile.getId(), EleDataTypeEnum.FOLDER.desc, FILE_START_VERSION, nowTimeStr); - Date now = new Date(); targetFile.setId(newFolderId) .setFileId(newFolderId) .setFileName(sourceFile.getFileName()) diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java index f319296..83d3802 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/FileRecycleServiceImpl.java @@ -193,7 +193,7 @@ public class FileRecycleServiceImpl implements FileRecycleService { // 移动到tmp目录,七天后删除 for (String fileSysPath : fileSysPaths) { - fileSystemService.moveFile(fileSysPath, elePropertyConfig.getTmpDir() + File.separator + new File(fileSysPath).getName()); + fileSystemService.moveFile(fileSysPath, elePropertyConfig.getEleTmpPath() + File.separator + new File(fileSysPath).getName()); } // 更新MySQL数据库 diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/tasks/BackupTask.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/tasks/BackupTask.java index f536337..bf1c34f 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/tasks/BackupTask.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/tasks/BackupTask.java @@ -133,7 +133,7 @@ public class BackupTask { public void deleteTmpFile() { DateTime backDaysTime = DateUtil.offsetDay(new Date(), -elePropertyConfig.getTmpFileStoreDays()); FileFilter filter = file -> file.lastModified() < backDaysTime.getTime(); - List files = FileUtil.loopFiles(elePropertyConfig.getTmpDir(), filter); + List files = FileUtil.loopFiles(elePropertyConfig.getEleTmpPath(), filter); for (File file : files) { fileSystemService.deleteFile(file.getAbsolutePath()); UserAccessLog userAccessLog = new UserAccessLog() diff --git a/electrmangnetic/src/main/resources/application.properties b/electrmangnetic/src/main/resources/application.properties index 0f2a33f..be0fe58 100644 --- a/electrmangnetic/src/main/resources/application.properties +++ b/electrmangnetic/src/main/resources/application.properties @@ -13,24 +13,22 @@ spring.servlet.multipart.max-request-size=500MB pagehelper.helperDialect=mysql pagehelper.reasonable=false server.port=12396 -#windows文件存储目录,用于测试 -data.windows.path=D:/tmp/szsd/data/eleData/dev/project/ -data.upload.windows.tmp.path=D:/tmp/szsd/data/eleData/dev/upload/ -data.download.windows.tmp.path=D:/tmp/szsd/data/eleData/dev/download/ -data.windows.tmp.path=D:/tmp/szsd/data/eleData/dev/tmp -data.windows.user.path=D:/tmp/szsd/data/eleData/dev/user_project/ -data.upload.windows.user.tmp.path=D:/tmp/szsd/data/eleData/dev/user_upload/ -data.download.windows.user.tmp.path=D:/tmp/szsd/data/eleData/dev/usr_download/ -data.windows.usere.tmp.path=D:/tmp/szsd/data/eleData/dev/user_tmp -data.linux.path=/szsd/data/eleData/dev/project/ -data.upload.linux.tmp.path=/szsd/data/eleData/dev/upload/ -data.download.linux.tmp.path=/szsd/data/eleData/dev/download/ -data.linux.tmp.path=/szsd/data/eleData/dev/tmp + +winPrefix: D:/tmp +data.ele.tmp.path=/szsd/data/eleData/dev/tmp +# sys path +data.sys.prj.path=/szsd/data/eleData/dev/sys_project/ +data.sys.upload.path=/szsd/data/eleData/dev/sys_upload/ +data.sys.download.path=/szsd/data/eleData/dev/sys_download/ # user path -data.linux.user.path=/szsd/data/eleData/dev/user_project/ -data.upload.linux.user.tmp.path=/szsd/data/eleData/dev/user_upload/ -data.download.linux.user.tmp.path=/szsd/data/eleData/dev/usr_download/ -data.linux.user.tmp.path=/szsd/data/eleData/dev/user_tmp +data.user.prj.path=/szsd/data/eleData/dev/user_project/ +data.user.upload.path=/szsd/data/eleData/dev/user_upload/ +data.user.download.path=/szsd/data/eleData/dev/user_download/ +# repo path +data.repo.prj.path=/szsd/data/eleData/dev/repo_project/ +data.repo.upload.path=/szsd/data/eleData/dev/repo_upload/ +data.repo.download.path=/szsd/data/eleData/dev/repo_download/ + prj.folder.max.length=6 spring.jackson.time-zone=GMT+8 tmp.file.store.days=7 diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/DataOwnEnum.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/DataOwnEnum.java index cfeae44..c20afc3 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/DataOwnEnum.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/DataOwnEnum.java @@ -2,6 +2,9 @@ package com.electromagnetic.industry.software.common.enums; import lombok.AllArgsConstructor; +import java.util.HashMap; +import java.util.Map; + @AllArgsConstructor public enum DataOwnEnum { @@ -24,4 +27,27 @@ public enum DataOwnEnum { return code == SYS_FILE.code || code == USER_FILE.code || code == REPO_FILE.code; } + private static final Map FILE_PRJ_MAP = new HashMap<>(); + + static { + FILE_PRJ_MAP.put(DataOwnEnum.SYS_FILE.code, DataOwnEnum.SYS_PRJ.code); + FILE_PRJ_MAP.put(DataOwnEnum.USER_FILE.code, DataOwnEnum.USER_PRJ.code); + FILE_PRJ_MAP.put(DataOwnEnum.REPO_FILE.code, DataOwnEnum.REPO_PRJ.code); + } + + public static int getPrjCodeByFileCode(int fileCode) { + return FILE_PRJ_MAP.get(fileCode); + } + + public static boolean isSysCode(int code) { + return code == SYS_FILE.code || code == SYS_PRJ.code; + } + + public static boolean isUserCode(int code) { + return code == USER_FILE.code || code == USER_PRJ.code; + } + + public static boolean isRepoCode(int code) { + return code == REPO_FILE.code || code == REPO_PRJ.code; + } } \ No newline at end of file