From 14f49e43ddf9c5cc8b89cc4b2a92987bc57637d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E5=BF=A0=E6=9E=97?= <170083662@qq.com> Date: Fri, 24 Jul 2026 19:31:39 +0800 Subject: [PATCH] =?UTF-8?q?refactor(system):=20=E4=BC=98=E5=8C=96=E9=80=9A?= =?UTF-8?q?=E8=BF=87=E6=89=8B=E6=9C=BA=E5=8F=B7=E9=87=8D=E7=BD=AE=E5=AF=86?= =?UTF-8?q?=E7=A0=81=E9=80=BB=E8=BE=91=EF=BC=8C=E6=94=B9=E7=94=A8UserMappe?= =?UTF-8?q?r=E8=B7=A8=E7=A7=9F=E6=88=B7=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入UserMapper,替换原有UserService跨租户手机号查询方案 - 使用selectAccountsByPhone方法获取用户列表,更加明确忽略租户隔离 - 过滤冻结账号逻辑保持不变 - 更新密码时改为调用UserMapper的updateByUserId方法 - UserMapper.xml新增status和password字段的映射,提高数据完整性获取能力 --- .../common/system/controller/MainController.java | 15 +++++++-------- .../common/system/mapper/xml/UserMapper.xml | 2 ++ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/gxwebsoft/common/system/controller/MainController.java b/src/main/java/com/gxwebsoft/common/system/controller/MainController.java index dd7729a..5b740d5 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/MainController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/MainController.java @@ -45,6 +45,7 @@ import com.gxwebsoft.common.system.result.TenantOption; import com.gxwebsoft.common.system.result.AccountInfoResult; import com.gxwebsoft.common.system.result.CheckPhoneResult; import com.gxwebsoft.common.system.service.*; +import com.gxwebsoft.common.system.mapper.UserMapper; import com.gxwebsoft.common.system.util.EmailTemplateUtil; import com.wf.captcha.SpecCaptcha; import io.jsonwebtoken.Claims; @@ -88,6 +89,8 @@ public class MainController extends BaseController { @Resource private UserService userService; @Resource + private UserMapper userMapper; + @Resource private RoleMenuService roleMenuService; @Resource private LoginRecordService loginRecordService; @@ -1520,13 +1523,9 @@ public class MainController extends BaseController { // ===== 模式判断:userId 为空时按手机号查所有用户统一重置 ===== if (StrUtil.isBlank(param.getUserId())) { - // 通过手机号查找所有用户(跨租户) - List userList = userService.list( - new LambdaQueryWrapper() - .eq(User::getPhone, param.getPhone()) - .eq(User::getDeleted, 0) - ); - if (userList.isEmpty()) { + // 通过手机号查找所有用户(跨租户,忽略租户隔离) + List userList = userMapper.selectAccountsByPhone(param.getPhone()); + if (userList == null || userList.isEmpty()) { return fail("该手机号未注册"); } // 过滤掉被冻结的账号 @@ -1542,7 +1541,7 @@ public class MainController extends BaseController { User update = new User(); update.setUserId(u.getUserId()); update.setPassword(encodedPassword); - userService.updateById(update); + userMapper.updateByUserId(update); // 记录登录日志 LoginRecord record = new LoginRecord(); record.setUsername(u.getUsername()); 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 38a859e..5bc690a 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 @@ -371,6 +371,8 @@ a.tenant_id, a.username, a.avatar, + a.status, + a.password, a.create_time, t.tenant_name FROM sys_user a