Browse Source

!27 字典返回添加过滤条件;邮件次数可通过nacos配置;

Merge pull request !27 from weijw/feature/algorithm-weijw
pull/12/head
ThinkEnergy Gitee 4 years ago
parent
commit
84983729cb
No known key found for this signature in database GPG Key ID: 173E9B9CA92EEF8F
7 changed files with 48 additions and 10 deletions
  1. +2
    -2
      dubhe-server/admin/src/main/java/org/dubhe/admin/rest/DictController.java
  2. +1
    -1
      dubhe-server/admin/src/main/java/org/dubhe/admin/rest/UserCenterController.java
  3. +1
    -1
      dubhe-server/admin/src/main/java/org/dubhe/admin/service/DictService.java
  4. +32
    -1
      dubhe-server/admin/src/main/java/org/dubhe/admin/service/impl/DictServiceImpl.java
  5. +9
    -4
      dubhe-server/admin/src/main/java/org/dubhe/admin/service/impl/UserServiceImpl.java
  6. +2
    -0
      dubhe-server/common-biz/base/src/main/java/org/dubhe/biz/base/constant/UserConstant.java
  7. +1
    -1
      dubhe-server/common-biz/base/src/main/java/org/dubhe/biz/base/enums/BaseErrorCodeEnum.java

+ 2
- 2
dubhe-server/admin/src/main/java/org/dubhe/admin/rest/DictController.java View File

@@ -101,7 +101,7 @@ public class DictController {

@ApiOperation("根据名称查询字典详情")
@GetMapping(value = "/{name}")
public DataResponseBody getDict(@PathVariable String name) {
return DataResponseFactory.success(dictService.findByName(name));
public DataResponseBody getDict(@PathVariable String name, String filter) {
return DataResponseFactory.success(dictService.findByName(name, filter));
}
}

+ 1
- 1
dubhe-server/admin/src/main/java/org/dubhe/admin/rest/UserCenterController.java View File

@@ -85,7 +85,7 @@ public class UserCenterController {
@ApiOperation("用户查询字典详情")
@GetMapping(value = "/dict/{name}")
public DataResponseBody getDict(@PathVariable String name) {
return new DataResponseBody(dictService.findByName(name));
return new DataResponseBody(dictService.findByName(name, null));
}

@ApiOperation("个人中心")


+ 1
- 1
dubhe-server/admin/src/main/java/org/dubhe/admin/service/DictService.java View File

@@ -66,7 +66,7 @@ public interface DictService {
* @param name 字典名称
* @return org.dubhe.domain.dto.DictDTO 字典实例
*/
DictDTO findByName(String name);
DictDTO findByName(String name,String filter);

/**
* 新增字典


+ 32
- 1
dubhe-server/admin/src/main/java/org/dubhe/admin/service/impl/DictServiceImpl.java View File

@@ -19,10 +19,13 @@ package org.dubhe.admin.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.dubhe.admin.dao.DictDetailMapper;
import org.dubhe.admin.dao.DictMapper;
import org.dubhe.admin.domain.dto.*;
import org.dubhe.admin.domain.entity.Dict;
import org.dubhe.admin.domain.entity.DictDetail;
import org.dubhe.admin.service.DictService;
import org.dubhe.admin.service.convert.DictConvert;
import org.dubhe.biz.base.exception.BusinessException;
@@ -33,10 +36,14 @@ import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.*;
import java.util.stream.Collectors;

/**
* @description 字典服务 实现类
@@ -97,14 +104,38 @@ public class DictServiceImpl implements DictService {
* 通过Name查询字典详情
*
* @param name 字典名称
* @param filter 过滤类型: algorithmUsage:异常检测
* @return org.dubhe.domain.dto.DictDTO 字典实例
*/
@Override
public DictDTO findByName(String name) {
public DictDTO findByName(String name, String filter) {
Dict dict = dictMapper.selectCollByName(name);
if (!StringUtils.isEmpty(filter) && !ObjectUtils.isEmpty(dict) && !CollectionUtils.isEmpty(dict.getDictDetails())) {
// algorithmUsage:异常检测
String[] split = filter.split(":");
String s = split[1];
List<String> algorithmLimit = configAlgorithmLimit(s);
List<DictDetail> collect = dict.getDictDetails().stream().filter(item -> CollectionUtils.isEmpty(algorithmLimit) || algorithmLimit.contains(item.getValue())).collect(Collectors.toList());
dict.setDictDetails(collect);
}
return dictConvert.toDto(dict);
}

/**
* - 算法(异常检测、安全预警和健康状态)对应数据集的(车端和桩端)
* - 算法(其他)对应数据集的(实验、其他)
* @param name
* @return
*/
private List<String> configAlgorithmLimit(String name){
HashMap<String, List<String>> hashMap = Maps.newHashMap();
hashMap.put("异常检测", Lists.newArrayList("101", "102"));
hashMap.put("安全预警", Lists.newArrayList("101", "102"));
hashMap.put("健康状态", Lists.newArrayList("101", "102"));
hashMap.put("其他", Lists.newArrayList("105", "106"));
return hashMap.get(name);
}

/**
* 新增字典
*


+ 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