【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()); BulkUtil.closeJob(bulkConnection, salesforceInsertJob.getId());
new File(fullPath).delete();
} catch (Exception e) { } catch (Exception e) {
log.error("manualCreatedNewId error api:{}", api, e); log.error("manualCreatedNewId error api:{}", api, e);
throw e; throw e;
@ -426,7 +428,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
BulkConnection bulkConnection = salesforceTargetConnect.createBulkConnect(); BulkConnection bulkConnection = salesforceTargetConnect.createBulkConnect();
for (String api : apis) { for (String api : apis) {
DataObject update = new DataObject(); DataObject update = dataObjectService.getById(api);
try { try {
TimeUnit.MILLISECONDS.sleep(1); TimeUnit.MILLISECONDS.sleep(1);
List<SalesforceParam> salesforceParams = null; List<SalesforceParam> salesforceParams = null;
@ -453,7 +455,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
for (SalesforceParam salesforceParam : salesforceParams) { for (SalesforceParam salesforceParam : salesforceParams) {
Future<?> future = salesforceExecutor.execute(() -> { Future<?> future = salesforceExecutor.execute(() -> {
try { try {
manualUpdateSfDataBatch(salesforceParam, bulkConnection); manualUpdateSfDataBatch(salesforceParam, bulkConnection,update);
} catch (Throwable throwable) { } catch (Throwable throwable) {
log.error("salesforceExecutor error", throwable); log.error("salesforceExecutor error", throwable);
throw new RuntimeException(throwable); throw new RuntimeException(throwable);
@ -480,7 +482,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
/** /**
* 执行数据Update * 执行数据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(); String api = param.getApi();
QueryWrapper<DataField> dbQw = new QueryWrapper<>(); 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); updateList.add(account);
} }
@ -572,6 +576,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
BulkUtil.closeJob(bulkConnection, salesforceInsertJob.getId()); BulkUtil.closeJob(bulkConnection, salesforceInsertJob.getId());
new File(fullPath).delete(); new File(fullPath).delete();
} catch (Throwable e) { } catch (Throwable e) {
log.info(e.getMessage()); log.info(e.getMessage());
throw e; throw e;

View File

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