From 31cae49a171aa56e9d4cfebc73ca19e5be454452 Mon Sep 17 00:00:00 2001 From: PIG AI Date: Mon, 7 Jul 2025 11:49:18 +0800 Subject: [PATCH] =?UTF-8?q?refactor(SysUserMapper):=20=E4=BC=98=E5=8C=96?= =?UTF-8?q?=E7=94=A8=E6=88=B7=E6=9F=A5=E8=AF=A2=E6=96=B9=E6=B3=95=E5=91=BD?= =?UTF-8?q?=E5=90=8D=E5=92=8CSQL=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 将selectVoListByScope重命名为getUserVoListByScope以保持命名一致性 - 优化SQL查询条件顺序,将tenant_id条件前置 - 在用户列表查询中增加phone模糊查询条件 - 调整tenant_id IS NULL条件位置以提高查询效率 --- .../pigx/admin/mapper/SysUserMapper.java | 61 +++++++++---------- .../service/impl/SysUserServiceImpl.java | 2 +- .../main/resources/mapper/SysUserMapper.xml | 13 +++- 3 files changed, 40 insertions(+), 36 deletions(-) diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysUserMapper.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysUserMapper.java index 06cba3a2d..e0b9361f3 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysUserMapper.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/mapper/SysUserMapper.java @@ -41,40 +41,37 @@ import java.util.List; @Mapper public interface SysUserMapper extends PigxBaseMapper { - /** - * 通过用户DTO查询用户信息(包含角色信息) - * - * @param userDTO 用户查询DTO - * @return 包含角色信息的用户VO - */ - @InterceptorIgnore(tenantLine = "true") - UserVO getUserVo(@Param("query") UserDTO userDTO); + /** + * 通过用户DTO查询用户信息(包含角色信息) + * @param userDTO 用户查询DTO + * @return 包含角色信息的用户VO + */ + @InterceptorIgnore(tenantLine = "true") + UserVO getUserVo(@Param("query") UserDTO userDTO); - /** - * 分页查询用户信息(含角色) - * - * @param page 分页对象 - * @param userDTO 用户查询参数 - * @param dataScope 数据权限范围 - * @return 分页用户信息列表 - */ - IPage getUserVosPage(Page page, @Param("query") UserDTO userDTO, DataScope dataScope); + /** + * 分页查询用户信息(含角色) + * @param page 分页对象 + * @param userDTO 用户查询参数 + * @param dataScope 数据权限范围 + * @return 分页用户信息列表 + */ + IPage getUserVosPage(Page page, @Param("query") UserDTO userDTO, DataScope dataScope); - /** - * 通过ID查询用户信息 - * @param id 用户ID - * @return 用户信息VO对象 - */ - UserVO getUserVoById(Long id); + /** + * 通过ID查询用户信息 + * @param id 用户ID + * @return 用户信息VO对象 + */ + UserVO getUserVoById(Long id); - /** - * 根据数据权限查询用户列表 - * - * @param userDTO 查询条件 - * @param ids 用户ID数组 - * @param dataScope 数据权限声明 - * @return 用户VO列表 - */ - List selectVoListByScope(@Param("query") UserDTO userDTO, @Param("ids") Long[] ids, DataScope dataScope); + /** + * 根据数据权限查询用户列表 + * @param userDTO 查询条件 + * @param ids 用户ID数组 + * @param dataScope 数据权限声明 + * @return 用户VO列表 + */ + List getUserVoListByScope(@Param("query") UserDTO userDTO, @Param("ids") Long[] ids, DataScope dataScope); } diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java index 7dafea936..86094882d 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysUserServiceImpl.java @@ -348,7 +348,7 @@ public class SysUserServiceImpl extends ServiceImpl impl public List listUser(UserDTO userDTO, Long[] ids) { // 根据数据权限查询全部的用户信息 userDTO.setTenantId(SecurityUtils.getUser().getTenantId()); - List voList = baseMapper.selectVoListByScope(userDTO, ids, DataScope.of()); + List voList = baseMapper.getUserVoListByScope(userDTO, ids, DataScope.of()); return voList.stream().map(userVO -> { UserExcelVO excelVO = new UserExcelVO(); BeanUtils.copyProperties(userVO, excelVO); diff --git a/pigx-upms/pigx-upms-biz/src/main/resources/mapper/SysUserMapper.xml b/pigx-upms/pigx-upms-biz/src/main/resources/mapper/SysUserMapper.xml index ba10e0520..676be63a0 100644 --- a/pigx-upms/pigx-upms-biz/src/main/resources/mapper/SysUserMapper.xml +++ b/pigx-upms/pigx-upms-biz/src/main/resources/mapper/SysUserMapper.xml @@ -114,7 +114,7 @@ sys_user u LEFT JOIN sys_user_dept ud ON u.user_id = ud.user_id WHERE - ud.tenant_id = #{query.tenantId} OR ud.tenant_id IS NULL + ud.tenant_id = #{query.tenantId} AND u.del_flag = '0' @@ -130,11 +130,12 @@ AND u.phone LIKE #{phoneLike} + OR ud.tenant_id IS NULL ORDER BY u.create_time DESC - SELECT , ud.dept_id @@ -142,7 +143,7 @@ sys_user u LEFT JOIN sys_user_dept ud ON u.user_id = ud.user_id WHERE - ud.tenant_id = #{query.tenantId} OR ud.tenant_id IS NULL + ud.tenant_id = #{query.tenantId} AND u.del_flag = '0' @@ -153,6 +154,11 @@ AND ud.dept_id = #{query.deptId} + + + + AND u.phone LIKE #{phoneLike} + AND u.user_id IN @@ -160,6 +166,7 @@ #{id} + OR ud.tenant_id IS NULL ORDER BY u.create_time DESC