From 5fde28f669cb26dc2376205c40cc068996275231 Mon Sep 17 00:00:00 2001 From: aoyu <1790306716@qq.com> Date: Tue, 10 Jan 2023 15:33:11 +0800 Subject: [PATCH] ref[storage] rewrite code of @ExcelFieldName --- .../interpreter/ResourceInterpreter.java | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/storage/src/main/java/com/zfoo/storage/interpreter/ResourceInterpreter.java b/storage/src/main/java/com/zfoo/storage/interpreter/ResourceInterpreter.java index 933bb3c0..daf21a6c 100644 --- a/storage/src/main/java/com/zfoo/storage/interpreter/ResourceInterpreter.java +++ b/storage/src/main/java/com/zfoo/storage/interpreter/ResourceInterpreter.java @@ -109,25 +109,29 @@ public class ResourceInterpreter { } } } - return fieldList.stream().filter(it1 -> fieldMap.keySet().stream().anyMatch(it -> { - var ans = false; - if (it1.isAnnotationPresent(ExcelFieldName.class)) { - ans |= it.equals(it1.getAnnotation(ExcelFieldName.class).value()); + Collection fieldInfos=new ArrayList<>(); + for(var field : fieldList){ + var ans=false; + for(var fieldMapKey:fieldMap.keySet()){ + if(field.isAnnotationPresent(ExcelFieldName.class)){ + ans|=fieldMapKey.equals(field.getAnnotation(ExcelFieldName.class).value()); + } + ans|=fieldMapKey.equals(field.getName()); } - ans |= it.equals(it1.getName()); - return ans; - })).map(it1 -> { + if(ans==false) + continue; String excelFieldName; - List list = null; - if (it1.isAnnotationPresent(ExcelFieldName.class)) { - list = fieldMap.keySet().stream().filter(it -> it.equals(it1.getAnnotation(ExcelFieldName.class).value())).collect(Collectors.toList()); + List list=null; + if(field.isAnnotationPresent(ExcelFieldName.class)){ + list=fieldMap.keySet().stream().filter(it->it.equals(field.getAnnotation(ExcelFieldName.class).value())).collect(Collectors.toList()); } - if (list == null || list.size() == 0) { - list = fieldMap.keySet().stream().filter(it -> it.equals(it1.getName())).collect(Collectors.toList()); + if(list==null||list.size()==0){ + list=fieldMap.keySet().stream().filter(it->it.equals(field.getName())).collect(Collectors.toList()); } - excelFieldName = list.get(0); - return new FieldInfo(fieldMap.get(excelFieldName), it1); - }).collect(Collectors.toList()); + excelFieldName=list.get(0); + fieldInfos.add(new FieldInfo(fieldMap.get(excelFieldName), field)); + } + return fieldInfos; } private static class FieldInfo {