mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-11-04 20:28:44 +08:00 
			
		
		
		
	AJ-Captcha 增加验证码二次校验
This commit is contained in:
		@@ -33,6 +33,10 @@ public class AuthLoginReqVO {
 | 
			
		||||
    @Length(min = 4, max = 16, message = "密码长度为 4-16 位")
 | 
			
		||||
    private String password;
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "验证码", required = true, example = "PfcH6mgr8tpXuMWFjvW6YVaqrswIuwmWI5dsVZSg7sGpWtDCUbHuDEXl3cFB1+VvCC/rAkSwK8Fad52FSuncVg==")
 | 
			
		||||
    @NotEmpty(message = "验证码不能为空")
 | 
			
		||||
    private String captchaVerification;
 | 
			
		||||
 | 
			
		||||
    // ========== 绑定社交登录时,需要传递如下参数 ==========
 | 
			
		||||
 | 
			
		||||
    @ApiModelProperty(value = "社交平台的类型", required = true, example = "10", notes = "参见 SysUserSocialTypeEnum 枚举值")
 | 
			
		||||
 
 | 
			
		||||
@@ -21,6 +21,9 @@ import cn.iocoder.yudao.module.system.service.member.MemberService;
 | 
			
		||||
import cn.iocoder.yudao.module.system.service.oauth2.OAuth2TokenService;
 | 
			
		||||
import cn.iocoder.yudao.module.system.service.social.SocialUserService;
 | 
			
		||||
import cn.iocoder.yudao.module.system.service.user.AdminUserService;
 | 
			
		||||
import com.anji.captcha.model.common.ResponseModel;
 | 
			
		||||
import com.anji.captcha.model.vo.CaptchaVO;
 | 
			
		||||
import com.anji.captcha.service.CaptchaService;
 | 
			
		||||
import lombok.extern.slf4j.Slf4j;
 | 
			
		||||
import org.springframework.stereotype.Service;
 | 
			
		||||
 | 
			
		||||
@@ -51,10 +54,10 @@ public class AdminAuthServiceImpl implements AdminAuthService {
 | 
			
		||||
    private SocialUserService socialUserService;
 | 
			
		||||
    @Resource
 | 
			
		||||
    private MemberService memberService;
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
    private Validator validator;
 | 
			
		||||
 | 
			
		||||
    @Resource
 | 
			
		||||
    private CaptchaService captchaService;
 | 
			
		||||
    @Resource
 | 
			
		||||
    private SmsCodeApi smsCodeApi;
 | 
			
		||||
 | 
			
		||||
@@ -81,16 +84,23 @@ public class AdminAuthServiceImpl implements AdminAuthService {
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
    public AuthLoginRespVO login(AuthLoginReqVO reqVO) {
 | 
			
		||||
        // 使用账号密码,进行登录
 | 
			
		||||
        AdminUserDO user = authenticate(reqVO.getUsername(), reqVO.getPassword());
 | 
			
		||||
        CaptchaVO captchaVO = new CaptchaVO();
 | 
			
		||||
        captchaVO.setCaptchaVerification(reqVO.getCaptchaVerification());
 | 
			
		||||
        ResponseModel response = captchaService.verification(captchaVO);
 | 
			
		||||
        if(response.isSuccess()){
 | 
			
		||||
            // 使用账号密码,进行登录
 | 
			
		||||
            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()));
 | 
			
		||||
            // 如果 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);
 | 
			
		||||
        }else{
 | 
			
		||||
            throw exception(AUTH_LOGIN_CAPTCHA_CODE_ERROR);
 | 
			
		||||
        }
 | 
			
		||||
        // 创建 Token 令牌,记录登录日志
 | 
			
		||||
        return createTokenAfterLoginSuccess(user.getId(), reqVO.getUsername(), LoginLogTypeEnum.LOGIN_USERNAME);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    @Override
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user