From 607589d2c5f2d8ed94ffbb311e096cb41b2f0a08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Mon, 30 Mar 2026 11:39:23 +0800 Subject: [PATCH] =?UTF-8?q?feat(user):=20=E6=B7=BB=E5=8A=A0=E6=A0=B9?= =?UTF-8?q?=E6=8D=AE=E6=89=8B=E6=9C=BA=E5=8F=B7=E6=9F=A5=E8=AF=A2=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=9A=84=E8=B7=A8=E7=A7=9F=E6=88=B7=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 UserMapper 中新增 selectByPhone 方法,支持忽略租户隔离查询 - 更新 UserMapper.xml 中的 selectByPhone 查询语句,实现跨库查询逻辑 - 修改 UserServiceImpl 中的 getByPhone 方法,使用自定义 SQL 避免租户拦截器影响 - 实现跨租户查询,直接访问 gxwebsoft_core.sys_user 表获取用户信息 --- .../gxwebsoft/common/system/mapper/UserMapper.java | 8 ++++++++ .../common/system/mapper/xml/UserMapper.xml | 13 +++---------- .../common/system/service/impl/UserServiceImpl.java | 3 ++- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/gxwebsoft/common/system/mapper/UserMapper.java b/src/main/java/com/gxwebsoft/common/system/mapper/UserMapper.java index 41c8be0..a5c4f35 100644 --- a/src/main/java/com/gxwebsoft/common/system/mapper/UserMapper.java +++ b/src/main/java/com/gxwebsoft/common/system/mapper/UserMapper.java @@ -62,6 +62,14 @@ public interface UserMapper extends BaseMapper { @InterceptorIgnore(tenantLine = "true") User selectByIdIgnoreTenant(@Param("userId") Integer userId); + /** + * 根据手机号查询用户(忽略租户隔离,跨库查 gxwebsoft_core.sys_user) + * @param phone 手机号 + * @return User + */ + @InterceptorIgnore(tenantLine = "true") + User selectByPhone(@Param("phone") String phone); + @InterceptorIgnore(tenantLine = "true") List pageAdminByPhone(@Param("param") UserParam param); diff --git a/src/main/java/com/gxwebsoft/common/system/mapper/xml/UserMapper.xml b/src/main/java/com/gxwebsoft/common/system/mapper/xml/UserMapper.xml index df27bef..4a2a32e 100644 --- a/src/main/java/com/gxwebsoft/common/system/mapper/xml/UserMapper.xml +++ b/src/main/java/com/gxwebsoft/common/system/mapper/xml/UserMapper.xml @@ -182,20 +182,13 @@ - + diff --git a/src/main/java/com/gxwebsoft/common/system/service/impl/UserServiceImpl.java b/src/main/java/com/gxwebsoft/common/system/service/impl/UserServiceImpl.java index b321832..6ba5309 100644 --- a/src/main/java/com/gxwebsoft/common/system/service/impl/UserServiceImpl.java +++ b/src/main/java/com/gxwebsoft/common/system/service/impl/UserServiceImpl.java @@ -180,7 +180,8 @@ public class UserServiceImpl extends ServiceImpl implements Us @Override public User getByPhone(String phone) { - return query().eq("phone", phone).one(); + // 使用自定义 SQL(@InterceptorIgnore),避免 TenantLineInterceptor 把表定位到当前库的 sys_user + return baseMapper.selectByPhone(phone); } @Override