【更新】AuthApi增加获取验证码开关接口方便其他模块调用

pull/281/head
xuyuxiang 2025-08-02 23:09:14 +08:00
parent eda0205461
commit e19c7baded
4 changed files with 97 additions and 39 deletions

View File

@ -38,6 +38,22 @@ public interface AuthApi {
*/ */
Long getThirdUserCount(); Long getThirdUserCount();
/**
* B
*
* @author xuyuxiang
* @date 2021/12/28 14:46
**/
boolean getDefaultCaptchaOpenForB();
/**
* C
*
* @author xuyuxiang
* @date 2021/12/28 14:46
**/
boolean getDefaultCaptchaOpenForC();
/** /**
* *
* *

View File

@ -83,6 +83,16 @@ public class AuthApiProvider implements AuthApi {
return authThirdService.count(); return authThirdService.count();
} }
@Override
public boolean getDefaultCaptchaOpenForB() {
return authService.getDefaultCaptchaOpenForB();
}
@Override
public boolean getDefaultCaptchaOpenForC() {
return authService.getDefaultCaptchaOpenForC();
}
@Override @Override
public void validValidCode(String phoneOrEmail, String validCode, String validCodeReqNo) { public void validValidCode(String phoneOrEmail, String validCode, String validCodeReqNo) {
authService.validValidCode(phoneOrEmail, validCode, validCodeReqNo); authService.validValidCode(phoneOrEmail, validCode, validCodeReqNo);

View File

@ -120,4 +120,20 @@ public interface AuthService {
* @date 2021/12/28 14:46 * @date 2021/12/28 14:46
**/ **/
void validValidCode(String phoneOrEmail, String validCode, String validCodeReqNo); void validValidCode(String phoneOrEmail, String validCode, String validCodeReqNo);
/**
* B
*
* @author xuyuxiang
* @date 2021/12/28 14:46
**/
boolean getDefaultCaptchaOpenForB();
/**
* C
*
* @author xuyuxiang
* @date 2021/12/28 14:46
**/
boolean getDefaultCaptchaOpenForC();
} }

View File

@ -346,6 +346,26 @@ public class AuthServiceImpl implements AuthService {
} }
} }
@Override
public boolean getDefaultCaptchaOpenForB() {
String defaultCaptchaOpen = devConfigApi.getValueByKey(SNOWY_SYS_DEFAULT_CAPTCHA_OPEN_FLAG_FOR_B_KEY);
if(ObjectUtil.isNotEmpty(defaultCaptchaOpen)) {
return Convert.toBool(defaultCaptchaOpen);
} else {
return false;
}
}
@Override
public boolean getDefaultCaptchaOpenForC() {
String defaultCaptchaOpen = devConfigApi.getValueByKey(SNOWY_SYS_DEFAULT_CAPTCHA_OPEN_FLAG_FOR_C_KEY);
if(ObjectUtil.isNotEmpty(defaultCaptchaOpen)) {
return Convert.toBool(defaultCaptchaOpen);
} else {
return false;
}
}
/** /**
* *
* *
@ -429,14 +449,13 @@ public class AuthServiceImpl implements AuthService {
AuthDeviceTypeEnum.validate(device); AuthDeviceTypeEnum.validate(device);
} }
// 校验验证码 // 校验验证码
String defaultCaptchaOpen; boolean defaultCaptchaOpen;
if(SaClientTypeEnum.B.getValue().equals(type)) { if(SaClientTypeEnum.B.getValue().equals(type)) {
defaultCaptchaOpen = devConfigApi.getValueByKey(SNOWY_SYS_DEFAULT_CAPTCHA_OPEN_FLAG_FOR_B_KEY); defaultCaptchaOpen = getDefaultCaptchaOpenForB();
} else { } else {
defaultCaptchaOpen = devConfigApi.getValueByKey(SNOWY_SYS_DEFAULT_CAPTCHA_OPEN_FLAG_FOR_C_KEY); defaultCaptchaOpen = getDefaultCaptchaOpenForC();
} }
if(ObjectUtil.isNotEmpty(defaultCaptchaOpen)) { if(defaultCaptchaOpen) {
if(Convert.toBool(defaultCaptchaOpen)) {
// 获取验证码 // 获取验证码
String validCode = authAccountPasswordLoginParam.getValidCode(); String validCode = authAccountPasswordLoginParam.getValidCode();
// 获取验证码请求号 // 获取验证码请求号
@ -452,7 +471,6 @@ public class AuthServiceImpl implements AuthService {
// 执行校验图形验证码 // 执行校验图形验证码
validValidCode(null, validCode, validCodeReqNo); validValidCode(null, validCode, validCodeReqNo);
} }
}
// SM2解密并获得前端传来的密码哈希值 // SM2解密并获得前端传来的密码哈希值
String passwordHash; String passwordHash;
try { try {
@ -806,7 +824,7 @@ public class AuthServiceImpl implements AuthService {
throw new CommonException(AuthExceptionEnum.ACCOUNT_DISABLED.getValue()); throw new CommonException(AuthExceptionEnum.ACCOUNT_DISABLED.getValue());
} }
// 执行登录 // 执行登录
StpClientUtil.login(saBaseClientLoginUser.getId(), new SaLoginParameter().setDevice(device).setExtra("name", saBaseClientLoginUser.getName())); StpClientUtil.login(saBaseClientLoginUser.getId(), new SaLoginParameter().setDeviceType(device).setExtra("name", saBaseClientLoginUser.getName()));
// 填充C端用户信息并更新缓存 // 填充C端用户信息并更新缓存
fillSaBaseClientLoginUserAndUpdateCache(saBaseClientLoginUser); fillSaBaseClientLoginUserAndUpdateCache(saBaseClientLoginUser);
// 返回token // 返回token
@ -945,13 +963,12 @@ public class AuthServiceImpl implements AuthService {
// 获取密码 // 获取密码
String password = authRegisterParam.getPassword(); String password = authRegisterParam.getPassword();
// 校验验证码 // 校验验证码
String defaultCaptchaOpen; boolean defaultCaptchaOpen;
if(SaClientTypeEnum.B.getValue().equals(type)) { if(SaClientTypeEnum.B.getValue().equals(type)) {
defaultCaptchaOpen = devConfigApi.getValueByKey(SNOWY_SYS_DEFAULT_CAPTCHA_OPEN_FLAG_FOR_B_KEY); defaultCaptchaOpen = getDefaultCaptchaOpenForB();
} else { } else {
defaultCaptchaOpen = devConfigApi.getValueByKey(SNOWY_SYS_DEFAULT_CAPTCHA_OPEN_FLAG_FOR_C_KEY); defaultCaptchaOpen = getDefaultCaptchaOpenForC();
} }
if(ObjectUtil.isNotEmpty(defaultCaptchaOpen)) {
if(Convert.toBool(defaultCaptchaOpen)) { if(Convert.toBool(defaultCaptchaOpen)) {
// 获取验证码 // 获取验证码
String validCode = authRegisterParam.getValidCode(); String validCode = authRegisterParam.getValidCode();
@ -968,7 +985,6 @@ public class AuthServiceImpl implements AuthService {
// 执行校验图形验证码 // 执行校验图形验证码
validValidCode(null, validCode, validCodeReqNo); validValidCode(null, validCode, validCodeReqNo);
} }
}
// SM2解密前端传来的密码 // SM2解密前端传来的密码
String passwordDecrypt = CommonCryptogramUtil.doSm2Decrypt(password); String passwordDecrypt = CommonCryptogramUtil.doSm2Decrypt(password);
// 根据账号获取用户信息根据B端或C端判断 // 根据账号获取用户信息根据B端或C端判断