From 14463d3b1ffe3ebf38de2cf85f29f2e403b3d92d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Sat, 14 Dec 2024 23:52:48 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E9=87=8D?= =?UTF-8?q?=E6=9E=84=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../translation/constant/TransConstant.java | 5 ---- .../dromara/workflow/constant/WfConstant.java | 15 ++++++++++ .../workflow/domain/vo/FlowTaskVo.java | 3 +- .../workflow/service/AssigneeService.java | 30 ------------------- .../workflow/service/IFlwTaskService.java | 17 ++++++++++- .../service/impl/FlwTaskServiceImpl.java | 20 ++++++------- .../impl/TaskAssigneeTranslationImpl.java | 12 ++++---- 7 files changed, 49 insertions(+), 53 deletions(-) create mode 100644 ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/constant/WfConstant.java delete mode 100644 ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/AssigneeService.java diff --git a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/constant/TransConstant.java b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/constant/TransConstant.java index c14175ebe..c084ea1a0 100644 --- a/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/constant/TransConstant.java +++ b/ruoyi-common/ruoyi-common-translation/src/main/java/org/dromara/common/translation/constant/TransConstant.java @@ -32,9 +32,4 @@ public interface TransConstant { */ String OSS_ID_TO_URL = "oss_id_to_url"; - /** - * 任务Id转任务办理人名称 - */ - String TASK_ID_TO_ASSIGNEE = "task_id_to_assignee"; - } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/constant/WfConstant.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/constant/WfConstant.java new file mode 100644 index 000000000..af3c2f13f --- /dev/null +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/constant/WfConstant.java @@ -0,0 +1,15 @@ +package org.dromara.workflow.constant; + +/** + * 常量 + * + * @author Lion Li + */ +public interface WfConstant { + + /** + * 任务Id转任务办理人名称 + */ + String TASK_ID_TO_ASSIGNEE = "task_id_to_assignee"; + +} diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java index aec63ed0e..872392add 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/domain/vo/FlowTaskVo.java @@ -4,6 +4,7 @@ import lombok.Data; import org.dromara.common.translation.annotation.Translation; import org.dromara.common.translation.constant.TransConstant; import org.dromara.warm.flow.core.entity.User; +import org.dromara.workflow.constant.WfConstant; import java.io.Serial; import java.io.Serializable; @@ -123,7 +124,7 @@ public class FlowTaskVo implements Serializable { /** * 办理人名称 */ - @Translation(type = TransConstant.TASK_ID_TO_ASSIGNEE, mapper = "id") + @Translation(type = WfConstant.TASK_ID_TO_ASSIGNEE, mapper = "id") private String transactorNames; /** diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/AssigneeService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/AssigneeService.java deleted file mode 100644 index 7753a3543..000000000 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/AssigneeService.java +++ /dev/null @@ -1,30 +0,0 @@ -package org.dromara.workflow.service; - -import org.dromara.common.core.domain.dto.UserDTO; - -import java.util.List; - -/** - * 通用 办理人服务 - * - * @author AprilWind - */ -public interface AssigneeService { - - /** - * 通过taskId查询对应的任务办理人 - * - * @param taskIds taskId串逗号分隔 - * @return 任务办理人名称串逗号分隔 - */ - String selectAssigneeByIds(String taskIds); - - /** - * 通过taskId查询对应的任务办理人列表 - * - * @param taskIdList 任务id - * @return 列表 - */ - List selectByIds(List taskIdList); - -} 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 7d9e08bea..2bdb6714f 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 @@ -3,7 +3,6 @@ package org.dromara.workflow.service; import org.dromara.common.core.domain.dto.UserDTO; import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.TableDataInfo; -import org.dromara.warm.flow.core.entity.HisTask; import org.dromara.warm.flow.orm.entity.FlowHisTask; import org.dromara.warm.flow.orm.entity.FlowTask; import org.dromara.workflow.domain.bo.*; @@ -115,6 +114,22 @@ public interface IFlwTaskService { */ boolean terminationTask(FlowTerminationBo bo); + /** + * 通过taskId查询对应的任务办理人 + * + * @param taskIds taskId串逗号分隔 + * @return 任务办理人名称串逗号分隔 + */ + String selectAssigneeNamesByIds(String taskIds); + + /** + * 通过taskId查询对应的任务办理人列表 + * + * @param taskIdList 任务id + * @return 列表 + */ + List selectAssigneeByIds(List taskIdList); + /** * 按照任务id查询任务 * diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java index 43061e30d..26a307c7d 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwTaskServiceImpl.java @@ -2,6 +2,7 @@ package org.dromara.workflow.service.impl; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.convert.Convert; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; @@ -12,7 +13,6 @@ import lombok.extern.slf4j.Slf4j; import org.dromara.common.core.domain.dto.UserDTO; import org.dromara.common.core.enums.BusinessStatusEnum; import org.dromara.common.core.exception.ServiceException; -import org.dromara.workflow.service.AssigneeService; import org.dromara.common.core.utils.SpringUtils; import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StringUtils; @@ -61,7 +61,7 @@ import static org.dromara.workflow.common.constant.FlowConstant.*; @Slf4j @RequiredArgsConstructor @Service -public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService { +public class FlwTaskServiceImpl implements IFlwTaskService { private final TaskService taskService; private final InsService insService; @@ -417,16 +417,16 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService { * @return 任务办理人名称串逗号分隔 */ @Override - public String selectAssigneeByIds(String taskIds) { + public String selectAssigneeNamesByIds(String taskIds) { if (StringUtils.isBlank(taskIds)) { return null; } - List userList = userService.getByAssociateds(List.of(Long.valueOf(taskIds)) - , UserType.APPROVAL.getKey(), UserType.TRANSFER.getKey(), UserType.DEPUTE.getKey()); - // 获取处理用户的昵称并将其合并为一个字符串 - return WorkflowUtils.getHandlerUser(userList).stream() - .map(UserDTO::getNickName) - .collect(Collectors.joining(",")); + List taskIdList = StringUtils.splitTo(taskIds, Convert::toLong); + List list = this.selectAssigneeByIds(taskIdList); + if (CollUtil.isEmpty(list)) { + return StringUtils.EMPTY; + } + return StreamUtils.join(list, UserDTO::getNickName); } /** @@ -436,7 +436,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService, AssigneeService { * @return 列表 */ @Override - public List selectByIds(List taskIdList) { + public List selectAssigneeByIds(List taskIdList) { if (CollUtil.isEmpty(taskIdList)) { return Collections.emptyList(); } diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TaskAssigneeTranslationImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TaskAssigneeTranslationImpl.java index 52d5fa4ff..b02398055 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TaskAssigneeTranslationImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/TaskAssigneeTranslationImpl.java @@ -3,9 +3,9 @@ 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.constant.TransConstant; import org.dromara.common.translation.core.TranslationInterface; -import org.dromara.workflow.service.AssigneeService; +import org.dromara.workflow.constant.WfConstant; +import org.dromara.workflow.service.IFlwTaskService; import org.springframework.stereotype.Service; /** @@ -16,17 +16,17 @@ import org.springframework.stereotype.Service; @Slf4j @RequiredArgsConstructor @Service -@TranslationType(type = TransConstant.TASK_ID_TO_ASSIGNEE) +@TranslationType(type = WfConstant.TASK_ID_TO_ASSIGNEE) public class TaskAssigneeTranslationImpl implements TranslationInterface { - private final AssigneeService assigneeService; + private final IFlwTaskService flwTaskService; @Override public String translation(Object key, String other) { if (key instanceof Long id) { - return assigneeService.selectAssigneeByIds(id.toString()); + return flwTaskService.selectAssigneeNamesByIds(id.toString()); } else if (key instanceof String id) { - return assigneeService.selectAssigneeByIds(id); + return flwTaskService.selectAssigneeNamesByIds(id); } return null; }