|
@@ -60,27 +60,11 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
|
|
|
*/
|
|
|
@Override
|
|
|
public List<DataMigrationExcel> migrateForExcel(InstanceUrlParam context, MigrationInfo migrationInfo) {
|
|
|
- log.info("######################### DefineType 同步开始 #########################");
|
|
|
+ log.info("######################### DefineType 数据迁移内容获取开始 #########################");
|
|
|
long start = System.currentTimeMillis();
|
|
|
List<DataMigrationExcel> dataMigrationExcels = new ArrayList<>();
|
|
|
|
|
|
- QueryCriteria queryCriteria = new QueryCriteria();
|
|
|
- ObjectNode criteria = JsonNodeFactory.instance.objectNode();
|
|
|
- criteria.put("valid", 1);
|
|
|
- ObjectNode groupCode = JsonNodeFactory.instance.objectNode();
|
|
|
- groupCode.put("$ne", "0");
|
|
|
-
|
|
|
- ObjectNode projectId = JsonNodeFactory.instance.objectNode();
|
|
|
- projectId.put("$ne", "0");
|
|
|
-
|
|
|
- ObjectNode andOr = JsonNodeFactory.instance.objectNode();
|
|
|
- andOr.putPOJO("groupCode", projectId);
|
|
|
- andOr.putPOJO("projectId", groupCode);
|
|
|
-
|
|
|
- criteria.putPOJO("$andOr", andOr);
|
|
|
-
|
|
|
- queryCriteria.setCriteria(criteria);
|
|
|
- queryCriteria.setSize(-1L);
|
|
|
+ QueryCriteria queryCriteria = getQueryCriteria();
|
|
|
|
|
|
List<ObjectTypeDefine> admDefineList = getAdmData(context, queryCriteria);
|
|
|
String queryUrl = requestUrl(context, migrationInfo, MigrationType.QUERY.getCode());
|
|
@@ -91,11 +75,11 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
|
|
|
return dataMigrationExcels;
|
|
|
}
|
|
|
|
|
|
- String insertUrl = requestUrl(context, migrationInfo, MigrationType.INSERT.getCode());
|
|
|
+ //String insertUrl = requestUrl(context, migrationInfo, MigrationType.INSERT.getCode());
|
|
|
if(CollUtil.isEmpty(objectNodeList)){
|
|
|
- log.info("######################### DefineType 批量插入数据 #########################");
|
|
|
- DataMigrationResponse dataMigrationResponse = insertBatch(admDefineList, ObjectTypeDefine.class, insertUrl);
|
|
|
- dataMigrationExcels.addAll(processDataForExcel(dataMigrationResponse, MigrationType.INSERT.getDesc()));
|
|
|
+ log.info("######################### DefineType 批量插入数据获取 #########################");
|
|
|
+ //DataMigrationResponse dataMigrationResponse = insertBatch(admDefineList, ObjectTypeDefine.class, insertUrl);
|
|
|
+ dataMigrationExcels.addAll(processDataForExcel(admDefineList, MigrationType.INSERT.getDesc()));
|
|
|
|
|
|
return dataMigrationExcels;
|
|
|
}
|
|
@@ -105,28 +89,28 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
|
|
|
Map<String,Object> admDefineMap = toEntityMap(objectNodeListAdm, ObjectTypeDefine.class);
|
|
|
|
|
|
//差集 新增
|
|
|
- log.info("######################### DefineType 批量处理新增数据 #########################");
|
|
|
+ log.info("######################### DefineType 批量处理新增数据获取 #########################");
|
|
|
Map<String,Object> doSubtractFromInsert = doSubtractAdd(admDefineMap, projectDefineMap);
|
|
|
if(!CollUtil.isEmpty(doSubtractFromInsert)){
|
|
|
List<ObjectTypeDefine> insertData = toList(doSubtractFromInsert, admDefineList);
|
|
|
- DataMigrationResponse dataMigrationResponse = insertBatch(insertData, ObjectTypeDefine.class, insertUrl);
|
|
|
- dataMigrationExcels.addAll(processDataForExcel(dataMigrationResponse, MigrationType.INSERT.getDesc()));
|
|
|
+ //DataMigrationResponse dataMigrationResponse = insertBatch(insertData, ObjectTypeDefine.class, insertUrl);
|
|
|
+ dataMigrationExcels.addAll(processDataForExcel(insertData, MigrationType.INSERT.getDesc()));
|
|
|
}
|
|
|
|
|
|
//差集 删除
|
|
|
- log.info("######################### DefineType 批量处理删除数据 #########################");
|
|
|
+ log.info("######################### DefineType 批量处理删除数据获取 #########################");
|
|
|
Map<String,Object> doSubtractFromDelete = doSubtractDel(admDefineMap, projectDefineMap);
|
|
|
if(!CollUtil.isEmpty(doSubtractFromDelete)){
|
|
|
List<String> deleteIds = doSubtractFromDelete.entrySet().stream().map(en -> en.getKey()).collect(Collectors.toList());
|
|
|
- List<ObjectTypeDefine> deleteData = toList(doSubtractFromDelete, projectDefineList);
|
|
|
+ List<ObjectTypeDefine> deleteData = toListByIds(deleteIds, projectDefineList);
|
|
|
|
|
|
- String delUrl = requestUrl(context, migrationInfo, MigrationType.DELETE.getCode());
|
|
|
- DataMigrationResponse dataMigrationResponse = deleteBatch(deleteIds, ObjectTypeDefine.class, delUrl);
|
|
|
- dataMigrationExcels.addAll(processDataForExcel(dataMigrationResponse, MigrationType.DELETE.getDesc()));
|
|
|
+ /*String delUrl = requestUrl(context, migrationInfo, MigrationType.DELETE.getCode());
|
|
|
+ DataMigrationResponse dataMigrationResponse = deleteBatch(deleteIds, ObjectTypeDefine.class, delUrl);*/
|
|
|
+ dataMigrationExcels.addAll(processDataForExcel(deleteData, MigrationType.DELETE.getDesc()));
|
|
|
}
|
|
|
|
|
|
//交集更新
|
|
|
- log.info("######################### DefineType 批量处理更新数据 #########################");
|
|
|
+ log.info("######################### DefineType 批量处理更新数据获取 #########################");
|
|
|
Map<String,Object> intersectionUpdateFrom = doIntersectionGetFrom(admDefineMap, projectDefineMap);
|
|
|
Map<String,Object> intersectionUpdateTo = doIntersectionGetTo(admDefineMap, projectDefineMap);
|
|
|
|
|
@@ -134,13 +118,13 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
|
|
|
Map<String, Object> compareData = compareData(intersectionUpdateFrom, intersectionUpdateTo);
|
|
|
if(CollUtil.isNotEmpty(compareData) && compareData.size() > 0){
|
|
|
List<ObjectTypeDefine> updateData = toList(compareData, admDefineList);
|
|
|
- String updateUrl = requestUrl(context, migrationInfo, MigrationType.UPDATE.getCode());
|
|
|
- DataMigrationResponse dataMigrationResponse = updateBatch(updateData, ObjectTypeDefine.class, updateUrl);
|
|
|
- dataMigrationExcels.addAll(processDataForExcel(dataMigrationResponse, MigrationType.UPDATE.getDesc()));
|
|
|
+ //String updateUrl = requestUrl(context, migrationInfo, MigrationType.UPDATE.getCode());
|
|
|
+ //DataMigrationResponse dataMigrationResponse = updateBatch(updateData, ObjectTypeDefine.class, updateUrl);
|
|
|
+ dataMigrationExcels.addAll(processDataForExcel(updateData, MigrationType.UPDATE.getDesc()));
|
|
|
}
|
|
|
}
|
|
|
long end = System.currentTimeMillis();
|
|
|
- log.info("######################### DefineType 数据迁移已结束 时间:"+(end-start)+" #########################");
|
|
|
+ log.info("######################### DefineType 数据迁移获取已结束 时间:"+(end-start)+" #########################");
|
|
|
return dataMigrationExcels;
|
|
|
}
|
|
|
|
|
@@ -150,23 +134,7 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
|
|
|
long start = System.currentTimeMillis();
|
|
|
List<SyncData> syncDataList = new ArrayList<>();
|
|
|
|
|
|
- QueryCriteria queryCriteria = new QueryCriteria();
|
|
|
- ObjectNode criteria = JsonNodeFactory.instance.objectNode();
|
|
|
- criteria.put("valid", 1);
|
|
|
- ObjectNode groupCode = JsonNodeFactory.instance.objectNode();
|
|
|
- groupCode.put("$ne", "0");
|
|
|
-
|
|
|
- ObjectNode projectId = JsonNodeFactory.instance.objectNode();
|
|
|
- projectId.put("$ne", "0");
|
|
|
-
|
|
|
- ObjectNode andOr = JsonNodeFactory.instance.objectNode();
|
|
|
- andOr.putPOJO("groupCode", projectId);
|
|
|
- andOr.putPOJO("projectId", groupCode);
|
|
|
-
|
|
|
- criteria.putPOJO("$andOr", andOr);
|
|
|
-
|
|
|
- queryCriteria.setCriteria(criteria);
|
|
|
- queryCriteria.setSize(-1L);
|
|
|
+ QueryCriteria queryCriteria = getQueryCriteria();
|
|
|
|
|
|
List<ObjectTypeDefine> admDefineList = getAdmData(context, queryCriteria);
|
|
|
String queryUrl = requestUrl(context, migrationInfo, MigrationType.QUERY.getCode());
|
|
@@ -243,6 +211,28 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
|
|
|
return types;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ private QueryCriteria getQueryCriteria(){
|
|
|
+ QueryCriteria queryCriteria = new QueryCriteria();
|
|
|
+ ObjectNode criteria = JsonNodeFactory.instance.objectNode();
|
|
|
+ criteria.put("valid", 1);
|
|
|
+ ObjectNode groupCode = JsonNodeFactory.instance.objectNode();
|
|
|
+ groupCode.put("$ne", "0");
|
|
|
+
|
|
|
+ ObjectNode projectId = JsonNodeFactory.instance.objectNode();
|
|
|
+ projectId.put("$ne", "0");
|
|
|
+
|
|
|
+ ObjectNode andOr = JsonNodeFactory.instance.objectNode();
|
|
|
+ andOr.putPOJO("groupCode", projectId);
|
|
|
+ andOr.putPOJO("projectId", groupCode);
|
|
|
+
|
|
|
+ criteria.putPOJO("$andOr", andOr);
|
|
|
+
|
|
|
+ queryCriteria.setCriteria(criteria);
|
|
|
+ queryCriteria.setSize(-1L);
|
|
|
+ return queryCriteria;
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 根据map转为需要处理的对象集合
|
|
|
* 使用 MigrationConstant.spliter 作为拼接符
|
|
@@ -250,7 +240,6 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
|
|
|
* @param fromList
|
|
|
* @return
|
|
|
*/
|
|
|
-
|
|
|
public List<ObjectTypeDefine> toList(Map<String, Object> fromMap, List<ObjectTypeDefine> fromList) {
|
|
|
if(CollUtil.isEmpty(fromMap) || CollUtil.isEmpty(fromList)){
|
|
|
return Collections.emptyList();
|
|
@@ -300,35 +289,23 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
|
|
|
/**
|
|
|
* 将目标集合处理成excel格式的集合 使用与insert/delete
|
|
|
*
|
|
|
- * @param dataMigrationResponse
|
|
|
+ * @param list
|
|
|
* @return
|
|
|
*/
|
|
|
@Override
|
|
|
- public List<DataMigrationExcel> processDataForExcel(DataMigrationResponse dataMigrationResponse, String type) {
|
|
|
- if(CollUtil.isEmpty(dataMigrationResponse.getData()) && CollUtil.isEmpty(dataMigrationResponse.getErrorMsg())){
|
|
|
+ public List<DataMigrationExcel> processDataForExcel(Collection list, String type) {
|
|
|
+ if(CollUtil.isEmpty(list) ){
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
List<DataMigrationExcel> dataMigrationExcels = new ArrayList<>();
|
|
|
- if(CollUtil.isNotEmpty(dataMigrationResponse.getData())){
|
|
|
- for(Object obj : dataMigrationResponse.getData()){
|
|
|
- if(!type.equals(MigrationType.DELETE.getCode())){
|
|
|
- ObjectTypeDefine objectTypeDefine = (ObjectTypeDefine) obj;
|
|
|
- DataMigrationExcel excel = new DataMigrationExcel();
|
|
|
- excel.setId(objectTypeDefine.getId());
|
|
|
- excel.setCode(objectTypeDefine.getCode());
|
|
|
- excel.setName(objectTypeDefine.getName());
|
|
|
- excel.setType(type);
|
|
|
- dataMigrationExcels.add(excel);
|
|
|
- }else{
|
|
|
- DataMigrationExcel excel = new DataMigrationExcel();
|
|
|
- excel.setId(obj.toString());
|
|
|
- excel.setType(type);
|
|
|
- dataMigrationExcels.add(excel);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- if(CollUtil.isNotEmpty(dataMigrationResponse.getErrorMsg())){
|
|
|
- dataMigrationExcels.addAll(addErrorInfo(dataMigrationResponse.getErrorMsg()));
|
|
|
+ for(Object obj : list){
|
|
|
+ ObjectTypeDefine objectTypeDefine = (ObjectTypeDefine) obj;
|
|
|
+ DataMigrationExcel excel = new DataMigrationExcel();
|
|
|
+ excel.setId(objectTypeDefine.getId());
|
|
|
+ excel.setCode(objectTypeDefine.getCode());
|
|
|
+ excel.setName(objectTypeDefine.getName());
|
|
|
+ excel.setType(type);
|
|
|
+ dataMigrationExcels.add(excel);
|
|
|
}
|
|
|
return dataMigrationExcels;
|
|
|
}
|
|
@@ -354,13 +331,13 @@ public class DefineTypeMigration extends MigrationAbstractServiceImpl<ObjectType
|
|
|
syncData.setTargetId(objectTypeDefine.getId());
|
|
|
syncData.setName(objectTypeDefine.getName());
|
|
|
syncData.setCode(objectTypeDefine.getCode());
|
|
|
- syncData.setObjType(objectTypeDefine.getObjType());
|
|
|
- syncData.setOps(type);//操作
|
|
|
+ syncData.setObjectType(objectTypeDefine.getObjType());
|
|
|
+ syncData.setType(type);//操作
|
|
|
syncDataList.add(syncData);
|
|
|
}
|
|
|
}
|
|
|
if(CollUtil.isNotEmpty(dataMigrationResponse.getErrorMsg())){
|
|
|
- syncDataList.addAll(addErrorInfoForLog(dataMigrationResponse.getErrorMsg()));
|
|
|
+ syncDataList.addAll(addErrorInfoForLog(dataMigrationResponse.getErrorMsg(), MigrationTable.DTDEFINETYPE.getCode()));
|
|
|
}
|
|
|
return syncDataList;
|
|
|
}
|