From 3eb56cab8a5a453ac5e70b6e36618dde32431326 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期三, 22 一月 2025 14:49:48 +0800
Subject: [PATCH] 1

---
 ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java |   27 +++++++++++++++------------
 1 files changed, 15 insertions(+), 12 deletions(-)

diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
index 340dd9b..f8dd206 100644
--- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
+++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
@@ -36,6 +36,8 @@
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
+import java.time.LocalDateTime;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -132,6 +134,8 @@
     {
         // 验证码生成
         String code = String.valueOf(Math.random()).substring(2, 6);
+        code += ":"+System.currentTimeMillis();
+
         // 缓存验证码
         String verifyKey = CacheConstants.PHONE_CODE_KEY + registerUser.getPhone();
         redisService.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
@@ -194,10 +198,16 @@
         if (!"999999".equals(smsCode)) {
             String verifyKey = CacheConstants.PHONE_CODE_KEY + StringUtils.nvl(registerUser.getPhone(), "");
             String captcha = redisService.getCacheObject(verifyKey);
-            if (captcha == null) {
+            if (captcha == null){
+                throw new CaptchaException("验证码错误");
+            }
+            String[] split = captcha.split(":");
+            long l = Long.parseLong(split[2]);
+            long l1 = System.currentTimeMillis();
+            // 判断是否大于两分钟
+            if (l1 - l > 2 * 60 * 1000) {
                 throw new CaptchaException("验证码已失效");
             }
-            redisService.deleteObject(verifyKey);
             if (!smsCode.equalsIgnoreCase(captcha)) {
                 throw new CaptchaException("验证码错误");
             }
@@ -229,16 +239,9 @@
     @Operation(summary = "公司校验",description = "公司校验")
     public R<?> check(@RequestBody RegisterUser registerUser)
     {
-        String accountName = registerUser.getAccountName();
-        R<User> userR = remoteCompanyUserService.getUserByPhone(accountName, SecurityConstants.INNER);
-        R<User> userR2 = remoteCompanyUserService.getUserByAccountName(accountName, SecurityConstants.INNER);
-
-        User user = userR.getData();
-        Boolean flag = sysLoginService.check(user, registerUser.getCompanyName(), registerUser.getIdCardNumber());
-        User user1 = userR2.getData();
-        Boolean flag1 = sysLoginService.check(user1, registerUser.getCompanyName(), registerUser.getIdCardNumber());
-        if (!flag1 && !flag){
-            return R.fail("账号不存在");
+        User check = sysLoginService.check(registerUser);
+        if (check == null) {
+            return R.fail("账号不存在!");
         }
         return R.ok();
     }

--
Gitblit v1.7.1