From 8879fc6f1b2b44d19bde5394bdcbfdfef0a916d8 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: Thu, 6 Mar 2025 17:36:31 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E4=BC=98=E5=8C=96=20=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E6=B5=81=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflow/service/IFlwCommonService.java | 6 ++++++ .../service/impl/FlwCommonServiceImpl.java | 10 +++++++++- .../service/impl/FlwTaskServiceImpl.java | 17 ++++++++--------- 3 files changed, 23 insertions(+), 10 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwCommonService.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwCommonService.java index 80943d85..76a50607 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwCommonService.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/IFlwCommonService.java @@ -1,6 +1,7 @@ package org.dromara.workflow.service; import org.dromara.warm.flow.core.entity.User; +import org.dromara.warm.flow.core.service.UserService; import java.util.List; import java.util.Set; @@ -12,6 +13,11 @@ import java.util.Set; */ public interface IFlwCommonService { + /** + * 获取工作流用户service + */ + UserService getFlowUserService(); + /** * 构建工作流用户 * diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwCommonServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwCommonServiceImpl.java index bcf71447..bc83989e 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwCommonServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/FlwCommonServiceImpl.java @@ -64,6 +64,14 @@ public class FlwCommonServiceImpl implements IFlwCommonService { @DubboReference private RemoteMailService remoteMailService; + /** + * 获取工作流用户service + */ + @Override + public UserService getFlowUserService() { + return userService; + } + /** * 构建工作流用户 * @@ -78,8 +86,8 @@ public class FlwCommonServiceImpl implements IFlwCommonService { } Set list = new HashSet<>(); Set processedBySet = new HashSet<>(); + IFlwTaskAssigneeService taskAssigneeService = SpringUtils.getBean(IFlwTaskAssigneeService.class); for (User user : userList) { - IFlwTaskAssigneeService taskAssigneeService = SpringUtils.getBean(IFlwTaskAssigneeService.class); // 根据 processedBy 前缀判断处理人类型,分别获取用户列表 List users = taskAssigneeService.fetchUsersByStorageId(user.getProcessedBy()); // 转换为 FlowUser 并添加到结果集合 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 92387541..9a5dac44 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 @@ -70,7 +70,6 @@ public class FlwTaskServiceImpl implements IFlwTaskService { private final TaskService taskService; private final InsService insService; private final DefService defService; - private final UserService userService; private final HisTaskService hisTaskService; private final NodeService nodeService; private final FlowInstanceMapper flowInstanceMapper; @@ -200,7 +199,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { } List taskIdList = StreamUtils.toList(flowTasks, FlowTask::getId); // 获取与当前任务关联的用户列表 - List associatedUsers = userService.getByAssociateds(taskIdList); + List associatedUsers = flwCommonService.getFlowUserService().getByAssociateds(taskIdList); if (CollUtil.isEmpty(associatedUsers)) { return; } @@ -213,12 +212,12 @@ public class FlwTaskServiceImpl implements IFlwTaskService { } } // 批量删除现有任务的办理人记录 - userService.deleteByTaskIds(taskIdList); + flwCommonService.getFlowUserService().deleteByTaskIds(taskIdList); // 确保要保存的 userList 不为空 if (CollUtil.isEmpty(userList)) { return; } - userService.saveBatch(userList); + flwCommonService.getFlowUserService().saveBatch(userList); } /** @@ -258,7 +257,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { return flowUser; }).collect(Collectors.toList()); // 批量保存抄送人员 - userService.saveBatch(userList); + flwCommonService.getFlowUserService().saveBatch(userList); } /** @@ -633,7 +632,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { List flowTasks = this.selectByIdList(taskIdList); // 批量删除现有任务的办理人记录 if (CollUtil.isNotEmpty(flowTasks)) { - userService.deleteByTaskIds(StreamUtils.toList(flowTasks, FlowTask::getId)); + flwCommonService.getFlowUserService().deleteByTaskIds(StreamUtils.toList(flowTasks, FlowTask::getId)); List userList = flowTasks.stream() .map(flowTask -> { FlowUser flowUser = new FlowUser(); @@ -644,7 +643,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { }) .collect(Collectors.toList()); if (CollUtil.isNotEmpty(userList)) { - userService.saveBatch(userList); + flwCommonService.getFlowUserService().saveBatch(userList); } } } catch (Exception e) { @@ -663,7 +662,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { public Map> currentTaskAllUser(List taskIdList) { Map> map = new HashMap<>(); // 获取与当前任务关联的用户列表 - List associatedUsers = userService.getByAssociateds(taskIdList); + List associatedUsers = flwCommonService.getFlowUserService().getByAssociateds(taskIdList); Map> listMap = StreamUtils.groupByKey(associatedUsers, User::getAssociated); for (Map.Entry> entry : listMap.entrySet()) { List value = entry.getValue(); @@ -683,7 +682,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService { @Override public List currentTaskAllUser(Long taskId) { // 获取与当前任务关联的用户列表 - List userList = userService.getByAssociateds(Collections.singletonList(taskId)); + List userList = flwCommonService.getFlowUserService().getByAssociateds(Collections.singletonList(taskId)); if (CollUtil.isEmpty(userList)) { return Collections.emptyList(); }