From c604c84a0859557852e9a446623289e059ebf533 Mon Sep 17 00:00:00 2001 From: tianyongbao Date: Sun, 12 Apr 2026 12:07:54 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=94=A8=E6=88=B7=E6=99=AE=E9=80=9A?= =?UTF-8?q?=E7=99=BB=E5=BD=95=EF=BC=8C=E6=8E=A5=E5=8F=A3=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E5=87=A0=E4=B8=AA=E5=AD=97=E6=AE=B5=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/intc/web/service/impl/EmailAuthStrategy.java | 7 +++++++ .../com/intc/web/service/impl/PasswordAuthStrategy.java | 7 +++++++ .../java/com/intc/web/service/impl/SocialAuthStrategy.java | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/intc-admin/src/main/java/com/intc/web/service/impl/EmailAuthStrategy.java b/intc-admin/src/main/java/com/intc/web/service/impl/EmailAuthStrategy.java index 8a84fa3..2bd1961 100644 --- a/intc-admin/src/main/java/com/intc/web/service/impl/EmailAuthStrategy.java +++ b/intc-admin/src/main/java/com/intc/web/service/impl/EmailAuthStrategy.java @@ -50,8 +50,11 @@ public class EmailAuthStrategy implements IAuthStrategy { String tenantId = loginBody.getTenantId(); String email = loginBody.getEmail(); String emailCode = loginBody.getEmailCode(); + // 用于保存用户信息 + SysUserVo[] userHolder = new SysUserVo[1]; LoginUser loginUser = TenantHelper.dynamic(tenantId, () -> { SysUserVo user = loadUserByEmail(email); + userHolder[0] = user; loginService.checkLogin(LoginType.EMAIL, tenantId, user.getUserName(), () -> !validateEmailCode(tenantId, email, emailCode)); // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 return loginService.buildLoginUser(user); @@ -72,6 +75,10 @@ public class EmailAuthStrategy implements IAuthStrategy { loginVo.setAccessToken(StpUtil.getTokenValue()); loginVo.setExpireIn(StpUtil.getTokenTimeout()); loginVo.setClientId(client.getClientId()); + loginVo.setUserId(loginUser.getUserId()); + loginVo.setUserName(loginUser.getUsername()); + loginVo.setNickName(loginUser.getNickname()); + loginVo.setPhonenumber(userHolder[0].getPhonenumber()); return loginVo; } diff --git a/intc-admin/src/main/java/com/intc/web/service/impl/PasswordAuthStrategy.java b/intc-admin/src/main/java/com/intc/web/service/impl/PasswordAuthStrategy.java index e7d48c8..116ead8 100644 --- a/intc-admin/src/main/java/com/intc/web/service/impl/PasswordAuthStrategy.java +++ b/intc-admin/src/main/java/com/intc/web/service/impl/PasswordAuthStrategy.java @@ -62,8 +62,11 @@ public class PasswordAuthStrategy implements IAuthStrategy { if (captchaEnabled) { validateCaptcha(tenantId, username, code, uuid); } + // 用于保存用户信息(包括手机号) + SysUserVo[] userHolder = new SysUserVo[1]; LoginUser loginUser = TenantHelper.dynamic(tenantId, () -> { SysUserVo user = loadUserByUsername(username); + userHolder[0] = user; // 保存用户信息 loginService.checkLogin(LoginType.PASSWORD, tenantId, username, () -> !BCrypt.checkpw(password, user.getPassword())); // 此处可根据登录用户的数据不同 自行创建 loginUser return loginService.buildLoginUser(user); @@ -84,6 +87,10 @@ public class PasswordAuthStrategy implements IAuthStrategy { loginVo.setAccessToken(StpUtil.getTokenValue()); loginVo.setExpireIn(StpUtil.getTokenTimeout()); loginVo.setClientId(client.getClientId()); + loginVo.setUserId(loginUser.getUserId()); + loginVo.setUserName(loginUser.getUsername()); + loginVo.setNickName(loginUser.getNickname()); + loginVo.setPhonenumber(userHolder[0].getPhonenumber()); return loginVo; } diff --git a/intc-admin/src/main/java/com/intc/web/service/impl/SocialAuthStrategy.java b/intc-admin/src/main/java/com/intc/web/service/impl/SocialAuthStrategy.java index 583610a..8b112eb 100644 --- a/intc-admin/src/main/java/com/intc/web/service/impl/SocialAuthStrategy.java +++ b/intc-admin/src/main/java/com/intc/web/service/impl/SocialAuthStrategy.java @@ -80,8 +80,11 @@ public class SocialAuthStrategy implements IAuthStrategy { } else { social = list.get(0); } + // 用于保存用户信息 + SysUserVo[] userHolder = new SysUserVo[1]; LoginUser loginUser = TenantHelper.dynamic(social.getTenantId(), () -> { SysUserVo user = loadUser(social.getUserId()); + userHolder[0] = user; // 此处可根据登录用户的数据不同 自行创建 loginUser 属性不够用继承扩展就行了 return loginService.buildLoginUser(user); }); @@ -101,6 +104,10 @@ public class SocialAuthStrategy implements IAuthStrategy { loginVo.setAccessToken(StpUtil.getTokenValue()); loginVo.setExpireIn(StpUtil.getTokenTimeout()); loginVo.setClientId(client.getClientId()); + loginVo.setUserId(loginUser.getUserId()); + loginVo.setUserName(loginUser.getUsername()); + loginVo.setNickName(loginUser.getNickname()); + loginVo.setPhonenumber(userHolder[0].getPhonenumber()); return loginVo; }