From b7c0e76da2529a7428ab15686b47214b7d621ad8 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期二, 20 六月 2023 16:50:30 +0800 Subject: [PATCH] update 优化 三方登录接口代码逻辑 --- ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java | 16 +++++++++------- 1 files changed, 9 insertions(+), 7 deletions(-) diff --git a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java index d944a5a..52bf56c 100644 --- a/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java +++ b/ruoyi-admin/src/main/java/org/dromara/web/service/SysLoginService.java @@ -175,13 +175,15 @@ return R.fail("瀵逛笉璧凤紝鎺堟潈淇℃伅楠岃瘉涓嶉�氳繃锛岃閫�鍑洪噸璇曪紒"); } AuthUser authUserData = authUser.getData(); - SysSocialVo user = sysSocialService.selectByAuthId(authUserData.getSource() + authUserData.getUuid()); - if (ObjectUtil.isNotNull(user)) { + SysSocialVo social = sysSocialService.selectByAuthId(authUserData.getSource() + authUserData.getUuid()); + if (ObjectUtil.isNotNull(social)) { + SysUser user = userMapper.selectOne(new LambdaQueryWrapper<SysUser>() + .eq(SysUser::getUserId, social.getUserId())); // 鎵ц鐧诲綍鍜岃褰曠櫥褰曚俊鎭搷浣� return loginAndRecord(user.getTenantId(), user.getUserName(), authUserData); } else { // 鍒ゆ柇鏄惁宸茬櫥褰� - if (LoginHelper.getUserId() == null) { + if (!StpUtil.isLogin()) { return R.fail("鎺堟潈澶辫触锛岃鍏堢櫥褰曟墠鑳界粦瀹�"); } SysSocialBo bo = new SysSocialBo(); @@ -211,10 +213,10 @@ */ private R<String> loginAndRecord(String tenantId, String userName, AuthUser authUser) { checkTenant(tenantId); - SysUserVo dbUser = loadUserByUsername(tenantId, userName); - LoginHelper.loginByDevice(buildLoginUser(dbUser), DeviceType.SOCIAL); - recordLogininfor(dbUser.getTenantId(), userName, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")); - recordLoginInfo(dbUser.getUserId()); + SysUserVo user = loadUserByUsername(tenantId, userName); + LoginHelper.loginByDevice(buildLoginUser(user), DeviceType.SOCIAL); + recordLogininfor(user.getTenantId(), userName, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")); + recordLoginInfo(user.getUserId()); return R.ok(StpUtil.getTokenValue()); } -- Gitblit v1.9.3