From 71e392c1f9e73a5c8fbc3b1141495afbb0307ef0 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期五, 06 五月 2022 18:08:16 +0800
Subject: [PATCH] add 增加 获取短信验证码接口

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
index f60419f..7b42952 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java
@@ -79,7 +79,7 @@
         SysUser user = loadUserByPhonenumber(phonenumber);
 
         HttpServletRequest request = ServletUtils.getRequest();
-        checkLogin(LoginType.SMS, user.getUserName(), () -> !validateSmsCode(phonenumber, smsCode));
+        checkLogin(LoginType.SMS, user.getUserName(), () -> !validateSmsCode(phonenumber, smsCode, request));
         // 姝ゅ鍙牴鎹櫥褰曠敤鎴风殑鏁版嵁涓嶅悓 鑷鍒涘缓 loginUser
         LoginUser loginUser = buildLoginUser(user);
         // 鐢熸垚token
@@ -121,9 +121,13 @@
     /**
      * 鏍¢獙鐭俊楠岃瘉鐮�
      */
-    private boolean validateSmsCode(String phonenumber, String smsCode) {
-        // todo 姝ゅ浣跨敤鎵嬫満鍙锋煡璇edis楠岃瘉鐮佷笌鍙傛暟楠岃瘉鐮佹槸鍚︿竴鑷� 鐢ㄦ埛鑷瀹炵幇
-        return true;
+    private boolean validateSmsCode(String phonenumber, String smsCode, HttpServletRequest request) {
+        String code = RedisUtils.getCacheObject(Constants.CAPTCHA_CODE_KEY + phonenumber);
+        if (StringUtils.isNotBlank(code)) {
+            asyncService.recordLogininfor(phonenumber, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.expire"), request);
+            throw new CaptchaExpireException();
+        }
+        return code.equals(smsCode);
     }
 
     /**

--
Gitblit v1.9.3