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 64  
65 65 public static <T extends BaseDocument, R extends BaseMapping> R convertValue(T t, Class<R> clazz) {
66 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 70 return JsonUtils.convertValue(map, clazz);
74 71 }
75 72  
... ...