From 9db145a4acf5146f99ad822d1b5ac3f11fc6edfd Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Sun, 19 Jan 2025 15:50:36 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E7=94=A8=E6=88=B7=E6=A0=B9=E6=8D=AE?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E9=83=A8=E9=97=A8=E5=92=8C=E5=BD=93=E5=89=8D?= =?UTF-8?q?=E9=83=A8=E9=97=A8=E5=8F=8A=E5=85=B6=E5=AD=90=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java | 8 ++++++++ .../pjcloud/admin/service/impl/SysUserServiceImpl.java | 7 +++++++ .../src/main/resources/mapper/SysUserMapper.xml | 6 ++++++ 3 files changed, 21 insertions(+) diff --git a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java index 8a2a76603..98a84fd1b 100644 --- a/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java +++ b/pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/dto/UserDTO.java @@ -23,6 +23,7 @@ import com.bsd.pjcloud.admin.api.entity.SysUser; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; import lombok.EqualsAndHashCode; +import org.apache.commons.collections4.set.ListOrderedSet; import java.util.List; @@ -65,4 +66,11 @@ public class UserDTO extends SysUser { private List userIds; + /** + * false 当前部门 + * true 当前部门及子部门 + */ + private Boolean isDeepDept; + private List deptIds; + } diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java index e929067fd..094dab539 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/java/com/bsd/pjcloud/admin/service/impl/SysUserServiceImpl.java @@ -221,6 +221,13 @@ public class SysUserServiceImpl extends ServiceImpl impl */ @Override public IPage getUsersWithRolePage(Page page, UserDTO userDTO) { + if (userDTO.getIsDeepDept() && ObjectUtil.isNotEmpty(userDTO.getDeptId())) { + List deptList = sysDeptService.listDescendant(userDTO.getDeptId()); + userDTO.setDeptId(null); + if (ObjectUtil.isNotEmpty(deptList)) { + userDTO.setDeptIds(deptList.stream().map(SysDept::getDeptId).collect(Collectors.toList())); + } + } IPage list = baseMapper.getUserVosPage(page, userDTO, DataScope.of()); if (ObjectUtil.isNotEmpty(list.getRecords())) { List userIds = list.getRecords().stream().map(UserVO::getUserId).distinct().toList(); diff --git a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml index 0ada96c57..394522179 100644 --- a/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml +++ b/pjcloud-upms/pjcloud-upms-biz/src/main/resources/mapper/SysUserMapper.xml @@ -178,6 +178,12 @@ AND u.dept_id = #{query.deptId} + + and u.dept_id IN + + #{v} + + AND u.phone LIKE #{phoneLike}