diff --git a/basic-interface/src/main/java/ink/wgink/interfaces/sms/ISmsBaseService.java b/basic-interface/src/main/java/ink/wgink/interfaces/sms/ISmsBaseService.java index 6ad6fb80..b5085571 100644 --- a/basic-interface/src/main/java/ink/wgink/interfaces/sms/ISmsBaseService.java +++ b/basic-interface/src/main/java/ink/wgink/interfaces/sms/ISmsBaseService.java @@ -19,4 +19,6 @@ public interface ISmsBaseService { * @return */ String getVerifyCode(String phone); + + void checkVerifyCode(String phone, String code); } diff --git a/login-app/src/main/java/ink/wgink/login/app/controller/app/api/appsign/AppSignAppController.java b/login-app/src/main/java/ink/wgink/login/app/controller/app/api/appsign/AppSignAppController.java index 18f0d738..8f3a5398 100644 --- a/login-app/src/main/java/ink/wgink/login/app/controller/app/api/appsign/AppSignAppController.java +++ b/login-app/src/main/java/ink/wgink/login/app/controller/app/api/appsign/AppSignAppController.java @@ -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)); } diff --git a/module-sms/src/main/java/ink/wgink/module/sms/service/sms/impl/SmsServiceImpl.java b/module-sms/src/main/java/ink/wgink/module/sms/service/sms/impl/SmsServiceImpl.java index 0f5d11e1..8f2b384b 100644 --- a/module-sms/src/main/java/ink/wgink/module/sms/service/sms/impl/SmsServiceImpl.java +++ b/module-sms/src/main/java/ink/wgink/module/sms/service/sms/impl/SmsServiceImpl.java @@ -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); + } + /** * 设置用户 * diff --git a/service-user/src/main/java/ink/wgink/service/user/controller/app/api/UserAppController.java b/service-user/src/main/java/ink/wgink/service/user/controller/app/api/UserAppController.java index 80ff9b60..dd7d24d5 100644 --- a/service-user/src/main/java/ink/wgink/service/user/controller/app/api/UserAppController.java +++ b/service-user/src/main/java/ink/wgink/service/user/controller/app/api/UserAppController.java @@ -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(); }