From 5b337b4d2f2502d8a85741a570ad84ff346ffcad Mon Sep 17 00:00:00 2001 From: AprilWind <2100166581@qq.com> Date: Tue, 12 Nov 2024 15:47:27 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=9B=B4=E6=96=B0=E9=80=9A=E8=BF=87?= =?UTF-8?q?=E5=B2=97=E4=BD=8DID=E6=9F=A5=E8=AF=A2=E7=94=A8=E6=88=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/service/UserService.java | 8 +++++++ .../service/impl/SysUserServiceImpl.java | 22 +++++++++++++++++++ .../impl/WfTaskAssigneeServiceImpl.java | 2 +- 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/UserService.java b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/UserService.java index 2c8b99bbb..1914b3fff 100644 --- a/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/UserService.java +++ b/ruoyi-common/ruoyi-common-core/src/main/java/org/dromara/common/core/service/UserService.java @@ -85,6 +85,14 @@ public interface UserService { */ List selectUsersByDeptIds(List deptIds); + /** + * 通过岗位ID查询用户 + * + * @param postIds 岗位ids + * @return 用户 + */ + List selectUsersByPostIds(List postIds); + /** * 查询用户并返回任务指派的列表,支持分页 * diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index 0a5e9d507..763ac582d 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -696,6 +696,28 @@ public class SysUserServiceImpl implements ISysUserService, UserService { return BeanUtil.copyToList(list, UserDTO.class); } + /** + * 通过岗位ID查询用户 + * + * @param postIds 岗位ids + * @return 用户 + */ + @Override + public List selectUsersByPostIds(List postIds) { + if (CollUtil.isEmpty(postIds)) { + return List.of(); + } + + // 通过岗位ID获取用户岗位信息 + List userPosts = userPostMapper.selectList( + new LambdaQueryWrapper().in(SysUserPost::getPostId, postIds)); + + // 获取用户ID列表 + Set userIds = StreamUtils.toSet(userPosts, SysUserPost::getUserId); + + return selectListByIds(new ArrayList<>(userIds)); + } + /** * 查询用户并返回任务指派的列表,支持分页 * diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfTaskAssigneeServiceImpl.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfTaskAssigneeServiceImpl.java index f9d5e24a6..a87a9a829 100644 --- a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfTaskAssigneeServiceImpl.java +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/service/impl/WfTaskAssigneeServiceImpl.java @@ -152,7 +152,7 @@ public class WfTaskAssigneeServiceImpl implements IWfTaskAssigneeService, Handle case USER -> userService.selectListByIds(ids); case ROLE -> userService.selectUsersByRoleIds(ids); case DEPT -> userService.selectUsersByDeptIds(ids); - // todo 岗位后续待添加 + case POST -> userService.selectUsersByPostIds(ids); default -> Collections.emptyList(); }; }