From 3d5c00f03d073d5cb0c8ed4a647eed4e83cc252c Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Mon, 16 Dec 2024 16:29:36 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=96=B0=E5=A2=9E=E7=BF=BB=E8=AF=91?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E6=B5=81=E7=A8=8B=E5=88=86=E7=B1=BBID?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E6=B5=81=E7=A8=8B=E5=88=86=E7=B1=BB=E5=90=8D?= =?UTF-8?q?=E7=A7=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/constant/FlowConstant.java | 10 ++++++ .../workflow/domain/vo/FlowDefinitionVo.java | 8 +++++ .../workflow/service/IFlwCategoryService.java | 8 +++++ .../workflow/service/IFlwTaskService.java | 3 +- .../impl/CategoryNameTranslationImpl.java | 31 +++++++++++++++++++ .../service/impl/FlwCategoryServiceImpl.java | 19 ++++++++++++ .../service/impl/FlwInstanceServiceImpl.java | 4 +-- 7 files changed, 79 insertions(+), 4 deletions(-) create mode 100644 ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/CategoryNameTranslationImpl.java diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/constant/FlowConstant.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/constant/FlowConstant.java index 18cc90678..e7a0580ac 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/constant/FlowConstant.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/common/constant/FlowConstant.java @@ -48,4 +48,14 @@ public interface FlowConstant { */ String REDUCTION_SIGNATURE = "reductionSignature"; + /** + * 流程分类Id转名称 + */ + String CATEGORY_ID_TO_NAME = "category_id_to_name"; + + /** + * 流程分类名称 + */ + String FLOW_CATEGORY_NAME = "flow_category_name#30d"; + } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowDefinitionVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowDefinitionVo.java index 7e9bec3bf..0878d1e45 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowDefinitionVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowDefinitionVo.java @@ -1,6 +1,8 @@ package org.dromara.workflow.domain.vo; import lombok.Data; +import org.dromara.common.translation.annotation.Translation; +import org.dromara.workflow.common.constant.FlowConstant; import java.io.Serial; import java.io.Serializable; @@ -54,6 +56,12 @@ public class FlowDefinitionVo implements Serializable { */ private String category; + /** + * 流程分类名称 + */ + @Translation(type = FlowConstant.CATEGORY_ID_TO_NAME, mapper = "category") + private String categoryName; + /** * 流程版本 */ diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwCategoryService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwCategoryService.java index 9bc97c0ee..21f82c79d 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwCategoryService.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwCategoryService.java @@ -21,6 +21,14 @@ public interface IFlwCategoryService { */ FlowCategoryVo queryById(Long categoryId); + /** + * 根据流程分类ID查询流程分类名称 + * + * @param categoryId 流程分类ID + * @return 流程分类名称 + */ + String selectCategoryNameById(String categoryId); + /** * 查询符合条件的流程分类列表 * diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java index 3f7a169c6..dc027865f 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwTaskService.java @@ -18,6 +18,7 @@ import java.util.Map; * @author may */ public interface IFlwTaskService { + /** * 启动任务 * @@ -26,7 +27,6 @@ public interface IFlwTaskService { */ Map startWorkFlow(StartProcessBo startProcessBo); - /** * 办理任务 * @@ -53,7 +53,6 @@ public interface IFlwTaskService { */ TableDataInfo pageByTaskFinish(FlowTaskBo flowTaskBo, PageQuery pageQuery); - /** * 查询待办任务 * diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/CategoryNameTranslationImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/CategoryNameTranslationImpl.java new file mode 100644 index 000000000..4adbadaf7 --- /dev/null +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/CategoryNameTranslationImpl.java @@ -0,0 +1,31 @@ +package org.dromara.workflow.service.impl; + +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.dromara.common.translation.annotation.TranslationType; +import org.dromara.common.translation.core.TranslationInterface; +import org.dromara.workflow.common.constant.FlowConstant; +import org.dromara.workflow.service.IFlwCategoryService; +import org.springframework.stereotype.Service; + +/** + * 流程分类名称翻译实现 + * + * @author AprilWind + */ +@Slf4j +@RequiredArgsConstructor +@Service +@TranslationType(type = FlowConstant.CATEGORY_ID_TO_NAME) +public class CategoryNameTranslationImpl implements TranslationInterface { + + private final IFlwCategoryService flwCategoryService; + + @Override + public String translation(Object key, String other) { + if (key instanceof String categoryId) { + return flwCategoryService.selectCategoryNameById(categoryId); + } + return null; + } +} diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwCategoryServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwCategoryServiceImpl.java index 6bef2348a..4d2c41749 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwCategoryServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwCategoryServiceImpl.java @@ -15,11 +15,14 @@ import org.dromara.common.mybatis.helper.DataBaseHelper; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.warm.flow.core.service.DefService; import org.dromara.warm.flow.orm.entity.FlowDefinition; +import org.dromara.workflow.common.constant.FlowConstant; import org.dromara.workflow.domain.FlowCategory; import org.dromara.workflow.domain.bo.FlowCategoryBo; import org.dromara.workflow.domain.vo.FlowCategoryVo; import org.dromara.workflow.mapper.FlwCategoryMapper; import org.dromara.workflow.service.IFlwCategoryService; +import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; import java.util.ArrayList; @@ -56,6 +59,20 @@ public class FlwCategoryServiceImpl implements IFlwCategoryService { return category; } + /** + * 根据流程分类ID查询流程分类名称 + * + * @param categoryId 流程分类ID + * @return 流程分类名称 + */ + @Cacheable(cacheNames = FlowConstant.FLOW_CATEGORY_NAME, key = "#categoryId") + @Override + public String selectCategoryNameById(String categoryId) { + FlowCategory category = baseMapper.selectOne(new LambdaQueryWrapper() + .select(FlowCategory::getCategoryName).eq(FlowCategory::getCategoryId, categoryId)); + return ObjectUtils.notNullGetter(category, FlowCategory::getCategoryName); + } + /** * 查询符合条件的流程分类列表 * @@ -210,6 +227,7 @@ public class FlwCategoryServiceImpl implements IFlwCategoryService { * @param bo 流程分类 * @return 是否修改成功 */ + @CacheEvict(cacheNames = FlowConstant.FLOW_CATEGORY_NAME, key = "#bo.categoryId") @Override public int updateByBo(FlowCategoryBo bo) { FlowCategory category = MapstructUtils.convert(bo, FlowCategory.class); @@ -280,6 +298,7 @@ public class FlwCategoryServiceImpl implements IFlwCategoryService { * @param categoryId 主键 * @return 是否删除成功 */ + @CacheEvict(cacheNames = FlowConstant.FLOW_CATEGORY_NAME, key = "#categoryId") @Override public int deleteWithValidById(Long categoryId) { return baseMapper.deleteById(categoryId); diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java index 2d7140602..b1af57ba8 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwInstanceServiceImpl.java @@ -80,7 +80,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService { /** * 分页查询正在运行的流程实例 * - * @param flowInstanceBo 参数 + * @param flowInstanceBo 流程实例 * @param pageQuery 分页 */ @Override @@ -94,7 +94,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService { /** * 分页查询已结束的流程实例 * - * @param flowInstanceBo 参数 + * @param flowInstanceBo 流程实例 * @param pageQuery 分页 */ @Override