【feat】更新数据时,判断对象是否写入old_Id

This commit is contained in:
Kris 2025-07-02 15:12:53 +08:00
parent c05010b9ad
commit 8ab83d71e5
2 changed files with 22 additions and 15 deletions

View File

@ -304,6 +304,8 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
BulkUtil.closeJob(bulkConnection, salesforceInsertJob.getId());
new File(fullPath).delete();
} catch (Exception e) {
log.error("manualCreatedNewId error api:{}", api, e);
throw e;
@ -426,7 +428,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
BulkConnection bulkConnection = salesforceTargetConnect.createBulkConnect();
for (String api : apis) {
DataObject update = new DataObject();
DataObject update = dataObjectService.getById(api);
try {
TimeUnit.MILLISECONDS.sleep(1);
List<SalesforceParam> salesforceParams = null;
@ -453,7 +455,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
for (SalesforceParam salesforceParam : salesforceParams) {
Future<?> future = salesforceExecutor.execute(() -> {
try {
manualUpdateSfDataBatch(salesforceParam, bulkConnection);
manualUpdateSfDataBatch(salesforceParam, bulkConnection,update);
} catch (Throwable throwable) {
log.error("salesforceExecutor error", throwable);
throw new RuntimeException(throwable);
@ -480,7 +482,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
/**
* 执行数据Update
*/
private void manualUpdateSfDataBatch(SalesforceParam param, BulkConnection bulkConnection) throws Exception {
private void manualUpdateSfDataBatch(SalesforceParam param, BulkConnection bulkConnection,DataObject dataObject) throws Exception {
String api = param.getApi();
QueryWrapper<DataField> dbQw = new QueryWrapper<>();
@ -551,9 +553,11 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
}
}
}
account.put("old_owner_id__c", map.get("OwnerId"));
account.put("old_sfdc_id__c", map.get("Id"));
if (dataObject.getIsEditable()){
account.put("old_owner_id__c", map.get("OwnerId"));
account.put("old_sfdc_id__c", map.get("Id"));
}
updateList.add(account);
}
@ -572,6 +576,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
BulkUtil.closeJob(bulkConnection, salesforceInsertJob.getId());
new File(fullPath).delete();
} catch (Throwable e) {
log.info(e.getMessage());
throw e;

View File

@ -368,7 +368,7 @@ public class DataImportNewServiceImpl implements DataImportNewService {
PartnerConnection partnerConnection = salesforceTargetConnect.createConnect();
for (String api : apis) {
DataObject update = new DataObject();
DataObject update = dataObjectService.getById(api);
try {
List<SalesforceParam> salesforceParams = null;
QueryWrapper<DataBatch> dbQw = new QueryWrapper<>();
@ -394,7 +394,7 @@ public class DataImportNewServiceImpl implements DataImportNewService {
for (SalesforceParam salesforceParam : salesforceParams) {
Future<?> future = salesforceExecutor.execute(() -> {
try {
UpdateSfDataNew(salesforceParam, partnerConnection);
UpdateSfDataNew(salesforceParam, partnerConnection,update);
} catch (Throwable throwable) {
log.error("salesforceExecutor error", throwable);
throw new RuntimeException(throwable);
@ -438,7 +438,7 @@ public class DataImportNewServiceImpl implements DataImportNewService {
PartnerConnection partnerConnection = salesforceTargetConnect.createConnect();
for (String api : apis) {
DataObject update = new DataObject();
DataObject update = dataObjectService.getById(api);
try {
QueryWrapper<DataObject> qw = new QueryWrapper<>();
qw.eq("name", api);
@ -465,7 +465,7 @@ public class DataImportNewServiceImpl implements DataImportNewService {
for (SalesforceParam salesforceParam : salesforceParams) {
Future<?> future = salesforceExecutor.execute(() -> {
try {
UpdateSfDataNew(salesforceParam, partnerConnection);
UpdateSfDataNew(salesforceParam, partnerConnection,update);
} catch (Throwable throwable) {
log.error("salesforceExecutor error", throwable);
throw new RuntimeException(throwable);
@ -567,7 +567,7 @@ public class DataImportNewServiceImpl implements DataImportNewService {
for (SalesforceParam salesforceParam : salesforceParams) {
Future<?> future = salesforceExecutor.execute(() -> {
try {
UpdateSfDataNew(salesforceParam, partnerConnection);
UpdateSfDataNew(salesforceParam, partnerConnection,dataObject);
} catch (Throwable throwable) {
log.error("salesforceExecutor error", throwable);
throw new RuntimeException(throwable);
@ -654,7 +654,7 @@ public class DataImportNewServiceImpl implements DataImportNewService {
for (SalesforceParam salesforceParam : salesforceParams) {
Future<?> future = salesforceExecutor.execute(() -> {
try {
UpdateSfDataNew(salesforceParam, partnerConnection);
UpdateSfDataNew(salesforceParam, partnerConnection,dataObject);
} catch (Throwable throwable) {
log.error("salesforceExecutor error", throwable);
throw new RuntimeException(throwable);
@ -681,7 +681,7 @@ public class DataImportNewServiceImpl implements DataImportNewService {
/**
* 执行Update更新数据
*/
private void UpdateSfDataNew(SalesforceParam param, PartnerConnection partnerConnection) throws Exception {
private void UpdateSfDataNew(SalesforceParam param, PartnerConnection partnerConnection,DataObject dataObject) throws Exception {
Map<String, Object> infoFlag = customMapper.list("code,value","system_config","code ='"+SystemConfigCode.INFO_FLAG+"'").get(0);
String api = param.getApi();
@ -794,8 +794,10 @@ public class DataImportNewServiceImpl implements DataImportNewService {
}
}
}
account.setField("old_owner_id__c", map.get("OwnerId"));
account.setField("old_sfdc_id__c", map.get("Id"));
if (dataObject.getIsEditable()){
account.setField("old_owner_id__c", map.get("OwnerId"));
account.setField("old_sfdc_id__c", map.get("Id"));
}
accounts[j++] = account;
}