|
@@ -349,11 +349,6 @@ public class MigrationAbstractServiceImpl<T> implements IMigrationAbstractServic
|
|
|
if(CollUtil.isEmpty(difference)){
|
|
|
return null;
|
|
|
}
|
|
|
- /*difference.forEach(set1 -> System.out.println(set1));
|
|
|
- System.out.println("-------------------------------------------------------------------------");
|
|
|
- Sets.SetView<String> difference2 = Sets.difference(toSets, formSets);
|
|
|
- difference2.forEach(set2 -> System.out.println(set2));*/
|
|
|
-
|
|
|
Set<String> diff = difference.stream().map(entity -> StrUtil.subBefore(entity, MigrationConstant.SPLITER_UNION, true)).collect(Collectors.toSet());
|
|
|
Map<String, Object> results = getValueForMapByKeys(diff, from);
|
|
|
return results;
|
|
@@ -391,18 +386,35 @@ public class MigrationAbstractServiceImpl<T> implements IMigrationAbstractServic
|
|
|
return syncDataList;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 调用中台接口,保存迁移日志
|
|
|
+ * 日志量 > MigrationConstant.BATCH_SUBMIT_DATA_COUNT 使用分页插入
|
|
|
+ *
|
|
|
+ * @param context
|
|
|
+ * @param syncDataList
|
|
|
+ * @return
|
|
|
+ */
|
|
|
@Override
|
|
|
public List<SyncData> addSynLog(InstanceUrlParam context, List<SyncData> syncDataList) {
|
|
|
if(CollUtil.isEmpty(syncDataList)){
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
+ List<SyncData> syncDatasResult = new ArrayList<>(syncDataList.size());
|
|
|
// 调用中台新增
|
|
|
- List<SyncData> syncDatas = DigitalMigrateLogFacade.create(context.getGroupCode(),context.getProjectId(),context.getAppId(), context.getUserId(), syncDataList);
|
|
|
-
|
|
|
- if(CollUtil.isEmpty(syncDatas)) {
|
|
|
- throw new RuntimeException("调用中台更新迁移日志出错");
|
|
|
+ if(syncDataList.size() - MigrationConstant.BATCH_SUBMIT_DATA_COUNT > 0){
|
|
|
+ syncDatasResult = DigitalMigrateLogFacade.create(context.getGroupCode(),context.getProjectId(),context.getAppId(), context.getUserId(), syncDataList);
|
|
|
+ }else{
|
|
|
+ int count= syncDataList.size() / MigrationConstant.BATCH_SUBMIT_DATA_COUNT;
|
|
|
+ for(int k = 0; k < count + 1 ;k++){
|
|
|
+ int end = (k+1) * MigrationConstant.BATCH_SUBMIT_DATA_COUNT - 1;
|
|
|
+ if(end > syncDataList.size()){
|
|
|
+ end = syncDataList.size();
|
|
|
+ }
|
|
|
+ List syncData = syncDataList.subList(k * MigrationConstant.BATCH_SUBMIT_DATA_COUNT, end);
|
|
|
+ syncDatasResult.addAll(DigitalMigrateLogFacade.create(context.getGroupCode(),context.getProjectId(),context.getAppId(), context.getUserId(), syncData));
|
|
|
+ }
|
|
|
}
|
|
|
- return syncDataList;
|
|
|
+ return syncDatasResult;
|
|
|
}
|
|
|
|
|
|
public DataMigrationResponse processProjectData(List vos, QueryCriteria queryCriteria, Class<T> clazz, String url){
|