Parcourir la source

准生产环境的交付数据,同步至客户生产环境 bug

lvxianyun il y a 3 ans
Parent
commit
a0f28b0b87

+ 13 - 5
src/main/java/com/persagy/proxy/migration/handler/ObjectDigitalMigration.java

@@ -121,18 +121,18 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
 
         String queryUrl = requestUrl(context, migrationInfo, MigrationType.QUERY.getCode());
         List<ObjectDigital> projectData = getProjectData(queryCriteria, ObjectDigital.class, queryUrl);
-        List<ObjectNode> objectNodeList = JsonNodeUtils.toListNode(projectData, null, null);
+        List<ObjectNode> projObjectNodeList = JsonNodeUtils.toListNode(projectData, null, null);
 
         if(CollUtil.isEmpty(admData)){
             log.error(" ######################### dt_object adm已交付:"+ ResponseCode.C0320.getDesc() +" 同步结束 #########################");
         }
 
         String insertUrl = requestUrl(context, migrationInfo, MigrationType.CREATE.getCode());
-        if(CollUtil.isEmpty(objectNodeList)){
+        if(CollUtil.isEmpty(projObjectNodeList)){
             DataMigrationResponse dataMigrationResponse = insertBatch(admData, ObjectDigital.class, insertUrl);
             syncDataList = processDataForLog(dataMigrationResponse, MigrationType.CREATE.getCode());
         }
-        Map<String,Object> projectMap = toEntityMap(objectNodeList, ObjectDigital.class);
+        Map<String,Object> projectMap = toEntityMap(projObjectNodeList, ObjectDigital.class);
         Map<String,Object> admMap = toEntityMap(admData, ObjectDigital.class);
         //差集 新增
         Map<String,Object> doSubtractFromInsert = doSubtractAdd(admMap, projectMap);
@@ -150,7 +150,7 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
             //处理删除的数据
             DataMigrationResponse dataMigrationResponse = deleteBatch(deleteIds, ObjectDigital.class, delUrl);
             List<String> successIds = (List<String>) dataMigrationResponse.getData();
-            List<ObjectNode> delObjs = toListByIds(successIds, objectNodeList);
+            List<ObjectNode> delObjs = toListByIds(successIds, projObjectNodeList);
             dataMigrationResponse.setData(delObjs);
             syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.DELETE.getCode()));
         }
@@ -358,7 +358,15 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
         List<SyncData> syncDataList = new ArrayList<>();
         if(CollUtil.isNotEmpty(dataMigrationResponse.getData())){
             for(Object obj : dataMigrationResponse.getData()){
-                ObjectDigital digital = (ObjectDigital) obj;
+                if(null == obj){
+                    continue;
+                }
+                ObjectDigital digital = null;
+                if(obj instanceof ObjectDigital){
+                    digital = (ObjectDigital) obj;
+                }else{
+                    digital = JsonNodeUtils.toEntity((ObjectNode) obj, ObjectDigital.class, null);
+                }
                 SyncData syncData = new SyncData();
                 syncData.setTableName(MigrationTable.DTOBJECT.getCode());
                 syncData.setName(digital.getName());