소스 검색

!44 修复获取枚举类型字段null的错误,校验信息增强

Merge pull request !44 from klniu/master
4.1.3.A
jueyue 6 년 전
committed by Gitee
부모
커밋
3c09393a3d
2개의 변경된 파일21개의 추가작업 그리고 2개의 파일을 삭제
  1. +1
    -1
      easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/base/ImportBaseService.java
  2. +20
    -1
      easypoi-base/src/main/java/cn/afterturn/easypoi/util/PoiValidationUtil.java

+ 1
- 1
easypoi-base/src/main/java/cn/afterturn/easypoi/excel/imports/base/ImportBaseService.java 파일 보기

@@ -186,7 +186,7 @@ public class ImportBaseService {
if (PoiPublicUtil.isNotUserExcelUserThis(null, field, targetId)) {
continue;
}
if (PoiPublicUtil.isJavaClass(field)) {
if (PoiPublicUtil.isJavaClass(field) || field.getType().isEnum()) {
addEntityToMap(targetId, field, excelEntity, pojoClass, getMethods, temp, null);
} else {
List<Method> newMethods = new ArrayList<Method>();


+ 20
- 1
easypoi-base/src/main/java/cn/afterturn/easypoi/util/PoiValidationUtil.java 파일 보기

@@ -15,6 +15,12 @@
*/
package cn.afterturn.easypoi.util;
import cn.afterturn.easypoi.excel.annotation.Excel;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import javax.validation.ConstraintViolation;
@@ -52,9 +58,22 @@ public class PoiValidationUtil {
private static String getValidateErrMsg(Set<ConstraintViolation<Object>> set) {
StringBuilder builder = new StringBuilder();
for (ConstraintViolation<Object> constraintViolation : set) {
Class cls = constraintViolation.getRootBean().getClass();
String fieldName = constraintViolation.getPropertyPath().toString();
List<Field> fields = new ArrayList<>(Arrays.asList(cls.getDeclaredFields()));
Class superClass = cls.getSuperclass();
if (superClass != null) {
fields.addAll(Arrays.asList(superClass.getDeclaredFields()));
}
for (Field field: fields) {
if (field.getName().equals(fieldName) && field.isAnnotationPresent(Excel.class)) {
builder.append(field.getAnnotation(Excel.class).name());
break;
}
}
builder.append(constraintViolation.getMessage()).append(",");
}
return builder.substring(0, builder.length() - 1).toString();
return builder.substring(0, builder.length() - 1);
}
}

불러오는 중...
취소
저장