diff --git a/common/src/main/java/com/sdm/common/entity/enums/DirTypeEnum.java b/common/src/main/java/com/sdm/common/entity/enums/DirTypeEnum.java index 677a7c03..ab97634b 100644 --- a/common/src/main/java/com/sdm/common/entity/enums/DirTypeEnum.java +++ b/common/src/main/java/com/sdm/common/entity/enums/DirTypeEnum.java @@ -10,71 +10,76 @@ public enum DirTypeEnum { * 知识库文件夹 */ @Schema(description = "知识库文件夹", example = "1") - KNOWLEDGE_BASE_DIR("knowledge", 1), + KNOWLEDGE_BASE_DIR("knowledge", 1, "知识库"), /** * 项目节点文件夹 */ @Schema(description = "项目节点文件夹", example = "2") - PROJECT_NODE_DIR("projectNode", 2), + PROJECT_NODE_DIR("projectNode", 2, "项目节点"), /** * 头像库文件夹 */ @Schema(description = "头像库文件夹", example = "3") - AVATAR_DIR("avatar", 3), + AVATAR_DIR("avatar", 3, "头像库"), /** * 仿真参数库文件夹 */ @Schema(description = "仿真参数库文件夹", example = "4") - SIMULATION_PARAMETER_DIR("simulationParameter", 4), + SIMULATION_PARAMETER_DIR("simulationParameter", 4, "仿真参数库"), /** * 训练模型文件夹 */ @Schema(description = "训练模型文件", example = "5") - TRAIN_MODEL_DIR("trainModel", 5), + TRAIN_MODEL_DIR("trainModel", 5, "训练模型库"), @Schema(description = "脚本文件夹", example = "6") - SCRIPT_DIR("script", 6), + SCRIPT_DIR("script", 6, "脚本库"), /** * 视频库 */ @Schema(description = "视频库文件夹", example = "7") - VIDEO_DIR("video", 7), + VIDEO_DIR("video", 7, "视频库"), /** * 报告模板库 */ @Schema(description = "报告模板库文件夹", example = "8") - REPORT_TEMPLATE_DIR("reportTemplate", 8), + REPORT_TEMPLATE_DIR("reportTemplate", 8, "报告模板库"), /* * 机器人库 */ @Schema(description = "机器人库文件夹", example = "9") - ROBOT_DIR("robot", 9), + ROBOT_DIR("robot", 9, "机器人库"), /** * 工业设计库 */ @Schema(description = "工业设计库文件夹", example = "10") - INDUSTRIAL_DESIGN_DIR("industrialDesign", 10), + INDUSTRIAL_DESIGN_DIR("industrialDesign", 10, "工业设计库"), /** * 公差分析库 */ @Schema(description = "公差分析库文件夹", example = "11") - TOLERANCE_ANALYSIS_DIR("toleranceAnalysis", 11); + TOLERANCE_ANALYSIS_DIR("toleranceAnalysis", 11, "公差分析库"); + /** 目录名称(英文,用于MinIO路径) */ String dirName; + /** 目录类型值 */ int value; + /** 目录显示名称(中文,用于界面展示和审批标题) */ + String displayName; - DirTypeEnum(String dirName, int value) { + DirTypeEnum(String dirName, int value, String displayName) { this.dirName = dirName; this.value = value; + this.displayName = displayName; } public int getValue() { @@ -85,6 +90,14 @@ public enum DirTypeEnum { return dirName; } + /** + * 获取目录显示名称(中文) + * @return 目录显示名称 + */ + public String getDisplayName() { + return displayName; + } + // 根据value获取对应的枚举 public static DirTypeEnum getDirTypeByValue(int value) { for (DirTypeEnum dirTypeEnum : values()) { @@ -149,4 +162,34 @@ public enum DirTypeEnum { } return APPROVAL_REQUIRED_DIRS.contains(dirTypeEnum); } + + /** + * 根据目录类型和操作类型生成审批标题 + * @param dirType 目录类型值 + * @param action 操作类型:“目录删除”、“文件删除”、“文件新增”、“文件修改”、“文件元数据修改”、“文档新增” + * @return 审批标题,例如:“知识库目录删除”、“公差分析库文件新增” + */ + public static String buildApprovalTitle(Integer dirType, String action) { + if (dirType == null || action == null) { + return "文件审批"; // 默认标题 + } + DirTypeEnum dirTypeEnum = getDirTypeByValue(dirType); + if (dirTypeEnum == null) { + return "文件审批"; // 默认标题 + } + return dirTypeEnum.getDisplayName() + action; + } + + /** + * 根据目录类型枚举和操作类型生成审批标题 + * @param dirTypeEnum 目录类型枚举 + * @param action 操作类型:“目录删除”、“文件删除”、“文件新增”、“文件修改”、“文件元数据修改”、“文档新增” + * @return 审批标题,例如:“知识库目录删除”、“公差分析库文件新增” + */ + public static String buildApprovalTitle(DirTypeEnum dirTypeEnum, String action) { + if (dirTypeEnum == null || action == null) { + return "文件审批"; // 默认标题 + } + return dirTypeEnum.getDisplayName() + action; + } } diff --git a/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java b/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java index 6d72cfe9..1df14be0 100644 --- a/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java +++ b/data/src/main/java/com/sdm/data/service/impl/MinioFileIDataFileServiceImpl.java @@ -558,7 +558,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService { List.of(deleteDirMetadataInfo), Sets.union(allFileIds, allDirIds), deleteDirMetadataInfo, - "知识库目录删除", + DirTypeEnum.buildApprovalTitle(dirType, "目录删除"), req.getTemplateId(), req.getTemplateName() ); @@ -711,7 +711,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService { List.of(deleteFileMetadataInfo), Set.of(delFileId), dirMetadataInfo, - "知识库文件删除", + DirTypeEnum.buildApprovalTitle(dirMetadataInfo.getDirType(), "文件删除"), req.getTemplateId(), req.getTemplateName() ); @@ -2190,7 +2190,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService { } FileApproveRequestBuilder uploadFileApproveRequestBuilder = FileApproveRequestBuilder.builder() .toUpdateFileIds(List.of(fileInfo.getId())) - .contents("知识库文件新增") + .contents(DirTypeEnum.buildApprovalTitle(dirMetadataInfo.getDirType(), "文件新增")) .approveType(ApproveTypeEnum.KNOWLEDGE_APPROVE) .approveFileActionENUM(ApproveFileActionENUM.ADD) .beforeData(List.of(fileInfo)) @@ -2375,7 +2375,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService { //发起审批 FileApproveRequestBuilder updateFileMetaIntoApproveRequestBuilder = FileApproveRequestBuilder.builder() .toUpdateFileIds(List.of(fileMetadataInfo.getId())) - .contents("知识库文件元数据修改") + .contents(DirTypeEnum.buildApprovalTitle(dirMetadataInfo.getDirType(), "文件元数据修改")) .approveType(ApproveTypeEnum.KNOWLEDGE_APPROVE) .approveFileActionENUM(ApproveFileActionENUM.MODIFY) .beforeData(List.of(fileMetadataInfo)) @@ -2538,7 +2538,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService { newFileInfo.setIsLatest(false); FileApproveRequestBuilder uploadAndUpdateFileApproveRequestBuilder = FileApproveRequestBuilder.builder() .toUpdateFileIds(List.of(newFileInfo.getId())) - .contents("知识库文件修改") + .contents(DirTypeEnum.buildApprovalTitle(dirMetadataInfo.getDirType(), "文件修改")) .approveType(ApproveTypeEnum.KNOWLEDGE_APPROVE) .approveFileActionENUM(ApproveFileActionENUM.MODIFY) .beforeData(List.of(oldFileMetadataInfo)) @@ -3368,7 +3368,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService { // 构建审批内容 FileApproveRequestBuilder batchUploadFileApproveRequestBuilder = FileApproveRequestBuilder.builder() .toUpdateFileIds(succBusinessIds) - .contents("知识库文档新增") + .contents(DirTypeEnum.buildApprovalTitle(dirMetadataInfo.getDirType(), "文档新增")) .approveType(ApproveTypeEnum.KNOWLEDGE_APPROVE) .approveFileActionENUM(ApproveFileActionENUM.ADD) .beforeData(succFileMetadataInfos)