diff --git a/dubhe-server/admin/src/main/java/org/dubhe/admin/service/impl/UserServiceImpl.java b/dubhe-server/admin/src/main/java/org/dubhe/admin/service/impl/UserServiceImpl.java index 20f75c4..a931608 100644 --- a/dubhe-server/admin/src/main/java/org/dubhe/admin/service/impl/UserServiceImpl.java +++ b/dubhe-server/admin/src/main/java/org/dubhe/admin/service/impl/UserServiceImpl.java @@ -79,6 +79,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.*; +import java.util.concurrent.TimeUnit; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -108,6 +109,10 @@ public class UserServiceImpl extends ServiceImpl implements Us @Value("${user.config.gpu-limit}") private Integer gpuLimit; + @Value("${spring.mail.count-limit:6}") + private Integer mailCountLimit; + + @Autowired private UserMapper userMapper; @@ -885,17 +890,17 @@ public class UserServiceImpl extends ServiceImpl implements Us */ private void limitSendEmail(final String receiverMailAddress) { double count = redisUtils.hincr(UserConstant.USER_EMAIL_LIMIT_COUNT.concat(receiverMailAddress), receiverMailAddress, 1); - if (count > UserConstant.COUNT_SENT_EMAIL) { - LogUtil.error(LogEnum.SYS_ERR, "Email verification code cannot exceed three times , error:{}", UserConstant.COUNT_SENT_EMAIL); + if (count > mailCountLimit) { + LogUtil.error(LogEnum.SYS_ERR, "Email verification code cannot exceed three times , error:{}", mailCountLimit); throw new BusinessException(BaseErrorCodeEnum.SYSTEM_USER_EMAIL_CODE_CANNOT_EXCEED_TIMES.getCode(), - BaseErrorCodeEnum.SYSTEM_USER_EMAIL_CODE_CANNOT_EXCEED_TIMES.getMsg()); + String.format(BaseErrorCodeEnum.SYSTEM_USER_EMAIL_CODE_CANNOT_EXCEED_TIMES.getMsg(), mailCountLimit)); } else { // 验证码次数凌晨清除 String concat = UserConstant.USER_EMAIL_LIMIT_COUNT.concat(receiverMailAddress); Long secondsNextEarlyMorning = DateUtil.getSecondTime(); - redisUtils.expire(concat, secondsNextEarlyMorning); + redisUtils.expire(concat, TimeUnit.MILLISECONDS.toSeconds(secondsNextEarlyMorning)); } } diff --git a/dubhe-server/common-biz/base/src/main/java/org/dubhe/biz/base/constant/UserConstant.java b/dubhe-server/common-biz/base/src/main/java/org/dubhe/biz/base/constant/UserConstant.java index f4eb296..9cd09b1 100644 --- a/dubhe-server/common-biz/base/src/main/java/org/dubhe/biz/base/constant/UserConstant.java +++ b/dubhe-server/common-biz/base/src/main/java/org/dubhe/biz/base/constant/UserConstant.java @@ -63,7 +63,9 @@ public class UserConstant { /** * 发邮件次数 + * 改用nacos全局配置 */ + @Deprecated public final static int COUNT_SENT_EMAIL = 3; /** diff --git a/dubhe-server/common-biz/base/src/main/java/org/dubhe/biz/base/enums/BaseErrorCodeEnum.java b/dubhe-server/common-biz/base/src/main/java/org/dubhe/biz/base/enums/BaseErrorCodeEnum.java index 0b47e41..380001d 100644 --- a/dubhe-server/common-biz/base/src/main/java/org/dubhe/biz/base/enums/BaseErrorCodeEnum.java +++ b/dubhe-server/common-biz/base/src/main/java/org/dubhe/biz/base/enums/BaseErrorCodeEnum.java @@ -44,7 +44,7 @@ public enum BaseErrorCodeEnum implements ErrorCode { SYSTEM_USER_REGISTER_EMAIL_INFO_EXPIRED(20004, "邮箱验证码已过期!"), SYSTEM_USER_EMAIL_ALREADY_EXISTS(20004, "该邮箱已被注册!"), SYSTEM_USER_EMAIL_PASSWORD_ERROR(20005, "邮件密码错误!"), - SYSTEM_USER_EMAIL_CODE_CANNOT_EXCEED_TIMES(20006, "邮件发送不能超过三次!"), + SYSTEM_USER_EMAIL_CODE_CANNOT_EXCEED_TIMES(20006, "邮件发送次数每天不能超过%d"), SYSTEM_USER_EMAIL_OR_CODE_ERROR(20007, "邮箱地址或验证码错误、请重新输入!"), SYSTEM_USER_IS_LOCKED(20008, "用户已锁定!"), SYSTEM_USER_USERNAME_OR_PASSWORD_ERROR(20009, "账号或密码不正确!"),