Przeglądaj źródła

查询权益时增加字段表示某订单选择的权益数量,此时默认0

郭子栋 5 miesięcy temu
rodzic
commit
99a721f29a

+ 20 - 2
tenant/insurance/quotation-summary/src/main/java/com/jzg/quotation/summary/utils/FeignConfig.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fasterxml.jackson.core.JsonParser;
 import com.fasterxml.jackson.databind.*;
 import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
 import org.springframework.beans.factory.ObjectFactory;
 import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
@@ -16,10 +17,11 @@ import org.springframework.http.converter.json.MappingJackson2HttpMessageConvert
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 
 /**
- * 类描述:
+ * 类描述:调生活服务平台查询权益专用:逻辑里会有独有的字段统一添加
  *
  * @author Administrator
  * @version 1.0
@@ -50,7 +52,23 @@ public class FeignConfig {
                 if (node.has("records") && node.get("records").isArray()) {
                     List<Object> records = new ArrayList<>();
                     for (JsonNode item : node.get("records")) {
-                        records.add(mapper.treeToValue(item, Object.class));
+                        // 将原有数据转换为Object
+                        Object obj = mapper.treeToValue(item, Object.class);
+
+                        // 方式1:如果是Map类型,直接添加字段
+                        if (obj instanceof Map) {
+                            Map<String, Object> map = (Map<String, Object>) obj;
+                            map.put("rightsCount", 0);  // 添加给新字段选择的权益数量,默认值0
+                            records.add(map);
+                        }
+                        // 方式2:如果是普通对象,使用Jackson添加字段
+                        else {
+                            // 将原对象转换为JsonNode,添加新字段后再转回Object
+                            ObjectNode objectNode = mapper.valueToTree(obj);
+                            objectNode.put("rightsCount", 0);  // 添加新字段选择的权益数量,默认值0
+                            Object newObj = mapper.treeToValue(objectNode, obj.getClass());
+                            records.add(newObj);
+                        }
                     }
                     page.setRecords(records);
                 }