From 5476a4b0b7a30b05233af79f06dadcb56008b9b9 Mon Sep 17 00:00:00 2001 From: ageer <ageerle@163.com> Date: 星期三, 30 四月 2025 19:34:09 +0800 Subject: [PATCH] fix: 公众号登录功能同步 --- ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java | 64 +------------------------------ 1 files changed, 3 insertions(+), 61 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java index d2558b6..af88f61 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/ruoyi/system/service/SysLoginService.java @@ -19,12 +19,10 @@ import org.ruoyi.common.core.domain.dto.RoleDTO; import org.ruoyi.common.core.domain.model.LoginUser; import org.ruoyi.common.core.domain.model.VisitorLoginBody; -import org.ruoyi.common.core.domain.model.VisitorLoginUser; import org.ruoyi.common.core.enums.*; import org.ruoyi.common.core.exception.user.CaptchaException; import org.ruoyi.common.core.exception.user.CaptchaExpireException; import org.ruoyi.common.core.exception.user.UserException; -import org.ruoyi.common.core.service.ConfigService; import org.ruoyi.common.core.utils.*; import org.ruoyi.common.log.event.LogininforEvent; import org.ruoyi.common.redis.utils.RedisUtils; @@ -32,8 +30,7 @@ import org.ruoyi.common.tenant.exception.TenantException; import org.ruoyi.common.tenant.helper.TenantHelper; import org.ruoyi.system.domain.SysUser; -import org.ruoyi.system.domain.bo.SysUserBo; -import org.ruoyi.system.domain.vo.LoginVo; + import org.ruoyi.system.domain.vo.SysTenantVo; import org.ruoyi.system.domain.vo.SysUserVo; import org.ruoyi.system.mapper.SysUserMapper; @@ -43,7 +40,6 @@ import java.time.Duration; import java.util.Date; import java.util.List; -import java.util.UUID; import java.util.function.Supplier; /** @@ -60,8 +56,6 @@ private final WxMaService wxMaService; private final ISysPermissionService permissionService; private final ISysTenantService tenantService; - private final ISysUserService userService; - private final ConfigService configService; @Value("${user.password.maxRetryCount}") private Integer maxRetryCount; @@ -69,7 +63,7 @@ private Integer lockTime; /** - * 鑾峰彇寰俊 + * 鑾峰彇寰俊code * @param xcxCode 鑾峰彇xcxCode */ public String getOpenidFromCode(String xcxCode) { @@ -137,9 +131,8 @@ return StpUtil.getTokenValue(); } - /** - * 娓稿鐧诲綍 + * 寰俊灏忕▼搴忕櫥褰� * * @param loginBody * @return String @@ -163,57 +156,6 @@ } } } - - public LoginVo mpLogin(String openid) { - // 浣跨敤 openid 鏌ヨ缁戝畾鐢ㄦ埛 濡傛湭缁戝畾鐢ㄦ埛 鍒欐牴鎹笟鍔¤嚜琛屽鐞� 渚嬪 鍒涘缓榛樿鐢ㄦ埛 - SysUserVo user = userService.selectUserByOpenId(openid); - VisitorLoginUser loginUser = new VisitorLoginUser(); - if (ObjectUtil.isNull(user)) { - SysUserBo sysUser = new SysUserBo(); - // 鏀逛负鑷 - String name = "鐢ㄦ埛" + UUID.randomUUID().toString().replace("-", ""); - // 璁剧疆榛樿鐢ㄦ埛鍚� - sysUser.setUserName(name); - // 璁剧疆榛樿鏄电О - sysUser.setNickName(name); - // 璁剧疆榛樿瀵嗙爜 - sysUser.setPassword(BCrypt.hashpw("123456")); - // 璁剧疆寰俊openId - sysUser.setOpenId(openid); - String configValue = configService.getConfigValue("mail", "amount"); - // 璁剧疆榛樿浣欓 - sysUser.setUserBalance(NumberUtils.toDouble(configValue, 1)); - // 娉ㄥ唽鐢ㄦ埛,璁剧疆榛樿绉熸埛涓�0 - SysUser registerUser = userService.registerUser(sysUser, "0"); - - // 鏋勫缓鐧诲綍鐢ㄦ埛淇℃伅 - loginUser.setTenantId("0"); - loginUser.setUserId(registerUser.getUserId()); - loginUser.setUsername(registerUser.getUserName()); - loginUser.setUserType(UserType.APP_USER.getUserType()); - loginUser.setOpenid(openid); - loginUser.setNickName(registerUser.getNickName()); - - } else { - // 姝ゅ鍙牴鎹櫥褰曠敤鎴风殑鏁版嵁涓嶅悓 鑷鍒涘缓 loginUser - loginUser.setTenantId(user.getTenantId()); - loginUser.setUserId(user.getUserId()); - loginUser.setUsername(user.getUserName()); - loginUser.setUserType(user.getUserType()); - loginUser.setNickName(user.getNickName()); - loginUser.setAvatar(user.getWxAvatar()); - loginUser.setOpenid(openid); - } - // 鐢熸垚token - LoginHelper.loginByDevice(loginUser, DeviceType.XCX); - recordLogininfor(loginUser.getTenantId(), loginUser.getUsername(), Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success")); - LoginVo loginVo = new LoginVo(); - // 鐢熸垚浠ょ墝 - loginVo.setToken(StpUtil.getTokenValue()); - loginVo.setUserInfo(loginUser); - return loginVo; - } - /** * 閫�鍑虹櫥褰� -- Gitblit v1.9.3