|
@@ -10,6 +10,7 @@ import com.persagy.dmp.common.constant.ResponseCode;
|
|
import com.persagy.dmp.common.exception.BusinessException;
|
|
import com.persagy.dmp.common.exception.BusinessException;
|
|
import com.persagy.dmp.common.helper.SpringHelper;
|
|
import com.persagy.dmp.common.helper.SpringHelper;
|
|
import com.persagy.dmp.common.model.entity.BaseEntity;
|
|
import com.persagy.dmp.common.model.entity.BaseEntity;
|
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
|
|
|
import java.io.IOException;
|
|
import java.io.IOException;
|
|
import java.lang.reflect.Field;
|
|
import java.lang.reflect.Field;
|
|
@@ -63,7 +64,7 @@ public class JsonNodeUtils {
|
|
try {
|
|
try {
|
|
String voJson = objectMapper.writeValueAsString(voList);
|
|
String voJson = objectMapper.writeValueAsString(voList);
|
|
JavaType javaType = objectMapper.getTypeFactory().constructParametricType(ArrayList.class, ObjectNode.class);
|
|
JavaType javaType = objectMapper.getTypeFactory().constructParametricType(ArrayList.class, ObjectNode.class);
|
|
- array = objectMapper.readValue(array.toString(), javaType);
|
|
|
|
|
|
+ array = objectMapper.readValue(voJson, javaType);
|
|
} catch (IOException e) {
|
|
} catch (IOException e) {
|
|
throw new BusinessException(ResponseCode.A0427.getCode(), ResponseCode.A0427.getDesc());
|
|
throw new BusinessException(ResponseCode.A0427.getCode(), ResponseCode.A0427.getDesc());
|
|
}
|
|
}
|
|
@@ -172,6 +173,13 @@ public class JsonNodeUtils {
|
|
for(Field field:fields) {
|
|
for(Field field:fields) {
|
|
fieldSet.add(field.getName());
|
|
fieldSet.add(field.getName());
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ //添加基础属性
|
|
|
|
+ Field[] BaseFields = BaseEntity.class.getDeclaredFields();
|
|
|
|
+ for(Field field:BaseFields) {
|
|
|
|
+ fieldSet.add(field.getName());
|
|
|
|
+ }
|
|
|
|
+
|
|
// 转换node
|
|
// 转换node
|
|
for(int i = 0;i < array.size();i++) {
|
|
for(int i = 0;i < array.size();i++) {
|
|
ObjectNode node = (ObjectNode) array.get(i);
|
|
ObjectNode node = (ObjectNode) array.get(i);
|
|
@@ -203,14 +211,16 @@ public class JsonNodeUtils {
|
|
if (classColumns.contains(nodeKey)) {
|
|
if (classColumns.contains(nodeKey)) {
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
|
|
+
|
|
// 扩展列为空,或在扩展列范围内
|
|
// 扩展列为空,或在扩展列范围内
|
|
if(CollUtil.isEmpty(extraColumns) || extraColumns.contains(nodeKey)) {
|
|
if(CollUtil.isEmpty(extraColumns) || extraColumns.contains(nodeKey)) {
|
|
// clazz没有的属性添加到扩展属性中
|
|
// clazz没有的属性添加到扩展属性中
|
|
extraNode.set(nodeKey, node.get(nodeKey));
|
|
extraNode.set(nodeKey, node.get(nodeKey));
|
|
}
|
|
}
|
|
// 移除node中此属性
|
|
// 移除node中此属性
|
|
- node.remove(nodeKey);
|
|
|
|
|
|
+ nodeKeys.remove();
|
|
}
|
|
}
|
|
|
|
+ node.set("infos",extraNode);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|