|
@@ -2,6 +2,7 @@ package com.persagy.proxy.migration.handler;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import com.fasterxml.jackson.databind.node.ArrayNode;
|
|
|
import com.fasterxml.jackson.databind.node.JsonNodeFactory;
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
|
import com.persagy.dmp.basic.model.QueryCriteria;
|
|
@@ -138,6 +139,12 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
|
|
|
Map<String,Object> doSubtractFromInsert = doSubtractAdd(admMap, projectMap);
|
|
|
if(!CollUtil.isEmpty(doSubtractFromInsert)){
|
|
|
List<ObjectNode> insertData = toList(doSubtractFromInsert, admData);
|
|
|
+ //调用中台验证待新增的数据
|
|
|
+ List<ObjectDigital> digitalList = validateInfoCode(insertData, context);
|
|
|
+ //将验证结果放到日志
|
|
|
+ syncDataList.addAll(processDataForLog(DataMigrationResponse.success(digitalList), MigrationType.CREATE.getCode()));
|
|
|
+
|
|
|
+ //插入数据
|
|
|
DataMigrationResponse dataMigrationResponse = insertBatch(insertData, ObjectDigital.class, insertUrl);
|
|
|
syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.CREATE.getCode()));
|
|
|
}
|
|
@@ -163,6 +170,12 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
|
|
|
Map<String, Object> compareData = compareData(intersectionUpdateFrom, intersectionUpdateTo);
|
|
|
if(CollUtil.isNotEmpty(compareData) && compareData.size() > 0){
|
|
|
List<ObjectNode> updateData = toList(compareData, admData);
|
|
|
+ //调用中台验证待更新的数据
|
|
|
+ List<ObjectDigital> digitalList = validateInfoCode(updateData, context);
|
|
|
+ //将验证结果放到日志
|
|
|
+ syncDataList.addAll(processDataForLog(DataMigrationResponse.success(digitalList), MigrationType.UPDATE.getCode()));
|
|
|
+
|
|
|
+ //更新
|
|
|
String updateUrl = requestUrl(context, migrationInfo, MigrationType.UPDATE.getCode());
|
|
|
DataMigrationResponse dataMigrationResponse = updateBatch(updateData, ObjectDigital.class, updateUrl);
|
|
|
syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.UPDATE.getCode()));
|
|
@@ -389,4 +402,16 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
|
|
|
return syncDataList;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 信息点值校验
|
|
|
+ * @param voList
|
|
|
+ */
|
|
|
+ private List<ObjectDigital> validateInfoCode(List<ObjectNode> voList, InstanceUrlParam context) {
|
|
|
+ if(CollUtil.isEmpty(voList)) {
|
|
|
+ return Collections.emptyList();
|
|
|
+ }
|
|
|
+ ArrayNode arrayNode = JsonNodeUtils.toArrayNode(voList, null, null);
|
|
|
+ return DigitalObjectFacade.validateInfoCodeAndGetErrorList(context.getGroupCode(),context.getProjectId(),context.getAppId(),context.getUserId(),arrayNode);
|
|
|
+ }
|
|
|
+
|
|
|
}
|