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