Selaa lähdekoodia

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

lvxianyun 3 vuotta sitten
vanhempi
commit
51d5e3afbd

+ 8 - 4
src/main/java/com/persagy/proxy/migration/handler/DefineInfoMigration.java

@@ -61,7 +61,7 @@ public class DefineInfoMigration extends MigrationAbstractServiceImpl<ObjectInfo
     @Override
     public List<DataMigrationExcel> migrateForExcel(InstanceUrlParam context, MigrationInfo migrationInfo) {
         log.info("######################### ObjectInfoDefine 数据迁移内容获取开始 #########################");
-        QueryCriteria queryCriteria = getCriterionQueryCriteria();
+        QueryCriteria queryCriteria = getCustomQueryCriteria();
         List<ObjectInfoDefine> admDefineList = getAdmData(context, queryCriteria);
         String queryUrl = requestUrl(context, migrationInfo, MigrationType.QUERY.getCode());
         List<ObjectInfoDefine> projectDefineList = getProjectData(queryCriteria, ObjectInfoDefine.class, queryUrl);
@@ -114,7 +114,7 @@ public class DefineInfoMigration extends MigrationAbstractServiceImpl<ObjectInfo
             //处理删除的数据
             DataMigrationResponse dataMigrationResponse = deleteBatch(deleteIds, ObjectInfoDefine.class, delUrl);
             List<String> successIds = (List<String>) dataMigrationResponse.getData();
-            List<ObjectInfoDefine> delObjs = toListByIds(successIds, admDefineList);
+            List<ObjectInfoDefine> delObjs = toListByIds(successIds, projectDefineList);
             dataMigrationResponse.setData(delObjs);
             syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.DELETE.getCode()));
         }
@@ -173,7 +173,11 @@ public class DefineInfoMigration extends MigrationAbstractServiceImpl<ObjectInfo
         List<ObjectInfoDefine> results = new ArrayList<>(ids.size());
         Map<String, ObjectInfoDefine> objectInfoDefineMap = CollUtil.fieldValueMap(fromList, BaseEntity.PROP_ID);
         for(String key : ids){
-            results.add(objectInfoDefineMap.get(key));
+            ObjectInfoDefine define = objectInfoDefineMap.get(key);
+            if (define!= null) {
+                results.add(define);
+            }
+
         }
         return results;
     }
@@ -393,7 +397,7 @@ public class DefineInfoMigration extends MigrationAbstractServiceImpl<ObjectInfo
             List<String> deleteIds = subtractFromDelete.entrySet().stream().map(en -> en.getKey()).collect(Collectors.toList());
             //String delUrl = requestUrl(context, migrationInfo, MigrationType.DELETE.getCode());
             //DataMigrationResponse response = deleteBatch(deleteIds, ObjectInfoDefine.class, delUrl);
-            List<ObjectInfoDefine> delData = toListByIds(deleteIds, admDefineList);
+            List<ObjectInfoDefine> delData = toListByIds(deleteIds, projectDefineList);
             dataMigrationExcels.addAll(processDataForExcel(delData, MigrationType.DELETE.getCode()));
         }
 

+ 1 - 1
src/main/java/com/persagy/proxy/migration/handler/DefineTypeMigration.java

@@ -114,7 +114,7 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
             String delUrl = requestUrl(context, migrationInfo, MigrationType.DELETE.getCode());
             DataMigrationResponse dataMigrationResponse = deleteBatch(deleteIds, ObjectTypeDefine.class, delUrl);
             List<String> successIds = (List<String>) dataMigrationResponse.getData();
-            List<ObjectTypeDefine> delObjs = toListByIds(successIds, admDefineList);
+            List<ObjectTypeDefine> delObjs = toListByIds(successIds, projectDefineList);
             dataMigrationResponse.setData(delObjs);
             syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.DELETE.getCode()));
         }

+ 9 - 3
src/main/java/com/persagy/proxy/migration/handler/ObjectDigitalMigration.java

@@ -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, admData);
+            List<ObjectNode> delObjs = toListByIds(successIds, objectNodeList);
             dataMigrationResponse.setData(delObjs);
             syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.DELETE.getCode()));
         }
@@ -209,7 +209,7 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
         if(!CollUtil.isEmpty(doSubtractFromDelete)){
             List<String> deleteIds = doSubtractFromDelete.entrySet().stream().map(en -> en.getKey()).collect(Collectors.toList());
 
-            List<ObjectNode> deleteData = toListByIds(deleteIds, admData);
+            List<ObjectNode> deleteData = toListByIds(deleteIds, objectNodeList);
             //String delUrl = requestUrl(context, migrationInfo, MigrationType.DELETE.getCode());
             //DataMigrationResponse dataMigrationResponse = deleteBatch(deleteIds, ObjectDigital.class, delUrl);
             dataMigrationExcels.addAll(processDataForExcel(deleteData, MigrationType.DELETE.getCode()));
@@ -281,7 +281,10 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
         }
 
         for(String key : ids){
-            results.add(objectDigitalMap.get(key));
+            if(objectDigitalMap.containsKey(key)){
+                results.add(objectDigitalMap.get(key));
+            }
+
         }
         return results;
     }
@@ -327,6 +330,9 @@ public class ObjectDigitalMigration extends MigrationAbstractServiceImpl<ObjectD
         }
         List<DataMigrationExcel> dataMigrationExcels = new ArrayList<>();
         for(Object obj : list){
+            if(obj ==  null){
+                continue;
+            }
             ObjectDigital digital = JsonNodeUtils.toEntity((ObjectNode) obj, ObjectDigital.class, null);
             DataMigrationExcel excel = new DataMigrationExcel();
             excel.setId(digital.getId());

+ 4 - 1
src/main/java/com/persagy/proxy/migration/handler/ObjectRelationMigration.java

@@ -194,7 +194,7 @@ public class ObjectRelationMigration extends MigrationAbstractServiceImpl<Object
             //处理删除的数据
             DataMigrationResponse dataMigrationResponse = deleteBatch(deleteIds, ObjectRelation.class, delUrl);
             List<String> successIds = (List<String>) dataMigrationResponse.getData();
-            List<ObjectRelation> delObjs = toListByIds(successIds, admRelations);
+            List<ObjectRelation> delObjs = toListByIds(successIds, projectRelations);
             dataMigrationResponse.setData(delObjs);
             syncDataList.addAll(processDataForLog(dataMigrationResponse, MigrationType.DELETE.getCode()));
         }
@@ -294,6 +294,9 @@ public class ObjectRelationMigration extends MigrationAbstractServiceImpl<Object
         }
         List<DataMigrationExcel> dataMigrationExcels = new ArrayList<>();
         for(Object obj : list){
+            if(obj ==  null){
+                continue;
+            }
             ObjectRelation objectRelation = (ObjectRelation) obj;
             DataMigrationExcel excel = new DataMigrationExcel();
             excel.setId(objectRelation.getId());