Commit 235765259ae007c15603583a94fe978f117c9f74

Authored by zhangmeiyang
1 parent 11d663aa

refactor(utils):优化字段映射逻辑- 将字段流合并逻辑提取到独立方法listFields中

- 简化convertValue方法中的字段处理流程
- 提高代码可读性和维护性
tax-central/src/main/java/com/diligrp/tax/central/utils/MappingUtils.java
@@ -64,12 +64,9 @@ public class MappingUtils { @@ -64,12 +64,9 @@ public class MappingUtils {
64 64
65 public static <T extends BaseDocument, R extends BaseMapping> R convertValue(T t, Class<R> clazz) { 65 public static <T extends BaseDocument, R extends BaseMapping> R convertValue(T t, Class<R> clazz) {
66 Map<String, Object> map = new HashMap<>(); 66 Map<String, Object> map = new HashMap<>();
67 - Field[] allFields = Stream.concat(  
68 - Arrays.stream(t.getClass().getDeclaredFields()),  
69 - Arrays.stream(t.getClass().getSuperclass().getDeclaredFields())  
70 - ).toArray(Field[]::new);  
71 - Arrays.stream(allFields).filter(field -> field.isAnnotationPresent(Converter.class)).forEach(field -> configureField(t, field, map));  
72 - Arrays.stream(allFields).filter(field -> field.isAnnotationPresent(SubConverter.class)).forEach(field -> configureSubField(t, field, map)); 67 + List<Field> allFields = listFields(t.getClass());
  68 + allFields.stream().filter(field -> field.isAnnotationPresent(Converter.class)).forEach(field -> configureField(t, field, map));
  69 + allFields.stream().filter(field -> field.isAnnotationPresent(SubConverter.class)).forEach(field -> configureSubField(t, field, map));
73 return JsonUtils.convertValue(map, clazz); 70 return JsonUtils.convertValue(map, clazz);
74 } 71 }
75 72