From 698ae84adaf1b8d0e8dd61d7279863fe17c1e81d Mon Sep 17 00:00:00 2001 From: luodangjia <luodangjia> Date: 星期四, 23 一月 2025 14:20:39 +0800 Subject: [PATCH] 1 --- ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java | 33 +++++++++++++++++++-------------- 1 files changed, 19 insertions(+), 14 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..3461cd8 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,11 +134,14 @@ { // 验证码生成 String code = String.valueOf(Math.random()).substring(2, 6); + // 发送验证码 + String result = SmsUtils.sendSms(registerUser.getPhone(), code); + code += ":"+System.currentTimeMillis(); + // 缓存验证码 String verifyKey = CacheConstants.PHONE_CODE_KEY + registerUser.getPhone(); redisService.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES); - // 发送验证码 - String result = SmsUtils.sendSms(registerUser.getPhone(), code); + if (!"OK".equals(result)) { return R.fail("验证码发送失败"); @@ -194,10 +199,17 @@ 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[1]); + long l1 = System.currentTimeMillis(); + // 判断是否大于两分钟 + if (l1 - l > 2 * 60 * 1000) { throw new CaptchaException("验证码已失效"); } - redisService.deleteObject(verifyKey); + captcha = split[0]; if (!smsCode.equalsIgnoreCase(captcha)) { throw new CaptchaException("验证码错误"); } @@ -229,16 +241,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