优化枚举类校验;优化Swagger配置,添加默认参数;fix删除部门;优化ResponseDTO;

This commit is contained in:
Turbolisten
2021-01-09 10:13:15 +08:00
parent f7155ac4c2
commit ea0159ddb4
12 changed files with 86 additions and 83 deletions

View File

@@ -85,6 +85,10 @@ public class ResponseDTO<T> {
return new ResponseDTO<T>(codeConst, msg);
}
public static <T> ResponseDTO<T> wrapMsg(ResponseCodeConst codeConst, String msg) {
return new ResponseDTO<T>(codeConst, msg);
}
public String getMsg() {
return msg;
}

View File

@@ -1,15 +1,10 @@
package net.lab1024.smartadmin.common.validator.en;
import com.google.common.collect.Lists;
import net.lab1024.smartadmin.common.domain.BaseEnum;
import net.lab1024.smartadmin.module.support.file.constant.FileServiceTypeEnum;
import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.function.Function;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@@ -22,9 +17,9 @@ import java.util.stream.Stream;
public class EnumValidator implements ConstraintValidator<CheckEnum, Object> {
/**
* 枚举类的类对象
* 枚举类实例集合
*/
private Class<? extends BaseEnum> enumClass;
private List<Object> enumValList;
/**
* 是否必须
@@ -34,8 +29,9 @@ public class EnumValidator implements ConstraintValidator<CheckEnum, Object> {
@Override
public void initialize(CheckEnum constraintAnnotation) {
// 获取注解传入的枚举类对象
enumClass = constraintAnnotation.enumClazz();
required = constraintAnnotation.required();
Class<? extends BaseEnum> enumClass = constraintAnnotation.enumClazz();
enumValList = Stream.of(enumClass.getEnumConstants()).map(BaseEnum::getValue).collect(Collectors.toList());
}
@Override
@@ -51,7 +47,7 @@ public class EnumValidator implements ConstraintValidator<CheckEnum, Object> {
}
// 校验是否为合法的枚举值
return this.hasEnum(value);
return enumValList.contains(value);
}
/**
@@ -70,23 +66,6 @@ public class EnumValidator implements ConstraintValidator<CheckEnum, Object> {
if (count != list.size()) {
return false;
}
List<Object> enumValList = Stream.of(enumClass.getEnumConstants()).map(BaseEnum::getValue).collect(Collectors.toList());
for (Object obj : list) {
if (!enumValList.contains(obj)) {
return false;
}
}
return true;
}
private boolean hasEnum(Object value) {
// 校验是否为合法的枚举值
BaseEnum[] enums = enumClass.getEnumConstants();
for (BaseEnum baseEnum : enums) {
if (baseEnum.getValue().equals(value)) {
return true;
}
}
return false;
return enumValList.containsAll(list);
}
}