فهرست منبع

解决设备保存时,旧的4位编码无法保存的问题

yucheng 3 سال پیش
والد
کامیت
43078c9235
1فایلهای تغییر یافته به همراه19 افزوده شده و 2 حذف شده
  1. 19 2
      src/main/java/com/persagy/proxy/adm/utils/AdmEntityTransferUtil.java

+ 19 - 2
src/main/java/com/persagy/proxy/adm/utils/AdmEntityTransferUtil.java

@@ -3,10 +3,12 @@ package com.persagy.proxy.adm.utils;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.util.ArrayUtil;
 import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.fasterxml.jackson.databind.node.ArrayNode;
 import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.persagy.dmp.basic.utils.JsonNodeUtils;
-import com.persagy.dmp.common.utils.JsonHelper;
+import com.persagy.dmp.common.exception.BusinessException;
+import com.persagy.dmp.common.helper.SpringHelper;
 
 import java.io.IOException;
 import java.util.Iterator;
@@ -139,13 +141,28 @@ public class AdmEntityTransferUtil {
         JsonNode outLine = node.get("outline");
         if(outLine != null && outLine.isTextual()) {
             node.remove("outline");
-            ArrayNode arrayNode = JsonHelper.toSingleEntityQuietly(outLine.textValue(), ArrayNode.class);
+            ArrayNode arrayNode = toSingleEntityQuietly(outLine.textValue(), ArrayNode.class);
             node.set("outline", arrayNode);
         }
         removeProperty(node, projection);
     }
 
     /**
+     * 转换为指定对象
+     * @param jsonStr
+     * @param clazz
+     * @param <T>
+     * @return
+     */
+    public static <T> T toSingleEntityQuietly(String jsonStr, Class<T> clazz) {
+        try {
+            return SpringHelper.getBean(ObjectMapper.class).readValue(jsonStr, clazz);
+        } catch (IOException e) {
+            throw new BusinessException("outline格式解析失败");
+        }
+    }
+
+    /**
      * 拷贝属性
      * @param dmpData 数据中台对象
      * @param srcProp 数据中台属性名