From 99f645566defef60966dae53ab63d5480010797c Mon Sep 17 00:00:00 2001 From: chenxudong Date: Fri, 14 Feb 2025 14:15:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A5=E5=BF=97=E5=AE=A1=E8=AE=A1=E4=B8=BB?= =?UTF-8?q?=E4=BD=93=E5=8A=9F=E8=83=BD=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manage/config/LoginInterceptor.java | 1 + .../controller/EdFileInfoController.java | 37 ++++++++++--------- .../manage/controller/ProjectController.java | 23 ++++++------ .../manage/pojo/models/UserAccessLog.java | 2 + .../common/annotations/UserOperation.java | 4 ++ .../common/enums/UserOperationModuleEnum.java | 17 +++++++++ 6 files changed, 55 insertions(+), 29 deletions(-) create mode 100644 electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/UserOperationModuleEnum.java diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/LoginInterceptor.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/LoginInterceptor.java index cc75e2e..778e48e 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/LoginInterceptor.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/config/LoginInterceptor.java @@ -120,6 +120,7 @@ public class LoginInterceptor implements HandlerInterceptor { .remoteAddr(request.getRemoteAddr()) .accessSuccess(true) .createTime(new Date()) + .operationModule(userOperation.modelName().key) .build(); ElectromagneticResult result = UserThreadLocal.getResult(); 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 8bfcc5c..75226e5 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 @@ -3,6 +3,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.FilePermission; +import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum; import com.electromagnetic.industry.software.common.resp.ElectromagneticResult; import com.electromagnetic.industry.software.manage.pojo.req.CreateFolderDTO; import com.electromagnetic.industry.software.manage.pojo.req.FileChunkDTO; @@ -25,33 +26,33 @@ public class EdFileInfoController { @Resource private EdFileInfoService edFileInfoService; - @UserOperation(value = "查看了工程树") + @UserOperation(value = "查看了工程树", modelName = UserOperationModuleEnum.DATABASE) @RequestMapping("tree") public ElectromagneticResult tree() { return edFileInfoService.tree(); } - @UserOperation(value = "创建了文件夹") + @UserOperation(value = "创建了文件夹", modelName = UserOperationModuleEnum.DATABASE) @RequestMapping("createFolder") public ElectromagneticResult createFolder(@RequestBody CreateFolderDTO createFolderDTO) { return edFileInfoService.createFolder(createFolderDTO); } - @UserOperation(value = "作废了文件夹") + @UserOperation(value = "作废了文件夹", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.DELETE) @RequestMapping("delete") public ElectromagneticResult delete(@RequestParam String id) { return edFileInfoService.delete(id); } - @UserOperation(value = "查询了文件") + @UserOperation(value = "查询了文件", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.VIEW) @RequestMapping("info") public ElectromagneticResult info(@RequestBody FileInfoQueryDTO fileInfoQueryDTO) { return edFileInfoService.queryEdFileInfo(fileInfoQueryDTO); } - @UserOperation(value = "上传了文件") + @UserOperation(value = "上传了文件", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.UPLOAD) @RequestMapping("upload") public ElectromagneticResult upload(@RequestParam("parentId") String parentId, @@ -60,21 +61,21 @@ public class EdFileInfoController { return edFileInfoService.upload(parentId, file, strategy); } - @UserOperation(value = "下载了文件") + @UserOperation(value = "下载了文件", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.DOWNLOAD) @RequestMapping("download") public ResponseEntity download(@RequestParam String id, HttpServletResponse response) { return edFileInfoService.download(id, response); } - @UserOperation(value = "更新了文件信息") + @UserOperation(value = "更新了文件信息", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.EDIT) @RequestMapping("updateFileInfo") public ElectromagneticResult updateFileInfo(@RequestBody UpdateFileInfoDTO updateFileInfoDTO) { return edFileInfoService.updateFileInfo(updateFileInfoDTO); } - @UserOperation(value = "移动了文件") + @UserOperation(value = "移动了文件", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.MOVE) @RequestMapping("moveFile") public ElectromagneticResult moveFile(@RequestParam("id") String id, @@ -83,7 +84,7 @@ public class EdFileInfoController { return edFileInfoService.moveFile(id, targetFolderId, strategy); } - @UserOperation(value = "复制了文件") + @UserOperation(value = "复制了文件", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.MOVE) @RequestMapping("copyFile") public ElectromagneticResult copyFile(@RequestParam("id") String id, @@ -92,27 +93,27 @@ public class EdFileInfoController { return edFileInfoService.copyFile(id, targetFolderId, strategy); } - @UserOperation(value = "查看了文件历史版本信息") + @UserOperation(value = "查看了文件历史版本信息", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.VIEW) @RequestMapping("versionView") public ElectromagneticResult versionView(@RequestParam String fileId) { return edFileInfoService.versionView(fileId); } - @UserOperation(value = "回退了版本") + @UserOperation(value = "回退了版本", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.EDIT) @RequestMapping("versionBack") public ElectromagneticResult versionBack(@RequestParam String fileId, @RequestParam int targetVersion) { return edFileInfoService.versionBack(fileId, targetVersion); } - @UserOperation(value = "导出了数据库") + @UserOperation(value = "导出了数据库", modelName = UserOperationModuleEnum.DATABASE) @RequestMapping("batchExport") public ResponseEntity batchExport(@RequestParam String fileIds, HttpServletResponse response) throws IOException { return edFileInfoService.batchExport(fileIds, response); } - @UserOperation(value = "批量了数据库") + @UserOperation(value = "批量了数据库", modelName = UserOperationModuleEnum.DATABASE) @RequestMapping(value = "/mergeChunks", method = RequestMethod.GET) public ElectromagneticResult mergeChunks(@RequestParam String identifier, @RequestParam String fileName, @@ -120,7 +121,7 @@ public class EdFileInfoController { return edFileInfoService.mergeChunks(identifier, fileName, totalChunks); } - @UserOperation(value = "批量了数据库") + @UserOperation(value = "批量了数据库", modelName = UserOperationModuleEnum.DATABASE) @RequestMapping(value = "/batchImport", method = RequestMethod.POST) public ElectromagneticResult batchImport(FileChunkDTO fileChunkDTO) { return edFileInfoService.batchImport(fileChunkDTO); @@ -132,27 +133,27 @@ public class EdFileInfoController { return edFileInfoService.checkChunkExist(fileChunkDTO); } - @UserOperation(value = "查询了发布管理") + @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); } - @UserOperation(value = "查询了文件详细信息") + @UserOperation(value = "查询了文件详细信息", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.VIEW) @RequestMapping(value = "/fileDetail", method = RequestMethod.GET) public ElectromagneticResult detail(@RequestParam String id) { return edFileInfoService.detail(id); } - @UserOperation(value = "查询了子文件集") + @UserOperation(value = "查询了子文件集", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.VIEW) @RequestMapping(value = "/queryChildFolder", method = RequestMethod.GET) public ElectromagneticResult queryChildFolder(@RequestParam String parentId) { return edFileInfoService.queryChildFolder(parentId); } - @UserOperation(value = "预览了文件") + @UserOperation(value = "预览了文件", modelName = UserOperationModuleEnum.DATABASE) @RequiredPermission(value = FilePermission.DOWNLOAD) @RequestMapping(value = "preview", method = RequestMethod.GET) public ResponseEntity preview(@RequestParam String id, HttpServletResponse response) { 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 8eca2f1..a3c0000 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,7 @@ package com.electromagnetic.industry.software.manage.controller; import com.electromagnetic.industry.software.common.annotations.UserOperation; +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; @@ -21,67 +22,67 @@ public class ProjectController { @Resource private EdPrjService edPrjService; - @UserOperation(value = "创建了工程") + @UserOperation(value = "创建了工程", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("create") public ElectromagneticResult create(@RequestParam String prjName) { return edPrjService.createNewPrj(prjName); } - @UserOperation(value = "复制了文件") + @UserOperation(value = "复制了文件", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("废除了工程") public ElectromagneticResult delete(@RequestParam String prjId) { return edPrjService.delete(prjId); } - @UserOperation(value = "修改了工程名") + @UserOperation(value = "修改了工程名", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("modify") public ElectromagneticResult modifyPrjName(@RequestParam String newPrjName, @RequestParam String prjId) { return edPrjService.modifyPrjName(prjId, newPrjName); } - @UserOperation(value = "查询了所有工程") + @UserOperation(value = "查询了所有工程", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("queryAll") public ElectromagneticResult queryAll() { return edPrjService.queryAllPrjInfo(); } - @UserOperation(value = "添加了子集") + @UserOperation(value = "添加了子集", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("addFolder") public ElectromagneticResult addFolder(@RequestParam String folderName, @RequestParam String parentId) { return edPrjService.addFolder(parentId, folderName); } - @UserOperation(value = "修改了子集名称") + @UserOperation(value = "修改了子集名称", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("modifyFolder") public ElectromagneticResult modifyFolder(@RequestParam String newFolderName, @RequestParam String id) { return edPrjService.modifyFolder(id, newFolderName); } - @UserOperation(value = "废除了子集") + @UserOperation(value = "废除了子集", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("deleteFolder") public ElectromagneticResult deleteFolder(@RequestParam String id) { return edPrjService.deleteFolder(id); } - @UserOperation(value = "更改了层级顺序") + @UserOperation(value = "更改了层级顺序", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("folderResort") public ElectromagneticResult folderResort(@RequestBody List folderResortDTOList) { return edPrjService.folderResort(folderResortDTOList); } - @UserOperation(value = "发布了工程") + @UserOperation(value = "发布了工程", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("publish") public ElectromagneticResult publish(@RequestParam String prjId) { return edPrjService.publish(prjId); } - @UserOperation(value = "引用了工程") + @UserOperation(value = "引用了工程", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("follow") public ElectromagneticResult follow(@RequestParam String sourceId, @RequestParam String targetId) { return edPrjService.follow(sourceId, targetId); } - @UserOperation(value = "查询了工程发布状态") + @UserOperation(value = "查询了工程发布状态", modelName = UserOperationModuleEnum.PRJ_SETTING) @RequestMapping("publishStatus") public ElectromagneticResult publishStatus(@RequestBody QueryPublishStatus queryPublishStatus) { return edPrjService.publishStatus(queryPublishStatus); diff --git a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/UserAccessLog.java b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/UserAccessLog.java index 53f0698..b83a3d6 100644 --- a/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/UserAccessLog.java +++ b/electrmangnetic/src/main/java/com/electromagnetic/industry/software/manage/pojo/models/UserAccessLog.java @@ -34,4 +34,6 @@ public class UserAccessLog { private String failureReason; private Date createTime; + + private String operationModule; } diff --git a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/annotations/UserOperation.java b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/annotations/UserOperation.java index 37a57d7..7f5da2a 100644 --- a/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/annotations/UserOperation.java +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/annotations/UserOperation.java @@ -1,5 +1,7 @@ package com.electromagnetic.industry.software.common.annotations; +import com.electromagnetic.industry.software.common.enums.UserOperationModuleEnum; + import java.lang.annotation.*; @Documented @@ -8,4 +10,6 @@ import java.lang.annotation.*; public @interface UserOperation { String value() default ""; + + UserOperationModuleEnum modelName() default UserOperationModuleEnum.UNKNOWN; } 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 new file mode 100644 index 0000000..ea0be18 --- /dev/null +++ b/electromagnetic-common/src/main/java/com/electromagnetic/industry/software/common/enums/UserOperationModuleEnum.java @@ -0,0 +1,17 @@ +package com.electromagnetic.industry.software.common.enums; + +import lombok.AllArgsConstructor; + +@AllArgsConstructor +public enum UserOperationModuleEnum { + + PRJ_SETTING("prjSetting", "层级定义"), + UNKNOWN("unknown", "未分组"), + DATABASE("database", "数据库管理"), + USER("user", "人员管理"), + PERMISSION("permission", "权限管理"); + + public final String key; + public final String desc; + +}