From a71495404c96c59132def0a35fb2444dc10cf560 Mon Sep 17 00:00:00 2001 From: b2894lxlx <517289602@qq.com> Date: Mon, 30 Jun 2025 14:24:36 +0800 Subject: [PATCH] =?UTF-8?q?=E8=B0=83=E6=95=B4token=E8=BF=87=E6=9C=9F?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E4=B8=BA=E4=B8=80=E5=B9=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/core/config/ConfigProperties.java | 2 +- .../controller/UserRefereeController.java | 4 +- .../system/controller/WxLoginController.java | 50 +++++++++---------- 3 files changed, 29 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/gxwebsoft/common/core/config/ConfigProperties.java b/src/main/java/com/gxwebsoft/common/core/config/ConfigProperties.java index dfee5d3..d500177 100644 --- a/src/main/java/com/gxwebsoft/common/core/config/ConfigProperties.java +++ b/src/main/java/com/gxwebsoft/common/core/config/ConfigProperties.java @@ -60,7 +60,7 @@ public class ConfigProperties { /** * token过期时间, 单位秒 */ - private Long tokenExpireTime = 60 * 60 * 30 * 24L; + private Long tokenExpireTime = 60 * 60 * 365 * 24L; /** * token快要过期自动刷新时间, 单位分钟 diff --git a/src/main/java/com/gxwebsoft/common/system/controller/UserRefereeController.java b/src/main/java/com/gxwebsoft/common/system/controller/UserRefereeController.java index 106e36d..e64dec8 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/UserRefereeController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/UserRefereeController.java @@ -145,7 +145,9 @@ public class UserRefereeController extends BaseController { final UserReferee referee = userRefereeService.getOne(new LambdaQueryWrapper() .eq(UserReferee::getUserId, id) - .eq(UserReferee::getDeleted, 0)); + .eq(UserReferee::getDeleted, 0) + .last("limit 1") + ); if (ObjectUtil.isEmpty(referee)) { return fail("查询失败", null); diff --git a/src/main/java/com/gxwebsoft/common/system/controller/WxLoginController.java b/src/main/java/com/gxwebsoft/common/system/controller/WxLoginController.java index 713a01d..ead0f70 100644 --- a/src/main/java/com/gxwebsoft/common/system/controller/WxLoginController.java +++ b/src/main/java/com/gxwebsoft/common/system/controller/WxLoginController.java @@ -114,14 +114,14 @@ public class WxLoginController extends BaseController { // 查询是否存在 User user = userService.getByPhone(phone); // 超级管理员验证 - if(userParam.getIsSuperAdmin() != null){ - final LoginParam loginParam = new LoginParam(); - loginParam.setIsAdmin(true); - loginParam.setPhone(phone); - final List adminsByPhone = userService.getAdminsByPhone(loginParam); - if (!CollectionUtils.isEmpty(adminsByPhone)) { - user = adminsByPhone.get(0); - } + if (userParam.getIsSuperAdmin() != null) { + final LoginParam loginParam = new LoginParam(); + loginParam.setIsAdmin(true); + loginParam.setPhone(phone); + final List adminsByPhone = userService.getAdminsByPhone(loginParam); + if (!CollectionUtils.isEmpty(adminsByPhone)) { + user = adminsByPhone.get(0); + } } // 不存在则注册 if (user == null) { @@ -137,18 +137,18 @@ public class WxLoginController extends BaseController { userParam.setPhone(phone); user = addUser(userParam); user.setRecommend(1); - }else { + } else { // 存在则检查绑定上级 if (userParam.getSceneType() != null && userParam.getSceneType().equals("save_referee") && userParam.getRefereeId() != null && userParam.getRefereeId() != 0) { - UserReferee check = userRefereeService.check(user.getUserId(), userParam.getRefereeId()); - if (check == null) { - UserReferee userReferee = new UserReferee(); - userReferee.setDealerId(userParam.getRefereeId()); - userReferee.setUserId(user.getUserId()); - userRefereeService.save(userReferee); + UserReferee check = userRefereeService.check(user.getUserId(), userParam.getRefereeId()); + if (check == null) { + UserReferee userReferee = new UserReferee(); + userReferee.setDealerId(userParam.getRefereeId()); + userReferee.setUserId(user.getUserId()); + userRefereeService.save(userReferee); + } } } - } // 签发token String access_token = JwtUtil.buildToken(new JwtSubject(user.getUsername(), user.getTenantId()), configProperties.getTokenExpireTime(), configProperties.getTokenKey()); @@ -437,16 +437,16 @@ public class WxLoginController extends BaseController { @ApiOperation("openid无感登录") @PostMapping("/loginByOpenId") - public ApiResult loginByOpenId(@RequestBody Mp mp,HttpServletRequest request) { + public ApiResult loginByOpenId(@RequestBody Mp mp, HttpServletRequest request) { // 获取小程序配置信息 String key1 = "AppId:".concat(mp.getTenantId().toString()); String key2 = "AppSecret:".concat(mp.getTenantId().toString()); String AppId = redisUtil.get(key1); String AppSecret = redisUtil.get(key2); if (StrUtil.isBlank(AppId) || StrUtil.isBlank(AppSecret)) { - final JSONObject setting = settingService.getBySettingKey("mp-weixin"); - AppId = setting.getString("appId"); - AppSecret = setting.getString("appSecret"); + final JSONObject setting = settingService.getBySettingKey("mp-weixin"); + AppId = setting.getString("appId"); + AppSecret = setting.getString("appSecret"); } // 请求微信接口获取openid @@ -465,11 +465,11 @@ public class WxLoginController extends BaseController { if (StrUtil.isNotBlank(openid)) { User user = userService.getOne(new LambdaQueryWrapper().eq(User::getOpenid, openid).last("limit 1")); if (ObjectUtil.isNotEmpty(user)) { - // 签发token - String access_token = JwtUtil.buildToken(new JwtSubject(user.getUsername(), user.getTenantId()), - configProperties.getTokenExpireTime(), configProperties.getTokenKey()); - loginRecordService.saveAsync(user.getUsername(), LoginRecord.TYPE_REGISTER, null, user.getTenantId(), request); - return success("登录成功", new LoginResult(access_token, user)); + // 签发token + String access_token = JwtUtil.buildToken(new JwtSubject(user.getUsername(), user.getTenantId()), + configProperties.getTokenExpireTime(), configProperties.getTokenKey()); + loginRecordService.saveAsync(user.getUsername(), LoginRecord.TYPE_REGISTER, null, user.getTenantId(), request); + return success("登录成功", new LoginResult(access_token, user)); } return fail("用户未注册", openid); }