处理短信验证码的问题,

This commit is contained in:
TS-QD1 2024-10-30 20:39:04 +08:00
parent d2e12898f3
commit 4b2c19d253
4 changed files with 10 additions and 14 deletions

View File

@ -19,4 +19,6 @@ public interface ISmsBaseService {
* @return
*/
String getVerifyCode(String phone);
void checkVerifyCode(String phone, String code);
}

View File

@ -9,6 +9,7 @@ import ink.wgink.interfaces.sms.ISmsBaseService;
import ink.wgink.login.app.pojo.vos.appsign.AppLoginDefaultVO;
import ink.wgink.login.app.pojo.vos.appsign.AppLoginPhoneVO;
import ink.wgink.login.app.service.appsign.IAppSignService;
import ink.wgink.login.base.exceptions.UserAuthenticationException;
import ink.wgink.pojo.result.ErrorResult;
import ink.wgink.pojo.result.SuccessResultData;
import ink.wgink.util.RegexUtil;
@ -62,13 +63,7 @@ public class AppSignAppController extends DefaultBaseController {
if (!RegexUtil.isPhone(appLoginPhoneVO.getUsername())) {
throw new ParamsException("用户名非手机格式");
}
String verifyCode = smsBaseService.getVerifyCode(appLoginPhoneVO.getUsername());
if (StringUtils.isBlank(verifyCode)) {
throw new ParamsException("未发送验证码");
}
if (!StringUtils.equalsIgnoreCase(verifyCode, appLoginPhoneVO.getVerificationCode())) {
throw new ParamsException("验证码错误");
}
smsBaseService.checkVerifyCode(appLoginPhoneVO.getUsername(), appLoginPhoneVO.getVerificationCode());
return new SuccessResultData<>(appSignService.phoneSign(appLoginPhoneVO));
}

View File

@ -274,6 +274,11 @@ public class SmsServiceImpl extends DefaultBaseService implements ISmsService {
return VerifyCodeManager.getInstance().getVerifyCode(phone);
}
@Override
public void checkVerifyCode(String phone, String code) {
VerifyCodeManager.getInstance().checkVerifyCode(phone, code);
}
/**
* 设置用户
*

View File

@ -185,13 +185,7 @@ public class UserAppController extends DefaultBaseController {
if (updatePhonePasswordVO.getNewPassword().length() < 6) {
throw new ParamsException("新密码长度必须大于6位");
}
String verifyCode = smsBaseService.getVerifyCode(updatePhonePasswordVO.getPhone());
if (StringUtils.isBlank(verifyCode)) {
throw new ParamsException("验证码为空");
}
if (!StringUtils.equalsIgnoreCase(verifyCode, updatePhonePasswordVO.getVerificationCode())) {
throw new ParamsException("验证码错误");
}
smsBaseService.checkVerifyCode(updatePhonePasswordVO.getPhone(), updatePhonePasswordVO.getVerificationCode());
userService.updatePasswordByUsername(updatePhonePasswordVO.getPhone(), updatePhonePasswordVO.getNewPassword());
return new SuccessResult();
}