MCPcopy Index your code
hub / github.com/Bit0r/java-util / excelCheckObj

Method excelCheckObj

src/main/java/util/ExcelUtils.java:73–123  ·  view source on GitHub ↗

excel 对象数据校验 @param excelList @param clazz @return

(List<?> excelList, Class<?> clazz)

Source from the content-addressed store, hash-verified

71 * @return
72 */
73 public static List<String> excelCheckObj(List<?> excelList, Class<?> clazz) {
74 List<String> errList = new ArrayList<>();
75 Map<String, ExcelCheck> excelCheckMap = new HashMap<String, ExcelCheck>();
76 Map<String, ExcelProperty> excelPropertyMap = new HashMap<String, ExcelProperty>();
77 for (Field field : TableInfoHelper.getAllFields(clazz)) {
78 ExcelCheck excelCheck = field.getAnnotation(ExcelCheck.class);
79 ExcelProperty excelProperty = field.getAnnotation(ExcelProperty.class);
80 if (excelCheck != null) {
81 excelCheckMap.put(field.getName(), excelCheck);
82 excelPropertyMap.put(field.getName(), excelProperty);
83 }
84 }
85 for (int i = 0; i < excelList.size(); i++) {
86 Object obj = excelList.get(i);
87 PropertyDescriptor origDescriptors[] = PropertyUtils.getPropertyDescriptors(obj);
88 for (int j = 0; j < origDescriptors.length; j++) {
89 String k = origDescriptors[j].getName();
90 Object v = null;
91 try {
92 v = PropertyUtils.getSimpleProperty(obj, k);
93 } catch (Exception e) {
94 log.error(e.getMessage(), e);
95 }
96 ExcelCheck excelCheck = excelCheckMap.get(k);
97 ExcelProperty excelProperty = excelPropertyMap.get(k);
98 if (ObjectUtil.isNotEmpty(excelCheck) && ObjectUtil.isNotEmpty(excelProperty)) {
99 String fieldName = Arrays.toString(excelProperty.value());
100 fieldName = fieldName.substring(1, fieldName.length() - 1);
101
102 //不能为空
103 isNotNull(v, excelCheck, i, fieldName, errList);
104
105 //整数长度
106 integer(v, excelCheck, i, fieldName, errList);
107
108 //小数长度
109 decimal(v, excelCheck, i, fieldName, errList);
110
111 //时间格式
112 dateFormat(v, excelCheck, i, fieldName, errList);
113
114 //正则校验
115 matches(v, excelCheck, i, fieldName, errList);
116
117 //最大长度校验
118 maxLength(v, excelCheck, i, fieldName, errList);
119 }
120 }
121 }
122 return errList;
123 }
124
125
126 /**

Callers 1

excelCheckMethod · 0.95

Calls 6

isNotNullMethod · 0.95
integerMethod · 0.95
decimalMethod · 0.95
dateFormatMethod · 0.95
matchesMethod · 0.95
maxLengthMethod · 0.95

Tested by

no test coverage detected