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小时过期