Browse Source

邮件次数可通过nacos配置

pull/12/head
eee1397 4 years ago
parent
commit
62967bf817
3 changed files with 12 additions and 5 deletions
  1. +9
    -4
      dubhe-server/admin/src/main/java/org/dubhe/admin/service/impl/UserServiceImpl.java
  2. +2
    -0
      dubhe-server/common-biz/base/src/main/java/org/dubhe/biz/base/constant/UserConstant.java
  3. +1
    -1
      dubhe-server/common-biz/base/src/main/java/org/dubhe/biz/base/enums/BaseErrorCodeEnum.java

+ 9
- 4
dubhe-server/admin/src/main/java/org/dubhe/admin/service/impl/UserServiceImpl.java View File

@@ -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<UserMapper, User> 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<UserMapper, User> 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));
}
}



+ 2
- 0
dubhe-server/common-biz/base/src/main/java/org/dubhe/biz/base/constant/UserConstant.java View File

@@ -63,7 +63,9 @@ public class UserConstant {

/**
* 发邮件次数
* 改用nacos全局配置
*/
@Deprecated
public final static int COUNT_SENT_EMAIL = 3;

/**


+ 1
- 1
dubhe-server/common-biz/base/src/main/java/org/dubhe/biz/base/enums/BaseErrorCodeEnum.java View File

@@ -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, "账号或密码不正确!"),


Loading…
Cancel
Save