处理短信验证码的问题,

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

View File

@ -274,6 +274,11 @@ public class SmsServiceImpl extends DefaultBaseService implements ISmsService {
return VerifyCodeManager.getInstance().getVerifyCode(phone); 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) { if (updatePhonePasswordVO.getNewPassword().length() < 6) {
throw new ParamsException("新密码长度必须大于6位"); throw new ParamsException("新密码长度必须大于6位");
} }
String verifyCode = smsBaseService.getVerifyCode(updatePhonePasswordVO.getPhone()); smsBaseService.checkVerifyCode(updatePhonePasswordVO.getPhone(), updatePhonePasswordVO.getVerificationCode());
if (StringUtils.isBlank(verifyCode)) {
throw new ParamsException("验证码为空");
}
if (!StringUtils.equalsIgnoreCase(verifyCode, updatePhonePasswordVO.getVerificationCode())) {
throw new ParamsException("验证码错误");
}
userService.updatePasswordByUsername(updatePhonePasswordVO.getPhone(), updatePhonePasswordVO.getNewPassword()); userService.updatePasswordByUsername(updatePhonePasswordVO.getPhone(), updatePhonePasswordVO.getNewPassword());
return new SuccessResult(); return new SuccessResult();
} }