From 289ff6981270a0565d564c136c6919bf4cba300c 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, 22 Sep 2025 14:32:05 +0800 Subject: [PATCH] =?UTF-8?q?feat(qr-login):=20=E6=B7=BB=E5=8A=A0=E7=A7=9F?= =?UTF-8?q?=E6=88=B7ID=E5=AD=97=E6=AE=B5=E4=BB=A5=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E5=A4=9A=E7=A7=9F=E6=88=B7=E5=9C=BA=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在 QR 登码登录流程中,新增 tenantId 字段用于标识用户所属租户。 同时移除了调试用的 System.out.println语句,优化代码整洁性。 调整了 QrLoginStatusResponse 的构造参数,确保返回信息包含租户 ID。 --- .../auto/service/impl/QrLoginServiceImpl.java | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gxwebsoft/auto/service/impl/QrLoginServiceImpl.java b/src/main/java/com/gxwebsoft/auto/service/impl/QrLoginServiceImpl.java index e9f04c0..7c2b26d 100644 --- a/src/main/java/com/gxwebsoft/auto/service/impl/QrLoginServiceImpl.java +++ b/src/main/java/com/gxwebsoft/auto/service/impl/QrLoginServiceImpl.java @@ -58,6 +58,7 @@ public class QrLoginServiceImpl implements QrLoginService { QrLoginData qrLoginData = new QrLoginData(); qrLoginData.setToken(token); qrLoginData.setStatus(QR_LOGIN_STATUS_PENDING); + qrLoginData.setTenantId(tenantId); qrLoginData.setCreateTime(DateUtil.formatDateTime(DateUtil.date())); qrLoginData.setExpireTime(DateUtil.formatDateTime(DateUtil.offsetSecond(DateUtil.date(), QR_LOGIN_TOKEN_TTL.intValue()))); @@ -93,21 +94,21 @@ public class QrLoginServiceImpl implements QrLoginService { @Override public QrLoginStatusResponse checkQrLoginStatus(String token) { if (StrUtil.isBlank(token)) { - return new QrLoginStatusResponse(QR_LOGIN_STATUS_EXPIRED, null, null, 0L); + return new QrLoginStatusResponse(QR_LOGIN_STATUS_EXPIRED, null, null, 0L, null); } String redisKey = QR_LOGIN_TOKEN_KEY + token; QrLoginData qrLoginData = redisUtil.get(redisKey, QrLoginData.class); if (qrLoginData == null) { - return new QrLoginStatusResponse(QR_LOGIN_STATUS_EXPIRED, null, null, 0L); + return new QrLoginStatusResponse(QR_LOGIN_STATUS_EXPIRED, null, null, 0L, null); } // 检查是否过期 if (DateUtil.date().after(DateUtil.parseDateTime(qrLoginData.getExpireTime()))) { // 删除过期的token redisUtil.delete(redisKey); - return new QrLoginStatusResponse(QR_LOGIN_STATUS_EXPIRED, null, null, 0L); + return new QrLoginStatusResponse(QR_LOGIN_STATUS_EXPIRED, null, null, 0L, null); } // 计算剩余过期时间 @@ -124,7 +125,6 @@ public class QrLoginServiceImpl implements QrLoginService { // 获取用户信息 if (qrLoginData.getUserId() != null) { User user = userService.getAllByUserId("" + qrLoginData.getUserId()); - System.out.println("qrLoginData->user = " + user); if (user != null) { // 清除敏感信息 user.setPassword(null); @@ -182,7 +182,6 @@ public class QrLoginServiceImpl implements QrLoginService { qrLoginData.setUsername(user.getUsername()); qrLoginData.setAccessToken(accessToken); qrLoginData.setTenantId(user.getTenantId()); - System.out.println("qrLoginData = " + qrLoginData); // 更新Redis中的数据 redisUtil.set(redisKey, qrLoginData, 60L, TimeUnit.SECONDS); // 给前端60秒时间获取token @@ -191,7 +190,7 @@ public class QrLoginServiceImpl implements QrLoginService { // 清除敏感信息 user.setPassword(null); - return new QrLoginStatusResponse(QR_LOGIN_STATUS_CONFIRMED, accessToken, user, 60L); + return new QrLoginStatusResponse(QR_LOGIN_STATUS_CONFIRMED, accessToken, user, 60L, user.getTenantId()); } @Override