From 73b3a394952353c318a8712d2cc1efec03dc009d Mon Sep 17 00:00:00 2001 From: 潘志宝 <979469083@qq.com> Date: 星期四, 10 四月 2025 16:40:14 +0800 Subject: [PATCH] Merge branch 'master' of http://dlindusit.com:53929/r/iailab-plat --- iailab-module-system/iailab-module-system-biz/src/main/java/com/iailab/module/system/service/auth/AdminAuthServiceImpl.java | 70 ++++++----------------------------- 1 files changed, 12 insertions(+), 58 deletions(-) diff --git a/iailab-module-system/iailab-module-system-biz/src/main/java/com/iailab/module/system/service/auth/AdminAuthServiceImpl.java b/iailab-module-system/iailab-module-system-biz/src/main/java/com/iailab/module/system/service/auth/AdminAuthServiceImpl.java index 46d51a1..115ad3e 100644 --- a/iailab-module-system/iailab-module-system-biz/src/main/java/com/iailab/module/system/service/auth/AdminAuthServiceImpl.java +++ b/iailab-module-system/iailab-module-system-biz/src/main/java/com/iailab/module/system/service/auth/AdminAuthServiceImpl.java @@ -7,9 +7,6 @@ import com.iailab.framework.common.util.servlet.ServletUtils; import com.iailab.framework.common.util.validation.ValidationUtils; import com.iailab.module.system.api.logger.dto.LoginLogCreateReqDTO; -import com.iailab.module.system.api.sms.SmsCodeApi; -import com.iailab.module.system.api.social.dto.SocialUserBindReqDTO; -import com.iailab.module.system.api.social.dto.SocialUserRespDTO; import com.iailab.module.system.controller.admin.auth.vo.*; import com.iailab.module.system.convert.auth.AuthConvert; import com.iailab.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; @@ -21,7 +18,6 @@ import com.iailab.module.system.service.logger.LoginLogService; import com.iailab.module.system.service.member.MemberService; import com.iailab.module.system.service.oauth2.OAuth2TokenService; -import com.iailab.module.system.service.social.SocialUserService; import com.iailab.module.system.service.user.AdminUserService; import com.google.common.annotations.VisibleForTesting; import com.xingyuv.captcha.model.common.ResponseModel; @@ -36,7 +32,6 @@ import java.util.Objects; import static com.iailab.framework.common.exception.util.ServiceExceptionUtil.exception; -import static com.iailab.framework.common.util.servlet.ServletUtils.getClientIP; import static com.iailab.module.system.enums.ErrorCodeConstants.*; /** @@ -55,15 +50,11 @@ @Resource private OAuth2TokenService oauth2TokenService; @Resource - private SocialUserService socialUserService; - @Resource private MemberService memberService; @Resource private Validator validator; @Resource private CaptchaService captchaService; - @Resource - private SmsCodeApi smsCodeApi; /** * 验证码的开关,默认为 true @@ -93,6 +84,12 @@ } @Override + public AdminUserDO getTenantUser(String username) { + AdminUserDO userByUsername = userService.getUserByUsername(username); + return userByUsername; + } + + @Override public AuthLoginRespVO login(AuthLoginReqVO reqVO) { // 校验验证码 validateCaptcha(reqVO); @@ -100,38 +97,8 @@ // 使用账号密码,进行登录 AdminUserDO user = authenticate(reqVO.getUsername(), reqVO.getPassword()); - // 如果 socialType 非空,说明需要绑定社交用户 - if (reqVO.getSocialType() != null) { - socialUserService.bindSocialUser(new SocialUserBindReqDTO(user.getId(), getUserType().getValue(), - reqVO.getSocialType(), reqVO.getSocialCode(), reqVO.getSocialState())); - } // 创建 Token 令牌,记录登录日志 return createTokenAfterLoginSuccess(user.getId(), reqVO.getUsername(), LoginLogTypeEnum.LOGIN_USERNAME); - } - - @Override - public void sendSmsCode(AuthSmsSendReqVO reqVO) { - // 登录场景,验证是否存在 - if (userService.getUserByMobile(reqVO.getMobile()) == null) { - throw exception(AUTH_MOBILE_NOT_EXISTS); - } - // 发送验证码 - smsCodeApi.sendSmsCode(AuthConvert.INSTANCE.convert(reqVO).setCreateIp(getClientIP())); - } - - @Override - public AuthLoginRespVO smsLogin(AuthSmsLoginReqVO reqVO) { - // 校验验证码 - smsCodeApi.useSmsCode(AuthConvert.INSTANCE.convert(reqVO, SmsSceneEnum.ADMIN_MEMBER_LOGIN.getScene(), getClientIP())).getCheckedData(); - - // 获得用户信息 - AdminUserDO user = userService.getUserByMobile(reqVO.getMobile()); - if (user == null) { - throw exception(USER_NOT_EXISTS); - } - - // 创建 Token 令牌,记录登录日志 - return createTokenAfterLoginSuccess(user.getId(), reqVO.getMobile(), LoginLogTypeEnum.LOGIN_MOBILE); } private void createLoginLog(Long userId, String username, @@ -151,25 +118,6 @@ if (userId != null && Objects.equals(LoginResultEnum.SUCCESS.getResult(), loginResult.getResult())) { userService.updateUserLogin(userId, ServletUtils.getClientIP()); } - } - - @Override - public AuthLoginRespVO socialLogin(AuthSocialLoginReqVO reqVO) { - // 使用 code 授权码,进行登录。然后,获得到绑定的用户编号 - SocialUserRespDTO socialUser = socialUserService.getSocialUserByCode(UserTypeEnum.ADMIN.getValue(), reqVO.getType(), - reqVO.getCode(), reqVO.getState()); - if (socialUser == null || socialUser.getUserId() == null) { - throw exception(AUTH_THIRD_LOGIN_NOT_BIND); - } - - // 获得用户 - AdminUserDO user = userService.getUser(socialUser.getUserId()); - if (user == null) { - throw exception(USER_NOT_EXISTS); - } - - // 创建 Token 令牌,记录登录日志 - return createTokenAfterLoginSuccess(user.getId(), user.getUsername(), LoginLogTypeEnum.LOGIN_SOCIAL); } @VisibleForTesting @@ -208,6 +156,12 @@ } @Override + public AuthLoginRespVO refreshToken(String refreshToken, String clientId) { + OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.refreshAccessToken(refreshToken, clientId); + return AuthConvert.INSTANCE.convert(accessTokenDO); + } + + @Override public void logout(String token, Integer logType) { // 删除访问令牌 OAuth2AccessTokenDO accessTokenDO = oauth2TokenService.removeAccessToken(token); -- Gitblit v1.9.3