Commit 235765259ae007c15603583a94fe978f117c9f74
1 parent
11d663aa
refactor(utils):优化字段映射逻辑- 将字段流合并逻辑提取到独立方法listFields中
- 简化convertValue方法中的字段处理流程 - 提高代码可读性和维护性
Showing
1 changed file
with
3 additions
and
6 deletions
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 | ... | ... |