【fix】修复同步数据时,选择最后一个批次的条件

This commit is contained in:
Kris 2025-07-11 15:41:48 +08:00
parent 6680beb43a
commit b353084aca

View File

@ -447,17 +447,19 @@ public class DataImportNewServiceImpl implements DataImportNewService {
List<SalesforceParam> salesforceParams = null; List<SalesforceParam> salesforceParams = null;
QueryWrapper<DataBatch> dbQw = new QueryWrapper<>(); QueryWrapper<DataBatch> dbQw = new QueryWrapper<>();
dbQw.eq("name", api); dbQw.eq("name", api);
dbQw.gt("sync_end_date",dataObject.getLastUpdateDate()); List<DataBatch> list = dataBatchService.list(dbQw);
List<DataBatch> dataBatches = dataBatchService.list(dbQw);
AtomicInteger batch = new AtomicInteger(1); AtomicInteger batch = new AtomicInteger(1);
if (CollectionUtils.isNotEmpty(dataBatches)) { if (CollectionUtils.isNotEmpty(list)) {
salesforceParams = dataBatches.stream().map(t -> { salesforceParams = list.stream().map(t -> {
SalesforceParam salesforceParam = param.clone(); if(t.getSyncEndDate().toInstant().isAfter(t.getLastModifiedDate().toInstant())){
salesforceParam.setApi(t.getName()); SalesforceParam salesforceParam = param.clone();
salesforceParam.setBeginCreateDate(t.getSyncStartDate()); salesforceParam.setApi(t.getName());
salesforceParam.setEndCreateDate(t.getSyncEndDate()); salesforceParam.setBeginCreateDate(t.getSyncStartDate());
salesforceParam.setBatch(batch.getAndIncrement()); salesforceParam.setEndCreateDate(t.getSyncEndDate());
return salesforceParam; salesforceParam.setBatch(batch.getAndIncrement());
return salesforceParam;
}
return null;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
@ -636,17 +638,19 @@ public class DataImportNewServiceImpl implements DataImportNewService {
List<SalesforceParam> salesforceParams = null; List<SalesforceParam> salesforceParams = null;
QueryWrapper<DataBatch> dbQw = new QueryWrapper<>(); QueryWrapper<DataBatch> dbQw = new QueryWrapper<>();
dbQw.eq("name", api); dbQw.eq("name", api);
dbQw.gt("sync_end_date",dataObject.getLastUpdateDate());
List<DataBatch> list = dataBatchService.list(dbQw); List<DataBatch> list = dataBatchService.list(dbQw);
AtomicInteger batch = new AtomicInteger(1); AtomicInteger batch = new AtomicInteger(1);
if (CollectionUtils.isNotEmpty(list)) { if (CollectionUtils.isNotEmpty(list)) {
salesforceParams = list.stream().map(t -> { salesforceParams = list.stream().map(t -> {
SalesforceParam salesforceParam = param.clone(); if(t.getSyncEndDate().toInstant().isAfter(t.getLastModifiedDate().toInstant())){
salesforceParam.setApi(t.getName()); SalesforceParam salesforceParam = param.clone();
salesforceParam.setBeginCreateDate(t.getSyncStartDate()); salesforceParam.setApi(t.getName());
salesforceParam.setEndCreateDate(t.getSyncEndDate()); salesforceParam.setBeginCreateDate(t.getSyncStartDate());
salesforceParam.setBatch(batch.getAndIncrement()); salesforceParam.setEndCreateDate(t.getSyncEndDate());
return salesforceParam; salesforceParam.setBatch(batch.getAndIncrement());
return salesforceParam;
}
return null;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
} }
@ -755,7 +759,7 @@ public class DataImportNewServiceImpl implements DataImportNewService {
if (!"null".equals(value) && StringUtils.isNotEmpty(value) && !"OwnerId".equals(field) if (!"null".equals(value) && StringUtils.isNotEmpty(value) && !"OwnerId".equals(field)
&& !"Owner_Type".equals(field) ) { && !"Owner_Type".equals(field) ) {
//判断reference_to内是否包含User字符串 //判断reference_to内是否包含User字符串
if (reference_to.contains("User")) { if (reference_to.contains(",User") || reference_to.contains("User,")) {
reference_to = "User"; reference_to = "User";
} }
Map<String, Object> m = customMapper.getById("new_id", reference_to, value); Map<String, Object> m = customMapper.getById("new_id", reference_to, value);