From c19084b7b47da2e7f71a8ab20eda7ac1a5675762 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=89=91=E9=9B=A8?= <2375294554@qq.com> Date: Mon, 19 May 2025 10:51:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=B9=B6=E5=8F=91=E6=BC=8F?= =?UTF-8?q?=E6=B4=9E=EF=BC=8C=E8=8E=B7=E5=8F=96=E5=92=8C=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E7=9F=AD=E4=BF=A1=E5=8F=91=E9=80=81=E9=97=B4=E9=9A=94=E6=97=B6?= =?UTF-8?q?=E9=97=B4=EF=BC=8C=E4=B8=8D=E6=98=AF=E5=8E=9F=E5=AD=90=E6=80=A7?= =?UTF-8?q?=E7=9A=84=EF=BC=8C=E5=B9=B6=E5=8F=91=E8=AF=B7=E6=B1=82=E8=BF=87?= =?UTF-8?q?=E6=9D=A5=E4=BC=9A=E5=AF=BC=E8=87=B4=E9=AA=8C=E8=AF=81=E6=9C=89?= =?UTF-8?q?=E6=BC=8F=E6=B4=9E=E8=A2=AB=E9=80=9A=E8=BF=87=20--CaptchaServic?= =?UTF-8?q?eImpl.java=20=E8=AE=BE=E7=BD=AE=E8=8E=B7=E5=8F=96=E5=92=8C?= =?UTF-8?q?=E8=AE=BE=E7=BD=AE=E5=8F=91=E7=8E=B0=E9=97=B4=E9=9A=94=E7=9A=84?= =?UTF-8?q?=E6=96=B9=E6=B3=95=E4=B8=BA=E5=8E=9F=E5=AD=90=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/security/service/impl/CaptchaServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/main/manager-api/src/main/java/xiaozhi/modules/security/service/impl/CaptchaServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/security/service/impl/CaptchaServiceImpl.java index 09c8a185..98b6d326 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/security/service/impl/CaptchaServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/security/service/impl/CaptchaServiceImpl.java @@ -79,7 +79,10 @@ public class CaptchaServiceImpl implements CaptchaService { public void sendSMSValidateCode(String phone) { // 检查发送间隔 String lastSendTimeKey = RedisKeys.getSMSLastSendTimeKey(phone); - String lastSendTime = (String) redisUtils.get(lastSendTimeKey); + // 获取是否发送过,如果没有设置最后发送时间(60秒) + String lastSendTime = redisUtils + .getKeyOrCreate(lastSendTimeKey, + String.valueOf(System.currentTimeMillis()), 60L); if (lastSendTime != null) { long lastSendTimeLong = Long.parseLong(lastSendTime); long currentTime = System.currentTimeMillis(); @@ -114,9 +117,6 @@ public class CaptchaServiceImpl implements CaptchaService { // 设置验证码 setCache(key, validateCodes); - // 设置最后发送时间(60秒) - redisUtils.set(lastSendTimeKey, String.valueOf(System.currentTimeMillis()), 60); - // 更新今日发送次数 if (todayCount == 0) { // 如果是今天第一次发送,设置24小时过期