From ac415f13b41bd8776ee8a694503273ec23b98655 Mon Sep 17 00:00:00 2001 From: chenxudong Date: Thu, 20 Feb 2025 15:13:22 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=87=AA=E5=AE=9A=E4=B9=89?= =?UTF-8?q?=E5=B1=82=E7=BA=A7=E7=9B=B8=E5=85=B3=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/EdFileInfoController.java | 35 ++--- .../controller/EdFileRelationController.java | 3 +- .../manage/controller/ProjectController.java | 26 ++-- .../manage/controller/UserPrjController.java | 90 +++++++++++++ .../manage/pojo/models/EdFileInfo.java | 4 +- .../manage/service/EdFileInfoService.java | 28 ++-- .../manage/service/EdFileRelationService.java | 4 +- .../software/manage/service/EdPrjService.java | 21 +-- .../service/serviceimpl/CommonService.java | 68 ++++++---- .../serviceimpl/EdFileInfoServiceImpl.java | 122 +++++++++--------- .../EdFileRelationServiceImpl.java | 17 ++- .../service/serviceimpl/EdPrjServiceImpl.java | 83 +++++++----- .../service/serviceimpl/RoleServiceImpl.java | 4 +- .../src/main/resources/application.properties | 13 +- .../common/cons/ElectromagneticConstants.java | 2 + .../software/common/enums/DataOwnEnum.java | 16 +++ .../common/enums/UserOperationModuleEnum.java | 1 + 17 files changed, 353 insertions(+), 184 deletions(-) create mode 100644 electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserPrjController.java create mode 100644 electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/DataOwnEnum.java 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 75226e5..df68ba0 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 @@ -2,6 +2,7 @@ package com.electromagnetic.industry.software.manage.controller; import com.electromagnetic.industry.software.common.annotations.RequiredPermission; import com.electromagnetic.industry.software.common.annotations.UserOperation; +import com.electromagnetic.industry.software.common.enums.DataOwnEnum; import com.electromagnetic.industry.software.common.enums.FilePermission; import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; @@ -29,27 +30,27 @@ public class EdFileInfoController { @UserOperation(value = "查看了工程树", modelName = UserOperationModuleEnum.DATABASE) @RequestMapping("tree") public ElectromagneticResult tree() { - return edFileInfoService.tree(); + return edFileInfoService.tree(DataOwnEnum.COMMON.code); } @UserOperation(value = "创建了文件夹", modelName = UserOperationModuleEnum.DATABASE) @RequestMapping("createFolder") public ElectromagneticResult createFolder(@RequestBody CreateFolderDTO createFolderDTO) { - return edFileInfoService.createFolder(createFolderDTO); + return edFileInfoService.createFolder(createFolderDTO, DataOwnEnum.COMMON.code); } @UserOperation(value = "作废了文件夹", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.DELETE) @RequestMapping("delete") public ElectromagneticResult delete(@RequestParam String id) { - return edFileInfoService.delete(id); + return edFileInfoService.delete(id, DataOwnEnum.COMMON.code); } @UserOperation(value = "查询了文件", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.VIEW) @RequestMapping("info") public ElectromagneticResult info(@RequestBody FileInfoQueryDTO fileInfoQueryDTO) { - return edFileInfoService.queryEdFileInfo(fileInfoQueryDTO); + return edFileInfoService.queryEdFileInfo(fileInfoQueryDTO, DataOwnEnum.COMMON.code); } @UserOperation(value = "上传了文件", modelName = UserOperationModuleEnum.DATABASE) @@ -58,21 +59,21 @@ public class EdFileInfoController { public ElectromagneticResult upload(@RequestParam("parentId") String parentId, @RequestParam("file") MultipartFile file, @RequestParam("strategy") Integer strategy) { - return edFileInfoService.upload(parentId, file, strategy); + return edFileInfoService.upload(parentId, file, strategy, DataOwnEnum.COMMON.code); } @UserOperation(value = "下载了文件", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.DOWNLOAD) @RequestMapping("download") public ResponseEntity download(@RequestParam String id, HttpServletResponse response) { - return edFileInfoService.download(id, response); + return edFileInfoService.download(id, response, DataOwnEnum.COMMON.code); } @UserOperation(value = "更新了文件信息", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.EDIT) @RequestMapping("updateFileInfo") public ElectromagneticResult updateFileInfo(@RequestBody UpdateFileInfoDTO updateFileInfoDTO) { - return edFileInfoService.updateFileInfo(updateFileInfoDTO); + return edFileInfoService.updateFileInfo(updateFileInfoDTO, DataOwnEnum.COMMON.code); } @UserOperation(value = "移动了文件", modelName = UserOperationModuleEnum.DATABASE) @@ -81,7 +82,7 @@ public class EdFileInfoController { public ElectromagneticResult moveFile(@RequestParam("id") String id, @RequestParam("targetFolderId") String targetFolderId, @RequestParam("strategy") Integer strategy) { - return edFileInfoService.moveFile(id, targetFolderId, strategy); + return edFileInfoService.moveFile(id, targetFolderId, strategy, DataOwnEnum.COMMON.code); } @UserOperation(value = "复制了文件", modelName = UserOperationModuleEnum.DATABASE) @@ -90,7 +91,7 @@ public class EdFileInfoController { public ElectromagneticResult copyFile(@RequestParam("id") String id, @RequestParam("targetFolderId") String targetFolderId, @RequestParam("strategy") Integer strategy) { - return edFileInfoService.copyFile(id, targetFolderId, strategy); + return edFileInfoService.copyFile(id, targetFolderId, strategy, DataOwnEnum.COMMON.code); } @UserOperation(value = "查看了文件历史版本信息", modelName = UserOperationModuleEnum.DATABASE) @@ -110,24 +111,24 @@ public class EdFileInfoController { @UserOperation(value = "导出了数据库", modelName = UserOperationModuleEnum.DATABASE) @RequestMapping("batchExport") public ResponseEntity batchExport(@RequestParam String fileIds, HttpServletResponse response) throws IOException { - return edFileInfoService.batchExport(fileIds, response); + return edFileInfoService.batchExport(fileIds, response, DataOwnEnum.COMMON.code); } - @UserOperation(value = "批量了数据库", modelName = UserOperationModuleEnum.DATABASE) + @UserOperation(value = "批量上传了数据库", modelName = UserOperationModuleEnum.DATABASE) @RequestMapping(value = "/mergeChunks", method = RequestMethod.GET) public ElectromagneticResult mergeChunks(@RequestParam String identifier, @RequestParam String fileName, @RequestParam Integer totalChunks) { - return edFileInfoService.mergeChunks(identifier, fileName, totalChunks); + return edFileInfoService.mergeChunks(identifier, fileName, totalChunks, DataOwnEnum.COMMON.code); } - @UserOperation(value = "批量了数据库", modelName = UserOperationModuleEnum.DATABASE) + @UserOperation(value = "批量上传了数据库", modelName = UserOperationModuleEnum.DATABASE) @RequestMapping(value = "/batchImport", method = RequestMethod.POST) public ElectromagneticResult batchImport(FileChunkDTO fileChunkDTO) { return edFileInfoService.batchImport(fileChunkDTO); } - @UserOperation(value = "批量了数据库") + @UserOperation(value = "批量上传了数据库") @RequestMapping(value = "/batchImport", method = RequestMethod.GET) public ElectromagneticResult checkChunkExist(FileChunkDTO fileChunkDTO) { return edFileInfoService.checkChunkExist(fileChunkDTO); @@ -136,7 +137,7 @@ public class EdFileInfoController { @UserOperation(value = "查询了发布管理", modelName = UserOperationModuleEnum.DATABASE) @RequestMapping(value = "/uploadRecord", method = RequestMethod.GET) public ElectromagneticResult uploadRecord(@RequestParam int pageNum, @RequestParam int pageSize) { - return edFileInfoService.uploadRecord(pageNum, pageSize); + return edFileInfoService.uploadRecord(pageNum, pageSize, DataOwnEnum.COMMON.code); } @UserOperation(value = "查询了文件详细信息", modelName = UserOperationModuleEnum.DATABASE) @@ -150,13 +151,13 @@ public class EdFileInfoController { @RequiredPermission(value = FilePermission.VIEW) @RequestMapping(value = "/queryChildFolder", method = RequestMethod.GET) public ElectromagneticResult queryChildFolder(@RequestParam String parentId) { - return edFileInfoService.queryChildFolder(parentId); + return edFileInfoService.queryChildFolder(parentId, DataOwnEnum.COMMON.code); } @UserOperation(value = "预览了文件", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.DOWNLOAD) @RequestMapping(value = "preview", method = RequestMethod.GET) public ResponseEntity preview(@RequestParam String id, HttpServletResponse response) { - return edFileInfoService.preview(id, response); + return edFileInfoService.preview(id, response, DataOwnEnum.COMMON.code); } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileRelationController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileRelationController.java index 769193f..29514f8 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileRelationController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/EdFileRelationController.java @@ -1,6 +1,7 @@ package com.electromagnetic.industry.software.manage.controller; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.electromagnetic.industry.software.common.enums.DataOwnEnum; import com.electromagnetic.industry.software.common.exception.BizException; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; import com.electromagnetic.industry.software.common.util.ElectromagneticResultUtil; @@ -86,6 +87,6 @@ public class EdFileRelationController { @RequestParam("file") MultipartFile file, @RequestParam("description") String description, @RequestParam("id") String id) { - return ElectromagneticResultUtil.success(edFileRelationService.uploadFileAndRelation(parentId, id, file, description)); + return ElectromagneticResultUtil.success(edFileRelationService.uploadFileAndRelation(parentId, id, file, description, DataOwnEnum.COMMON.code)); } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java index a3c0000..4a24767 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/ProjectController.java @@ -1,6 +1,8 @@ package com.electromagnetic.industry.software.manage.controller; import com.electromagnetic.industry.software.common.annotations.UserOperation; +import com.electromagnetic.industry.software.common.enums.DataOwnEnum; +import com.electromagnetic.industry.software.common.enums.EleDataStatusEnum; import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; import com.electromagnetic.industry.software.manage.pojo.req.FolderResortDTO; @@ -25,43 +27,43 @@ public class ProjectController { @UserOperation(value = "创建了工程", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("create") public ElectromagneticResult create(@RequestParam String prjName) { - return edPrjService.createNewPrj(prjName); + return edPrjService.createNewPrj(prjName, DataOwnEnum.SYS_PRJ.code); } - @UserOperation(value = "复制了文件", modelName = UserOperationModuleEnum.PRJ_SETTING) - @RequestMapping("废除了工程") + @UserOperation(value = "删除工程", modelName = UserOperationModuleEnum.PRJ_SETTING) + @RequestMapping("delete") public ElectromagneticResult delete(@RequestParam String prjId) { - return edPrjService.delete(prjId); + return edPrjService.delete(prjId, DataOwnEnum.SYS_PRJ.code); } @UserOperation(value = "修改了工程名", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("modify") public ElectromagneticResult modifyPrjName(@RequestParam String newPrjName, @RequestParam String prjId) { - return edPrjService.modifyPrjName(prjId, newPrjName); + return edPrjService.modifyPrjName(prjId, newPrjName, DataOwnEnum.SYS_PRJ.code); } @UserOperation(value = "查询了所有工程", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("queryAll") public ElectromagneticResult queryAll() { - return edPrjService.queryAllPrjInfo(); + return edPrjService.queryAllPrjInfo(DataOwnEnum.SYS_PRJ.code); } @UserOperation(value = "添加了子集", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("addFolder") public ElectromagneticResult addFolder(@RequestParam String folderName, @RequestParam String parentId) { - return edPrjService.addFolder(parentId, folderName); + return edPrjService.addFolder(parentId, folderName, DataOwnEnum.SYS_PRJ.code); } @UserOperation(value = "修改了子集名称", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("modifyFolder") public ElectromagneticResult modifyFolder(@RequestParam String newFolderName, @RequestParam String id) { - return edPrjService.modifyFolder(id, newFolderName); + return edPrjService.modifyFolder(id, newFolderName, DataOwnEnum.SYS_PRJ.code); } @UserOperation(value = "废除了子集", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("deleteFolder") public ElectromagneticResult deleteFolder(@RequestParam String id) { - return edPrjService.deleteFolder(id); + return edPrjService.deleteFolder(id, DataOwnEnum.SYS_PRJ.code); } @UserOperation(value = "更改了层级顺序", modelName = UserOperationModuleEnum.PRJ_SETTING) @@ -73,18 +75,18 @@ public class ProjectController { @UserOperation(value = "发布了工程", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("publish") public ElectromagneticResult publish(@RequestParam String prjId) { - return edPrjService.publish(prjId); + return edPrjService.publish(prjId, DataOwnEnum.SYS_PRJ.code); } @UserOperation(value = "引用了工程", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("follow") public ElectromagneticResult follow(@RequestParam String sourceId, @RequestParam String targetId) { - return edPrjService.follow(sourceId, targetId); + return edPrjService.follow(sourceId, targetId, DataOwnEnum.SYS_PRJ.code); } @UserOperation(value = "查询了工程发布状态", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("publishStatus") public ElectromagneticResult publishStatus(@RequestBody QueryPublishStatus queryPublishStatus) { - return edPrjService.publishStatus(queryPublishStatus); + return edPrjService.publishStatus(queryPublishStatus, DataOwnEnum.SYS_PRJ.code); } } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserPrjController.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserPrjController.java new file mode 100644 index 0000000..8e2015b --- /dev/null +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/controller/UserPrjController.java @@ -0,0 +1,90 @@ +package com.electromagnetic.industry.software.manage.controller; + +import com.electromagnetic.industry.software.common.annotations.UserOperation; +import com.electromagnetic.industry.software.common.enums.DataOwnEnum; +import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum; +import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; +import com.electromagnetic.industry.software.manage.pojo.req.FolderResortDTO; +import com.electromagnetic.industry.software.manage.pojo.req.QueryPublishStatus; +import com.electromagnetic.industry.software.manage.service.EdPrjService; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +@RestController +@RequestMapping("/data/ed/user/prj") +public class UserPrjController { + + @Resource + private EdPrjService edPrjService; + + @UserOperation(value = "创建了工程", modelName = UserOperationModuleEnum.PRJ_SETTING) + @RequestMapping("create") + public ElectromagneticResult create(@RequestParam String prjName) { + return edPrjService.createNewPrj(prjName, DataOwnEnum.USER_PRJ.code); + } + + @UserOperation(value = "删除工程", modelName = UserOperationModuleEnum.PRJ_SETTING) + @RequestMapping("delete") + public ElectromagneticResult delete(@RequestParam String prjId) { + return edPrjService.delete(prjId, DataOwnEnum.USER_PRJ.code); + } + + @UserOperation(value = "修改了工程名", modelName = UserOperationModuleEnum.PRJ_SETTING) + @RequestMapping("modify") + public ElectromagneticResult modifyPrjName(@RequestParam String newPrjName, @RequestParam String prjId) { + return edPrjService.modifyPrjName(prjId, newPrjName, DataOwnEnum.USER_PRJ.code); + } + + @UserOperation(value = "查询了所有工程", modelName = UserOperationModuleEnum.PRJ_SETTING) + @RequestMapping("queryAll") + public ElectromagneticResult queryAll() { + return edPrjService.queryAllPrjInfo(DataOwnEnum.USER_PRJ.code); + } + + @UserOperation(value = "添加了子集", modelName = UserOperationModuleEnum.PRJ_SETTING) + @RequestMapping("addFolder") + public ElectromagneticResult addFolder(@RequestParam String folderName, @RequestParam String parentId) { + return edPrjService.addFolder(parentId, folderName, DataOwnEnum.USER_PRJ.code); + } + + @UserOperation(value = "修改了子集名称", modelName = UserOperationModuleEnum.PRJ_SETTING) + @RequestMapping("modifyFolder") + public ElectromagneticResult modifyFolder(@RequestParam String newFolderName, @RequestParam String id) { + return edPrjService.modifyFolder(id, newFolderName, DataOwnEnum.USER_PRJ.code); + } + + @UserOperation(value = "废除了子集", modelName = UserOperationModuleEnum.PRJ_SETTING) + @RequestMapping("deleteFolder") + public ElectromagneticResult deleteFolder(@RequestParam String id) { + return edPrjService.deleteFolder(id, DataOwnEnum.USER_PRJ.code); + } + + @UserOperation(value = "更改了层级顺序", modelName = UserOperationModuleEnum.PRJ_SETTING) + @RequestMapping("folderResort") + public ElectromagneticResult folderResort(@RequestBody List folderResortDTOList) { + return edPrjService.folderResort(folderResortDTOList); + } + + @UserOperation(value = "发布了工程", modelName = UserOperationModuleEnum.PRJ_SETTING) + @RequestMapping("publish") + public ElectromagneticResult publish(@RequestParam String prjId) { + return edPrjService.publish(prjId, DataOwnEnum.USER_PRJ.code); + } + + @UserOperation(value = "引用了工程", modelName = UserOperationModuleEnum.PRJ_SETTING) + @RequestMapping("follow") + public ElectromagneticResult follow(@RequestParam String sourceId, @RequestParam String targetId) { + return edPrjService.follow(sourceId, targetId, DataOwnEnum.USER_PRJ.code); + } + + @UserOperation(value = "查询了工程发布状态", modelName = UserOperationModuleEnum.PRJ_SETTING) + @RequestMapping("publishStatus") + public ElectromagneticResult publishStatus(@RequestBody QueryPublishStatus queryPublishStatus) { + return edPrjService.publishStatus(queryPublishStatus, DataOwnEnum.USER_PRJ.code); + } +} diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/EdFileInfo.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/EdFileInfo.java index ffaddb2..065060d 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/EdFileInfo.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/EdFileInfo.java @@ -111,10 +111,10 @@ public class EdFileInfo extends BaseModel { @TableField(value = "file_code") private String fileCode; /** - * 是否是管理员定义的系统层级目录 + * 数据的归属:0-》上传的文件或者新建的文件夹 1-》系统管理员创建的层级 2-》用户自定义的层级 */ @TableField(value = "prj_dir") - private Boolean prjDir; + private Integer dataOwn; /** 当一个文件作废时,其所有的历史文件也会跟着作废,此时该文件及其历史文件的all_deleted=true**/ @TableField(value = "all_deleted") 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 02f8001..9a3c6b9 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 @@ -20,21 +20,21 @@ public interface EdFileInfoService { * @param fileInfoQueryDTO * @return */ - ElectromagneticResult queryEdFileInfo(FileInfoQueryDTO fileInfoQueryDTO); + ElectromagneticResult queryEdFileInfo(FileInfoQueryDTO fileInfoQueryDTO, int dataOwnCode); /** * 新建文件夹 * * @return */ - ElectromagneticResult createFolder(CreateFolderDTO createFolderDTO); + ElectromagneticResult createFolder(CreateFolderDTO createFolderDTO, int dataOwnCode); /** * 项目层级结构查询 * * @return */ - ElectromagneticResult tree(); + ElectromagneticResult tree(int dataOwnCode); /** * 删除目录 @@ -42,7 +42,7 @@ public interface EdFileInfoService { * @param id * @return */ - ElectromagneticResult delete(String id); + ElectromagneticResult delete(String id, int dataOwnCode); /** * 下载文件 @@ -50,14 +50,14 @@ public interface EdFileInfoService { * @param id * @return */ - ResponseEntity download(String id, HttpServletResponse response); + ResponseEntity download(String id, HttpServletResponse response, int dataOwnCode); /** * 更新文件信息 * * @param updateFileInfoDTO */ - ElectromagneticResult updateFileInfo(UpdateFileInfoDTO updateFileInfoDTO); + ElectromagneticResult updateFileInfo(UpdateFileInfoDTO updateFileInfoDTO, int dataOwnCode); /** * 版本回退 @@ -92,7 +92,7 @@ public interface EdFileInfoService { * @param totalChunks * @return */ - ElectromagneticResult mergeChunks(String identifier, String fileName, Integer totalChunks); + ElectromagneticResult mergeChunks(String identifier, String fileName, Integer totalChunks, int dataOwnCode); /** * 导出 @@ -100,7 +100,7 @@ public interface EdFileInfoService { * @param dataIdArr * @return */ - ResponseEntity batchExport(String dataIdArr, HttpServletResponse response) throws IOException; + ResponseEntity batchExport(String dataIdArr, HttpServletResponse response, int dataOwnCode) throws IOException; /** * 文件上传 @@ -110,7 +110,7 @@ public interface EdFileInfoService { * @param strategy * @return */ - ElectromagneticResult upload(String parentId, MultipartFile file, Integer strategy); + ElectromagneticResult upload(String parentId, MultipartFile file, Integer strategy, int dataOwnCode); /** * 版本查看 @@ -127,7 +127,7 @@ public interface EdFileInfoService { * @param targetFolderId * @return */ - ElectromagneticResult moveFile(String id, String targetFolderId, Integer strategy); + ElectromagneticResult moveFile(String id, String targetFolderId, Integer strategy, int dataOwnCode); /** * 复制文件 @@ -136,14 +136,14 @@ public interface EdFileInfoService { * @param targetFolderId * @return */ - ElectromagneticResult copyFile(String id, String targetFolderId, Integer strategy); + ElectromagneticResult copyFile(String id, String targetFolderId, Integer strategy, int dataOwnCode); /** * 发布管理 * * @return */ - ElectromagneticResult uploadRecord(int pageNum, int pageSize); + ElectromagneticResult uploadRecord(int pageNum, int pageSize, int dataOwnCode); /** * 查询文件详情 @@ -163,12 +163,12 @@ public interface EdFileInfoService { * @param parentId * @return */ - ElectromagneticResult queryChildFolder(String parentId); + ElectromagneticResult queryChildFolder(String parentId, int dataOwnCode); /** * 文件预览 * @param id * @param response */ - ResponseEntity preview(String id, HttpServletResponse response); + ResponseEntity preview(String id, HttpServletResponse response, int dataOwnCode); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileRelationService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileRelationService.java index 1de8f98..2477c08 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileRelationService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdFileRelationService.java @@ -46,8 +46,8 @@ public interface EdFileRelationService { * @param parentId * @param id 主文件Id * @param file - * @param descrption 关系描述 + * @param desc 关系描述 * @return */ - ElectromagneticResult uploadFileAndRelation(String parentId, String id, MultipartFile file, String descrption); + ElectromagneticResult uploadFileAndRelation(String parentId, String id, MultipartFile file, String desc, int dataOwnCode); } diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdPrjService.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdPrjService.java index 497d926..cc56443 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdPrjService.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/EdPrjService.java @@ -1,5 +1,6 @@ package com.electromagnetic.industry.software.manage.service; +import com.electromagnetic.industry.software.common.enums.DataOwnEnum; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; import com.electromagnetic.industry.software.manage.pojo.req.FolderResortDTO; import com.electromagnetic.industry.software.manage.pojo.req.QueryPublishStatus; @@ -13,7 +14,7 @@ public interface EdPrjService { * * @param prjName 新的工程名 */ - ElectromagneticResult createNewPrj(String prjName); + ElectromagneticResult createNewPrj(String prjName, int dataOwnCode); /** * 修改项目名称 @@ -22,7 +23,7 @@ public interface EdPrjService { * @param newPrjName * @return */ - ElectromagneticResult modifyPrjName(String prjId, String newPrjName); + ElectromagneticResult modifyPrjName(String prjId, String newPrjName, int dataOwnCode); /** * 删除一个项目,做逻辑删除 @@ -30,7 +31,7 @@ public interface EdPrjService { * @param prjId * @return */ - ElectromagneticResult delete(String prjId); + ElectromagneticResult delete(String prjId, int dataOwnCode); /** * 添加子集 @@ -39,14 +40,14 @@ public interface EdPrjService { * @param folderName * @return */ - ElectromagneticResult addFolder(String parentId, String folderName); + ElectromagneticResult addFolder(String parentId, String folderName, int dataOwnCode); /** * 查询所有项目 * * @return */ - ElectromagneticResult queryAllPrjInfo(); + ElectromagneticResult queryAllPrjInfo(int dataOwnCode); /** * 子集拖拽重排序 @@ -62,7 +63,7 @@ public interface EdPrjService { * @param prjId * @return */ - ElectromagneticResult publish(String prjId); + ElectromagneticResult publish(String prjId, int dataOwnCode); /** * 删除子集 @@ -70,7 +71,7 @@ public interface EdPrjService { * @param id * @return */ - ElectromagneticResult deleteFolder(String id); + ElectromagneticResult deleteFolder(String id, int dataOwnCode); /** * 层级沿用 @@ -79,7 +80,7 @@ public interface EdPrjService { * @param targetId * @return */ - ElectromagneticResult follow(String sourceId, String targetId); + ElectromagneticResult follow(String sourceId, String targetId, int dataOwnCode); /** * 修改子集名称 @@ -88,7 +89,7 @@ public interface EdPrjService { * @param newFolderName * @return */ - ElectromagneticResult modifyFolder(String id, String newFolderName); + ElectromagneticResult modifyFolder(String id, String newFolderName, int dataOwnCode); /** * 获取项目的发布状态 @@ -96,5 +97,5 @@ public interface EdPrjService { * @param queryPublishStatus * @return */ - ElectromagneticResult publishStatus(QueryPublishStatus queryPublishStatus); + ElectromagneticResult publishStatus(QueryPublishStatus queryPublishStatus, 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 f7a47c5..39b168c 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 @@ -5,14 +5,13 @@ import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.tree.Tree; import cn.hutool.core.lang.tree.TreeNodeConfig; import cn.hutool.core.lang.tree.TreeUtil; +import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; -import com.electromagnetic.industry.software.common.enums.EffectFlagEnum; -import com.electromagnetic.industry.software.common.enums.EleDataSaveStatusEnum; -import com.electromagnetic.industry.software.common.enums.EleDataStatusEnum; -import com.electromagnetic.industry.software.common.enums.EleDataTypeEnum; +import com.electromagnetic.industry.software.common.cons.ElectromagneticConstants; +import com.electromagnetic.industry.software.common.enums.*; import com.electromagnetic.industry.software.common.exception.BizException; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; import com.electromagnetic.industry.software.common.util.EleCommonUtil; @@ -68,9 +67,11 @@ public class CommonService { private final EleLog log = new EleLog(CommonService.class); @Value("${prj.folder.max.length}") private int prjFolderMaxLength; - @Getter + private String eleDataPath; + private String userDataPath; + @Resource private Environment environment; @@ -83,25 +84,35 @@ public class CommonService { @PostConstruct public void init() { 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"); + } + + public String getEleDataPath(int dataOwnCode) { + if (dataOwnCode == DataOwnEnum.USER_PRJ.code) { + return userDataPath; + } + return eleDataPath; } /** * 检查同层级是否有同名的文件夹 */ - public boolean notExistSameFolder(String parentId, String newFolderName) { + public boolean notExistSameFolder(String parentId, String newFolderName, int dataOwnCode) { Long count = edFileInfoMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code) .eq(EdFileInfo::getParentId, parentId) + .eq(EdFileInfo::getDataOwn, dataOwnCode) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .eq(EdFileInfo::getFileName, newFolderName)); return count == 0; } - public String getFileSysPath(String dbPath) { + public String getFileSysPath(String dbPath, int dataOwnCode) { ArrayList paths = CollUtil.newArrayList(dbPath.split(MYSQL_FILE_PATH_SPLIT)); String path = getDbPath(paths); - return eleDataPath + File.separator + path; + String prePath = dataOwnCode == DataOwnEnum.USER_PRJ.code ? eleDataPath : userDataPath; + return prePath + File.separator + path; } public String getDbPath(String dbPath) { @@ -138,7 +149,7 @@ public class CommonService { LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code) - .eq(EdFileInfo::getPrjDir, true) + .eq(EdFileInfo::getDataOwn, DataOwnEnum.SYS_PRJ.code) .likeRight(EdFileInfo::getFilePath, id); if (!isAdminQuery) { queryWrapper.in(EdFileInfo::getId, accessableIds); @@ -148,12 +159,12 @@ public class CommonService { } @Transactional(rollbackFor = Exception.class) - public ElectromagneticResult addFolder(String parentId, String folderName, boolean maxLengthCheck, boolean isPrjDir, String folderId, String fileNote) { + public ElectromagneticResult addFolder(String parentId, String folderName, boolean maxLengthCheck, String folderId, String fileNote, int dataOwnCode) { // 验证名称是否合法 Assert.isTrue(EleCommonUtil.isFileNameValid(folderName), NAME_VALID_MSG); // 检查名称是否存在 - Assert.isTrue(notExistSameFolder(parentId, folderName), "该名称已存在"); + Assert.isTrue(notExistSameFolder(parentId, folderName, dataOwnCode), "该名称已存在"); LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class) .select(EdFileInfo::getId, EdFileInfo::getFilePath) @@ -189,21 +200,21 @@ public class CommonService { .setFileType("文件夹") .setFileCode(createFileCode(parentId, EleDataTypeEnum.FOLDER.desc, FILE_START_VERSION, nowTimeStr)) .setFileTime(nowTimeStr) - .setPrjDir(isPrjDir) .setDataType(EleDataTypeEnum.FOLDER.code) - .setDataStatus(isPrjDir ? EleDataStatusEnum.NOT_PUBLISHED.code : EleDataStatusEnum.PUBLISHED.code) + .setDataStatus(dataOwnCode == 1 || dataOwnCode == 2 ? EleDataStatusEnum.NOT_PUBLISHED.code : EleDataStatusEnum.PUBLISHED.code) .setEffectFlag(EffectFlagEnum.EFFECT.code) .setSaveStatus(EleDataSaveStatusEnum.SUCCESS.code) .setFilePath(path) .setSort(names.size() + 1) .setFileNote(fileNote) + .setDataOwn(dataOwnCode) .setCreatedTime(now) .setUpdatedTime(now) .setCreatedBy(currentUserId) .setUpdatedBy(currentUserId); edFileInfoMapper.insert(fileInfo); // 保存到文件系统 - String targetFilePath = getEleDataPath() + File.separator + getDbPath(paths) + File.separator + folderName; + String targetFilePath = getEleDataPath(dataOwnCode) + File.separator + getDbPath(paths) + File.separator + folderName; fileSystemService.createDirectory(targetFilePath); return ElectromagneticResultUtil.success(true); } catch (Exception e) { @@ -213,11 +224,12 @@ public class CommonService { } } - public List queryAllPrjInfo(boolean isAdminQuery, List prjIds) { + public List queryAllPrjInfo(boolean isAdminQuery, List prjIds, int dataOwnCode) { try { LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class) .select(EdFileInfo::getId) + .eq(EdFileInfo::getDataOwn, dataOwnCode) .eq(EdFileInfo::getParentId, PRJ_PARENT_ID) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code); if (!isAdminQuery) { @@ -276,17 +288,21 @@ public class CommonService { } } - public ElectromagneticResult deleteFolder(String id) { + public ElectromagneticResult deleteFolder(String id, int dataOwnCode) { // 如果文件夹下存在文件(包括文件夹和已经逻辑删除的文件),则不允许删除。后面管理员选择会有物理删除文件夹和文件的功能,此时MySQL和文件系统则会进行物理删除该文件。 Date now = new Date(); String currentUserId = UserThreadLocal.getUserId(); + EdFileInfo srcFileInfo = edFileInfoMapper.selectById(id); + String srcPrjName = srcFileInfo.getFileName(); + String srcFilePath = getFileSysPath(srcFileInfo.getFilePath(), dataOwnCode); try { // 这里要分两种情况,1是删除层级目录,2是删除用户创建的文件夹 EdFileInfo fileInfo = edFileInfoMapper.selectOne(Wrappers.lambdaQuery().eq(EdFileInfo::getId, id)); String parentId = fileInfo.getParentId(); - if (fileInfo.getPrjDir()) { // 删除的是层级目录 + if (fileInfo.getDataOwn().equals(DataOwnEnum.SYS_PRJ.code)) { // 删除的是层级目录 long count = edFileInfoMapper.selectCount(Wrappers.lambdaQuery() - .eq(EdFileInfo::getPrjDir, false) + .eq(EdFileInfo::getDataOwn, DataOwnEnum.COMMON.code) + .eq(EdFileInfo::getDataOwn, dataOwnCode) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .like(EdFileInfo::getFilePath, MYSQL_FILE_PATH_SPLIT + id + MYSQL_FILE_PATH_SPLIT)); if (count > 0) { @@ -307,7 +323,6 @@ public class CommonService { .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .ne(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code) .eq(EdFileInfo::getParentId, parentId) - .orderByAsc(EdFileInfo::getSort)); for (int i = 0; i < edFileInfos1.size(); i++) { @@ -329,14 +344,16 @@ public class CommonService { log.info(info); return ElectromagneticResultUtil.fail("-1", info); } else { - // 逻辑文件夹重排序 + // 逻辑删除文件夹 edFileInfoMapper.update(null, Wrappers.lambdaUpdate() .eq(EdFileInfo::getId, id) .set(EdFileInfo::getUpdatedBy, currentUserId) .set(EdFileInfo::getUpdatedTime, now) .set(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code)); + fileSystemService.renameFile(srcFilePath, srcPrjName + "_" + IdUtil.fastSimpleUUID() + DELETE_FLAG); } } +// fileSystemService.renameFile(srcFilePath, srcPrjName + "." + IdUtil.fastSimpleUUID() + DELETE_FLAG); return ElectromagneticResultUtil.success(true); } catch (Exception e) { String info = "删除子集异常"; @@ -362,8 +379,8 @@ public class CommonService { return edFileInfoMapper.selectById(prjId).getFileName(); } - public Set selectPrjLeafs() { - List prjInfo = queryAllPrjInfo(true, null); + public Set selectPrjLeafs(int dataOwnCode) { + List prjInfo = queryAllPrjInfo(true, null, dataOwnCode); Set res = new HashSet<>(); prjInfo.forEach(e -> { ProjectVO projectVO = JSONUtil.toList(e, ProjectVO.class).get(0); @@ -392,4 +409,11 @@ public class CommonService { } } + public void deletePrjSysDir(List paths) { + for (String path : paths) { + String preDirName = new File(path).getParentFile().getName(); + fileSystemService.renameFile(path, preDirName + "_" + IdUtil.fastSimpleUUID() + DELETE_FLAG); + } + } + } 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 7fb3338..642602e 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 @@ -91,7 +91,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl queryEdFileInfo(FileInfoQueryDTO pars) { + public ElectromagneticResult queryEdFileInfo(FileInfoQueryDTO pars, int dataOwnCode) { String parentId = pars.getParentId(); List accessibleTree = permissionService.getAccessibleTree(); @@ -165,10 +165,10 @@ public class EdFileInfoServiceImpl extends ServiceImpl createFolder(CreateFolderDTO createFolderDTO) { + public ElectromagneticResult createFolder(CreateFolderDTO createFolderDTO, int dataOwnCode) { Assert.isTrue(EleCommonUtil.isFileNameValid(createFolderDTO.getNewFolderName()), NAME_VALID_MSG); String folderId = IdWorker.getSnowFlakeIdString(); - return commonService.addFolder(createFolderDTO.getParentId(), createFolderDTO.getNewFolderName(), false, false, folderId, createFolderDTO.getFileNote()); + return commonService.addFolder(createFolderDTO.getParentId(), createFolderDTO.getNewFolderName(), false, folderId, createFolderDTO.getFileNote(), dataOwnCode); } /** @@ -177,12 +177,12 @@ public class EdFileInfoServiceImpl extends ServiceImpl tree() { + public ElectromagneticResult tree(int dataOwnCode) { List prjIds = permissionService.getAccessibleTree(); if (CollUtil.isEmpty(prjIds)) { return ElectromagneticResultUtil.success(new ArrayList<>()); } - List strings = commonService.queryAllPrjInfo(false, prjIds); + List strings = commonService.queryAllPrjInfo(false, prjIds, dataOwnCode); List res = new ArrayList<>(); strings.forEach(e -> { FileProjectVO fileProjectVO = JSONUtil.toList(e, FileProjectVO.class).get(0); @@ -199,10 +199,10 @@ public class EdFileInfoServiceImpl extends ServiceImpl delete(String id) { + public ElectromagneticResult delete(String id, int dataOwnCode) { EdFileInfo fileInfo = this.baseMapper.selectById(id); if (fileInfo.getDataType() == EleDataTypeEnum.FOLDER.code) { - return commonService.deleteFolder(id); + return commonService.deleteFolder(id, dataOwnCode); } Date now = new Date(); String currentUserId = UserThreadLocal.getUserId(); @@ -222,11 +222,11 @@ public class EdFileInfoServiceImpl extends ServiceImpl download(String id, HttpServletResponse response) { + public ResponseEntity download(String id, HttpServletResponse response, int dataOwnCode) { try { EdFileInfo fileInfo = this.baseMapper.selectById(id); - String fileSysPath = commonService.getFileSysPath(fileInfo.getFilePath()); + String fileSysPath = commonService.getFileSysPath(fileInfo.getFilePath(), dataOwnCode); Assert.isTrue(FileUtil.exist(fileSysPath), "下载文件不存在。"); FileSystemResource fileSystemResource = new FileSystemResource(fileSysPath); String fileName = fileSystemResource.getFilename(); @@ -257,7 +257,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl updateFileInfo(UpdateFileInfoDTO updateFileInfoDTO) { + public ElectromagneticResult updateFileInfo(UpdateFileInfoDTO updateFileInfoDTO, int dataOwnCode) { Assert.isTrue(EleCommonUtil.isFileNameValid(updateFileInfoDTO.getFileName()), NAME_VALID_MSG); try { // 首先检查新名称是否存在 @@ -292,7 +292,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl mergeChunks(String identifier, String fileName, Integer totalChunks) { + public ElectromagneticResult mergeChunks(String identifier, String fileName, Integer totalChunks, int dataOwnCode) { String currentUserId = UserThreadLocal.getUserId(); String destColibPath = doSysFileMerge(identifier, fileName, totalChunks); String mainName = FileUtil.mainName(destColibPath); @@ -425,21 +425,21 @@ public class EdFileInfoServiceImpl extends ServiceImpl importAllFiles = JSONUtil.toList(info, EdFileInfo.class); // 找出层级文件夹 - List prjFolders = importAllFiles.stream().filter(e -> ObjUtil.equals(e.getPrjDir(), true)) + List prjFolders = importAllFiles.stream().filter(e -> ObjUtil.equals(e.getDataOwn(), dataOwnCode)) .collect(Collectors.toList()); // 找出用户创建的文件夹 List userFolders = importAllFiles.stream().filter(e -> ObjUtil.equals(e.getDataType(), EleDataTypeEnum.FOLDER.code)) - .filter(e -> ObjUtil.equals(e.getPrjDir(), false)) + .filter(e -> ObjUtil.equals(e.getDataOwn(), dataOwnCode)) .collect(Collectors.toList()); // 找出所有文件 List allFiles = importAllFiles.stream().filter(e -> ObjUtil.equals(e.getDataType(), EleDataTypeEnum.FILE.code)).collect(Collectors.toList()); @@ -557,7 +557,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl needMove2FileSystemFiles, String prjDirPath) { + private void update2FileSystem(List needMove2FileSystemFiles, String prjDirPath, int dataOwnCode) { Map maps = needMove2FileSystemFiles.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e)); List files = needMove2FileSystemFiles.stream().filter(e -> e.getDataType().equals(EleDataTypeEnum.FILE.code)).collect(Collectors.toList()); for (EdFileInfo edFileInfo : files) { @@ -593,7 +593,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl batchExport(String dataIdArr, HttpServletResponse response) throws IOException { + public ResponseEntity batchExport(String dataIdArr, HttpServletResponse response, int dataOwnCode) throws IOException { String userDownloadDataDir = downloadDataDir + File.separator + UserThreadLocal.getUserId(); String[] ids = dataIdArr.split(","); Map map = permissionService.filterExportIds(ids); @@ -640,7 +640,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl prjFolders = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class) .likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT) - .eq(EdFileInfo::getPrjDir, true) + .eq(EdFileInfo::getDataOwn, dataOwnCode) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)); EdFileInfo prjFileInfo = this.baseMapper.selectById(prjId); Map prjFoldersMap = prjFolders.stream().collect(Collectors.toMap(EdFileInfo::getId, e -> e)); @@ -657,7 +657,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl upload(String parentId, MultipartFile file, Integer strategy) { + public ElectromagneticResult upload(String parentId, MultipartFile file, Integer strategy, int dataOwnCode) { Assert.isTrue(!file.isEmpty(), "禁止上传空文件"); Assert.isTrue(EleCommonUtil.isFileNameValid(file.getOriginalFilename()), NAME_VALID_MSG); @@ -722,7 +722,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl 0) { - handUploadRepeatFile(parentId, file, strategy); + handUploadRepeatFile(parentId, file, strategy, dataOwnCode); } else { EdFileInfo parentFolderInfo = this.baseMapper.selectOne(Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getId, parentId) @@ -760,9 +760,9 @@ public class EdFileInfoServiceImpl extends ServiceImpl moveFile(String id, String targetFolderId, Integer strategy) { + public ElectromagneticResult moveFile(String id, String targetFolderId, Integer strategy, int dataOwnCode) { // 获取原文件mysql模型 EdFileInfo srcFileInfo = this.baseMapper.selectById(id); - String srcFilePath = commonService.getFileSysPath(srcFileInfo.getFilePath()); + String srcFilePath = commonService.getFileSysPath(srcFileInfo.getFilePath(), dataOwnCode); // 判断目标路径下是否有同名文件,如果所有的同名文件:1)如果所有文件都已经被作废,则该文件为新文件,版本号从100开始。2)如果有没有被作废的文件,则冲突处理方式按---1-跳过冲突文件 2-做版本更新 3-重命名,文件名加"_1" long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getParentId, targetFolderId) @@ -831,19 +831,20 @@ public class EdFileInfoServiceImpl extends ServiceImpl handMoveConflict(String targetFolderId, Integer strategy, EdFileInfo srcFileInfo, EdFileInfo destFolderInfo) { + private ElectromagneticResult handMoveConflict(String targetFolderId, Integer strategy, EdFileInfo srcFileInfo, EdFileInfo destFolderInfo, int dataOwnCode) { // 禁止同目录下移动和复制 if (srcFileInfo.getParentId().equals(destFolderInfo.getId())) { @@ -869,11 +870,12 @@ public class EdFileInfoServiceImpl extends ServiceImpl copyFile(String id, String targetFolderId, Integer strategy) { + public ElectromagneticResult copyFile(String id, String targetFolderId, Integer strategy, int dataOwnCode) { // 获取原文件mysql模型 EdFileInfo srcFileInfo = this.baseMapper.selectById(id); String srcFileDbPath = srcFileInfo.getFilePath(); @@ -936,11 +939,11 @@ public class EdFileInfoServiceImpl extends ServiceImpl uploadRecord(int pageNum, int pageSize) { + public ElectromagneticResult uploadRecord(int pageNum, int pageSize, int dataOwnCode) { List accessibleIds = permissionService.getAccessibleTree(); - Set allLeafIds = commonService.selectPrjLeafs(); + Set allLeafIds = commonService.selectPrjLeafs(dataOwnCode); List list = new ArrayList<>(); for (String leafId : allLeafIds) { if (accessibleIds.contains(leafId)) { @@ -966,6 +969,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl lambdaQuery = Wrappers.lambdaQuery(EdFileInfo.class) .select(EdFileInfo::getId, EdFileInfo::getFileName, EdFileInfo::getSaveStatus, EdFileInfo::getCreatedTime, EdFileInfo::getFileType) + .eq(EdFileInfo::getDataOwn, dataOwnCode) .eq(EdFileInfo::getDataType, EleDataTypeEnum.FILE.code) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code); lambdaQuery.or(qr -> { @@ -994,7 +998,7 @@ public class EdFileInfoServiceImpl extends ServiceImpl handCopyConflict(String targetFolderId, Integer strategy, EdFileInfo srcFileInfo, EdFileInfo destFolderInfo) { + private ElectromagneticResult handCopyConflict(String targetFolderId, Integer strategy, EdFileInfo srcFileInfo, EdFileInfo destFolderInfo, int dataOwnCode) { // 禁止同目录下移动和复制 if (srcFileInfo.getParentId().equals(destFolderInfo.getId())) { String info = "禁止相同文件夹下复制文件"; @@ -1026,8 +1030,8 @@ public class EdFileInfoServiceImpl extends ServiceImpl queryChildFolder(String parentId) { + public ElectromagneticResult queryChildFolder(String parentId, int dataOwnCode) { List edFileInfos = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).select(EdFileInfo::getId, EdFileInfo::getFileName) .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code) - .eq(EdFileInfo::getPrjDir, Boolean.FALSE) + .eq(EdFileInfo::getDataOwn, dataOwnCode) .eq(EdFileInfo::getParentId, parentId) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)); List res = BeanUtil.copyToList(edFileInfos, ChildFolderVO.class); @@ -1203,11 +1207,11 @@ public class EdFileInfoServiceImpl extends ServiceImpl preview(String id, HttpServletResponse response) { + public ResponseEntity preview(String id, HttpServletResponse response, int dataOwnCode) { try { EdFileInfo fileInfo = this.baseMapper.selectById(id); Assert.isTrue(Objects.nonNull(fileInfo), "文件不存在"); - String fileSysPath = commonService.getFileSysPath(fileInfo.getFilePath()); + String fileSysPath = commonService.getFileSysPath(fileInfo.getFilePath(), dataOwnCode); EleCommonUtil.decryptFile(fileSysPath, SecureUtil.aes(FILE_SEC_PASSWD.getBytes())); if (Arrays.asList("doc", "docx").contains(fileInfo.getFileType())) { String pdfTmpPath = tmpDir + File.separator + fileInfo.getFileName() + "_" + IdUtil.fastSimpleUUID() + ".pdf"; diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileRelationServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileRelationServiceImpl.java index b3589d6..254c975 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileRelationServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/EdFileRelationServiceImpl.java @@ -174,19 +174,19 @@ public class EdFileRelationServiceImpl extends ServiceImpl uploadFileAndRelation(String parentId, String id, MultipartFile file, String descrption) { + public ElectromagneticResult uploadFileAndRelation(String parentId, String id, MultipartFile file, String desc, int dataOwnCode) { Assert.isTrue(EleCommonUtil.isFileNameValid(file.getOriginalFilename()), NAME_VALID_MSG); // 查找下一层,看是否存在顶级定义相关文件,如果存在,则该层属于管理员层级定义的,不允许上传文件 long dirCount = edFileInfoService.count(Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getParentId, parentId) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) - .eq(EdFileInfo::getPrjDir, true) + .eq(EdFileInfo::getDataOwn, dataOwnCode) .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code)); Assert.isTrue(dirCount == 0, "层级目录不允许上传文件"); @@ -197,7 +197,6 @@ public class EdFileRelationServiceImpl extends ServiceImpl 0) { - edFileInfoService.handUploadRepeatFile(parentId, file, 3); + edFileInfoService.handUploadRepeatFile(parentId, file, 3, dataOwnCode); } else { EdFileInfo parentFolderInfo = edFileInfoService.getOne(Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getId, parentId) @@ -226,9 +225,9 @@ public class EdFileRelationServiceImpl extends ServiceImpl */ @Override @Transactional(rollbackFor = Exception.class) - public ElectromagneticResult createNewPrj(String prjName) { + public ElectromagneticResult createNewPrj(String prjName, int dataOwnCode) { Assert.isTrue(EleCommonUtil.isFileNameValid(prjName), NAME_VALID_MSG); // 首先检查工程是否存在 Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getParentId, PRJ_PARENT_ID) + .eq(EdFileInfo::getDataOwn, dataOwnCode) .eq(EdFileInfo::getFileName, prjName)); if (count > 0) { @@ -88,7 +87,6 @@ public class EdPrjServiceImpl extends ServiceImpl .setFileVersion(FILE_START_VERSION) .setParentId(PRJ_PARENT_ID) .setFileTime(nowTimeStr) - .setPrjDir(true) .setDataType(EleDataTypeEnum.FOLDER.code) .setDataStatus(EleDataStatusEnum.NOT_PUBLISHED.code) .setEffectFlag(EffectFlagEnum.EFFECT.code) @@ -96,13 +94,14 @@ public class EdPrjServiceImpl extends ServiceImpl .setFilePath(newPrjId) .setSort(++prjCount) .setFileCode(commonService.createFileCode(newPrjId, EleDataTypeEnum.FOLDER.desc, FILE_START_VERSION, nowTimeStr)) + .setDataOwn(dataOwnCode) .setCreatedTime(now) .setUpdatedTime(now) .setCreatedBy(currentUserId) .setUpdatedBy(currentUserId); this.save(fileInfo); // 保存到文件系统 - fileSystemService.createDirectory(commonService.getEleDataPath() + File.separator + prjName); + fileSystemService.createDirectory(commonService.getEleDataPath(dataOwnCode) + File.separator + prjName); } catch (Exception e) { String info = StrFormatter.format("文件创建失败,具体为--->{}", e.getMessage()); log.error(info, e); @@ -120,11 +119,12 @@ public class EdPrjServiceImpl extends ServiceImpl */ @Override @Transactional(rollbackFor = Exception.class) - public ElectromagneticResult modifyPrjName(String prjId, String newPrjName) { + public ElectromagneticResult modifyPrjName(String prjId, String newPrjName, int dataOwnCode) { Assert.isTrue(EleCommonUtil.isFileNameValid(newPrjName), NAME_VALID_MSG); try { Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getParentId, PRJ_PARENT_ID) + .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .eq(EdFileInfo::getFileName, newPrjName)); if (count > 0) { @@ -137,18 +137,17 @@ public class EdPrjServiceImpl extends ServiceImpl .select(EdFileInfo::getFileName) .eq(EdFileInfo::getId, prjId)); String oldPrjName = fileInfo.getFileName(); - String newPath = commonService.getEleDataPath() + File.separator + newPrjName; + String newPath = commonService.getEleDataPath(dataOwnCode) + File.separator + newPrjName; if (fileSystemService.checkFolderExist(newPath)) { - String info = StrFormatter.format("工程名{}已经存在", newPrjName); - log.error(info); - return ElectromagneticResultUtil.fail("-1", info); + String tmpPath = newPrjName + "_" + IdUtil.fastSimpleUUID() + DELETE_FLAG; + fileSystemService.renameFile(newPath, tmpPath); } this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class) .eq(EdFileInfo::getId, prjId) .set(EdFileInfo::getFileName, newPrjName) .set(EdFileInfo::getUpdatedBy, UserThreadLocal.getUserId()) .set(EdFileInfo::getUpdatedTime, new Date())); - fileSystemService.renameFile(commonService.getEleDataPath(), oldPrjName, newPrjName); + fileSystemService.renameFile(commonService.getEleDataPath(dataOwnCode), oldPrjName, newPrjName); } catch (Exception e) { String info = StrFormatter.format("修改工程名异常--->{},{}", newPrjName, e.getMessage()); log.error(info, e); @@ -165,11 +164,13 @@ public class EdPrjServiceImpl extends ServiceImpl */ @Override @Transactional(rollbackFor = Exception.class) - public ElectromagneticResult delete(String prjId) { + public ElectromagneticResult delete(String prjId, int dataOwnCode) { try { + // 首先查看该工程下是否还有文件 Long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getDataType, EleDataTypeEnum.FILE.code) - .likeRight(EdFileInfo::getFilePath, prjId)); + .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) + .likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT)); if (count > 0) { String info = StrFormatter.format("禁止删除非空项目"); @@ -177,14 +178,16 @@ public class EdPrjServiceImpl extends ServiceImpl ElectromagneticResultUtil.fail("-1", info); } - List ids = new ArrayList<>(); - ids.add(prjId); LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class) .select(EdFileInfo::getId) .likeRight(EdFileInfo::getFilePath, prjId + MYSQL_FILE_PATH_SPLIT); List edFileInfos = this.baseMapper.selectList(queryWrapper); - edFileInfos.forEach(e -> ids.add(e.getId())); + List ids = edFileInfos.stream().map(EdFileInfo::getId).collect(Collectors.toList()); + ids.add(prjId); this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class).set(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code).in(EdFileInfo::getId, ids)); + // 对原文件进行处理 + EdFileInfo prjFile = this.getById(prjId); + fileSystemService.renameFile(commonService.getFileSysPath(prjId, dataOwnCode), prjFile + "_" + IdUtil.fastSimpleUUID() + DELETE_FLAG); return ElectromagneticResultUtil.success(true); } catch (Exception e) { String info = "删除项目失败"; @@ -202,17 +205,18 @@ public class EdPrjServiceImpl extends ServiceImpl */ @Override @Transactional(rollbackFor = Exception.class) - public ElectromagneticResult addFolder(String parentId, String folderName) { + public ElectromagneticResult addFolder(String parentId, String folderName, int dataOwnCode) { Assert.isTrue(EleCommonUtil.isFileNameValid(folderName), NAME_VALID_MSG); // 检查当前目录下有文件,如果有则不允许添加 long count = this.baseMapper.selectCount(Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getFileType, EleDataTypeEnum.FILE.code) + .eq(EdFileInfo::getDataOwn, dataOwnCode) .eq(EdFileInfo::getParentId, parentId) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code)); Assert.isTrue(count == 0, "该层级目录下存在文件,不允许再定义层级目录"); int id = Integer.parseInt(this.baseMapper.maxPrjId()); String folderId = String.valueOf(id + 1); - return commonService.addFolder(parentId, folderName, true, true, folderId, null); + return commonService.addFolder(parentId, folderName, true, folderId, null, dataOwnCode); } /** @@ -221,8 +225,8 @@ public class EdPrjServiceImpl extends ServiceImpl * @return */ @Override - public ElectromagneticResult queryAllPrjInfo() { - List res = commonService.queryAllPrjInfo(true, null); + public ElectromagneticResult queryAllPrjInfo(int dataOwnCode) { + List res = commonService.queryAllPrjInfo(true, null, dataOwnCode); List projectVOS = new ArrayList<>(); res.forEach(e -> { ProjectVO projectVO = JSONUtil.toList(e, ProjectVO.class).get(0); @@ -268,11 +272,23 @@ public class EdPrjServiceImpl extends ServiceImpl */ @Override @Transactional(rollbackFor = Exception.class) - public ElectromagneticResult publish(String prjId) { + public ElectromagneticResult publish(String prjId, int dataOwnCode) { try { Date now = new Date(); String currentUserId = UserThreadLocal.getUserId(); // 将已经处于删除状态设置成逻辑删除 + + LambdaQueryWrapper queryWrapper = Wrappers.lambdaQuery(EdFileInfo.class) + .select(EdFileInfo::getId, EdFileInfo::getFilePath) + .eq(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code) + .likeRight(EdFileInfo::getFilePath, prjId); + List paths = this.baseMapper.selectList(queryWrapper).stream().map(EdFileInfo::getFilePath).collect(Collectors.toList()); + List fileSysPaths = new ArrayList<>(); + paths.forEach(path -> { + String fileSysPath = commonService.getFileSysPath(path, dataOwnCode); + fileSysPaths.add(fileSysPath); + }); + this.update(Wrappers.lambdaUpdate(EdFileInfo.class) .eq(EdFileInfo::getDataStatus, EleDataStatusEnum.DELETED.code) .set(EdFileInfo::getEffectFlag, EffectFlagEnum.NOT_EFFECTIVE.code) @@ -287,6 +303,7 @@ public class EdPrjServiceImpl extends ServiceImpl .set(EdFileInfo::getUpdatedTime, now) .likeRight(EdFileInfo::getFilePath, prjId); this.update(updateWrapper); + commonService.deletePrjSysDir(fileSysPaths); return ElectromagneticResultUtil.success(true); } catch (Exception e) { String info = "项目发布异常"; @@ -303,8 +320,8 @@ public class EdPrjServiceImpl extends ServiceImpl */ @Override @Transactional(rollbackFor = Exception.class) - public ElectromagneticResult deleteFolder(String fileId) { - return commonService.deleteFolder(fileId); + public ElectromagneticResult deleteFolder(String fileId, int dataOwnCode) { + return commonService.deleteFolder(fileId, dataOwnCode); } /** @@ -316,7 +333,7 @@ public class EdPrjServiceImpl extends ServiceImpl */ @Override @Transactional(rollbackFor = Exception.class) - public ElectromagneticResult follow(String sourceId, String targetId) { + public ElectromagneticResult follow(String sourceId, String targetId, int dataOwnCode) { try { String currentUserId = UserThreadLocal.getUserId(); @@ -358,7 +375,7 @@ public class EdPrjServiceImpl extends ServiceImpl .setFileId(newFolderId) .setFileName(sourceFile.getFileName()) .setFileVersion(FILE_START_VERSION) - .setPrjDir(true) + .setDataOwn(dataOwnCode) .setParentId(targetParentFile.getId()) .setFileTime(nowTimeStr) .setDataType(EleDataTypeEnum.FOLDER.code) @@ -374,7 +391,7 @@ public class EdPrjServiceImpl extends ServiceImpl .setUpdatedBy(currentUserId); this.save(targetFile); targetEdFileInfos.add(targetFile); - String targetSysFilePath = commonService.getFileSysPath(targetFile.getFilePath()); + String targetSysFilePath = commonService.getFileSysPath(targetFile.getFilePath(), dataOwnCode); needSavePaths.add(targetSysFilePath); } else { String info = "存在相同子集"; @@ -403,18 +420,18 @@ public class EdPrjServiceImpl extends ServiceImpl */ @Override @Transactional(rollbackFor = Exception.class) - public ElectromagneticResult modifyFolder(String id, String newFolderName) { + public ElectromagneticResult modifyFolder(String id, String newFolderName, int dataOwnCode) { Assert.isTrue(EleCommonUtil.isFileNameValid(newFolderName), NAME_VALID_MSG); try { String parentId = this.baseMapper.selectById(id).getParentId(); // 首先检查同层是否有同名目录 - Assert.isTrue(commonService.notExistSameFolder(parentId, newFolderName), "子集名已经存在"); + Assert.isTrue(commonService.notExistSameFolder(parentId, newFolderName, dataOwnCode), "子集名已经存在"); String currentUserId = UserThreadLocal.getUserId(); Date now = new Date(); EdFileInfo fileInfo = this.baseMapper.selectOne(Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getId, id)); - String sysFilePath = commonService.getFileSysPath(fileInfo.getFilePath()); + String sysFilePath = commonService.getFileSysPath(fileInfo.getFilePath(), dataOwnCode); this.baseMapper.update(null, Wrappers.lambdaUpdate(EdFileInfo.class) .set(EdFileInfo::getUpdatedTime, now) .set(EdFileInfo::getUpdatedBy, currentUserId) @@ -436,12 +453,12 @@ public class EdPrjServiceImpl extends ServiceImpl * @return */ @Override - public ElectromagneticResult publishStatus(QueryPublishStatus queryPublishStatus) { + public ElectromagneticResult publishStatus(QueryPublishStatus queryPublishStatus, int dataOwnCode) { Map res = new HashMap<>(); List prjIds = queryPublishStatus.getPrjIds(); List edFileInfos = this.baseMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class).select(EdFileInfo::getFilePath) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) - .eq(EdFileInfo::getPrjDir, true) + .eq(EdFileInfo::getDataOwn, dataOwnCode) .and(qr -> qr .eq(EdFileInfo::getDataStatus, EleDataStatusEnum.NOT_PUBLISHED.code) .or() diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RoleServiceImpl.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RoleServiceImpl.java index 74ea507..5530417 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RoleServiceImpl.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/service/serviceimpl/RoleServiceImpl.java @@ -375,12 +375,12 @@ public class RoleServiceImpl extends ServiceImpl implements Ro * * @return */ - private List getFiles() { + private List getFiles(int dataOwnCode) { return edFileInfoMapper.selectList(Wrappers.lambdaQuery(EdFileInfo.class) .eq(EdFileInfo::getEffectFlag, EffectFlagEnum.EFFECT.code) .eq(EdFileInfo::getDataType, EleDataTypeEnum.FOLDER.code) .eq(EdFileInfo::getDataStatus, EleDataStatusEnum.PUBLISHED.code) - .eq(EdFileInfo::getPrjDir, true)); + .eq(EdFileInfo::getDataOwn, dataOwnCode)); } } diff --git a/electrmangnetic/src/main/resources/application.properties b/electrmangnetic/src/main/resources/application.properties index 625816f..8d351c9 100644 --- a/electrmangnetic/src/main/resources/application.properties +++ b/electrmangnetic/src/main/resources/application.properties @@ -17,13 +17,24 @@ server.port=12396 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:/szsd/data/eleData/dev/tmp +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 +# 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 + prj.folder.max.length=6 spring.jackson.time-zone=GMT+8 \ No newline at end of file diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/cons/ElectromagneticConstants.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/cons/ElectromagneticConstants.java index 9c53e3a..41c512e 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/cons/ElectromagneticConstants.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/cons/ElectromagneticConstants.java @@ -17,4 +17,6 @@ public interface ElectromagneticConstants { String FILE_SEC_PASSWD = "adknfhkj87654knd"; int PRJ_ID_LENGTH = 6; + + String DELETE_FLAG = "delete"; } 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 new file mode 100644 index 0000000..bd09f39 --- /dev/null +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/DataOwnEnum.java @@ -0,0 +1,16 @@ +package com.electromagnetic.industry.software.common.enums; + +import lombok.AllArgsConstructor; + +@AllArgsConstructor +public enum DataOwnEnum { + + COMMON(0, "上传的文件或者新建的文件夹"), + SYS_PRJ(1, "系统管理员创建的层级"), + USER_PRJ(2, "用户自定义的层级"), + REPO_FILE(3, "库文件"); + + public int code; + public String desc; + +} \ No newline at end of file diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/UserOperationModuleEnum.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/UserOperationModuleEnum.java index ea0be18..ea9d08c 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/UserOperationModuleEnum.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/UserOperationModuleEnum.java @@ -9,6 +9,7 @@ public enum UserOperationModuleEnum { UNKNOWN("unknown", "未分组"), DATABASE("database", "数据库管理"), USER("user", "人员管理"), + USER_PRJ("userPrj", "个人数据"), PERMISSION("permission", "权限管理"); public final String key;