From 6680beb43a7bb68f0651de3020b1e07fc58d566f Mon Sep 17 00:00:00 2001 From: Kris <2893855659@qq.com> Date: Wed, 9 Jul 2025 16:04:55 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90feat=E3=80=91=E5=A2=9E=E5=8A=A0org?= =?UTF-8?q?=E9=85=8D=E7=BD=AE=E6=A0=A1=E9=AA=8C=E4=BB=BB=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/OrgConfigController.java | 15 +++++++++++++++ .../com/celnet/datadump/job/OrgConfigJob.java | 2 +- .../service/impl/CommonServiceImpl.java | 8 ++++++-- .../impl/DataImportBatchServiceImpl.java | 13 +++++++++---- .../service/impl/DataImportNewServiceImpl.java | 10 ++++++---- .../service/impl/DataImportServiceImpl.java | 18 ++++++++++-------- .../service/impl/OrgConfigServiceImpl.java | 16 ++-------------- 7 files changed, 49 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/celnet/datadump/controller/OrgConfigController.java b/src/main/java/com/celnet/datadump/controller/OrgConfigController.java index 7e62258..de9a7e7 100644 --- a/src/main/java/com/celnet/datadump/controller/OrgConfigController.java +++ b/src/main/java/com/celnet/datadump/controller/OrgConfigController.java @@ -1,15 +1,21 @@ package com.celnet.datadump.controller; +import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.celnet.datadump.annotation.LogServiceAnnotation; +import com.celnet.datadump.constant.OperateTypeConstant; import com.celnet.datadump.entity.OrgConfig; import com.celnet.datadump.entity.SystemConfig; import com.celnet.datadump.global.Result; +import com.celnet.datadump.param.SalesforceParam; import com.celnet.datadump.service.OrgConfigService; import com.celnet.datadump.service.SystemConfigService; +import com.xxl.job.core.biz.model.ReturnT; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -53,5 +59,14 @@ public class OrgConfigController { public Result delete(@RequestBody OrgConfig orgConfig) { return Result.success(orgConfigService.removeById(orgConfig)); } + + @PostMapping("/getOrgConfigJob") + @ApiOperation("校验org配置") + @LogServiceAnnotation(operateType = OperateTypeConstant.TYPE_SELECT, remark = "数据更新同步(新)") + public ReturnT getOrgConfigJob(String paramStr) throws Exception { + orgConfigService.verifyOrgConfig(); + return ReturnT.SUCCESS; + + } } diff --git a/src/main/java/com/celnet/datadump/job/OrgConfigJob.java b/src/main/java/com/celnet/datadump/job/OrgConfigJob.java index aa2aa08..c95bfca 100644 --- a/src/main/java/com/celnet/datadump/job/OrgConfigJob.java +++ b/src/main/java/com/celnet/datadump/job/OrgConfigJob.java @@ -21,6 +21,6 @@ public class OrgConfigJob { orgConfigService.verifyOrgConfig(); - return null; + return ReturnT.SUCCESS; } } diff --git a/src/main/java/com/celnet/datadump/service/impl/CommonServiceImpl.java b/src/main/java/com/celnet/datadump/service/impl/CommonServiceImpl.java index dc70c4e..7cdd160 100644 --- a/src/main/java/com/celnet/datadump/service/impl/CommonServiceImpl.java +++ b/src/main/java/com/celnet/datadump/service/impl/CommonServiceImpl.java @@ -581,7 +581,8 @@ public class CommonServiceImpl implements CommonService { } fields.add(field.getName()); } - if ("Attachment".equals(api) || "FeedItem".equals(api)) { + if ("Attachment".equals(api) || "FeedItem".equals(api) + || "FeedComment".equals(api) || "Note".equals(api)) { fields.add("Parent.type"); } if ("Task".equals(api) || "Event".equals(api)) { @@ -897,6 +898,9 @@ public class CommonServiceImpl implements CommonService { } } dataField.setReferenceTo(join); + if ("WhoId".equals(field.getName()) || "WhatId".equals(field.getName())){ + dataField.setReferenceTo(null); + } fieldList.add(dataField); fields.add(field.getName()); } @@ -1003,7 +1007,7 @@ public class CommonServiceImpl implements CommonService { } if ("Attachment".equals(apiName) || "FeedComment".equals(apiName) - || "FeedItem".equals(apiName)){ + || "FeedItem".equals(apiName) || "Note".equals(apiName)){ //文档关联表新增关联对象字段 Map LinkedMap = Maps.newHashMap(); LinkedMap.put("type", "varchar(255)"); diff --git a/src/main/java/com/celnet/datadump/service/impl/DataImportBatchServiceImpl.java b/src/main/java/com/celnet/datadump/service/impl/DataImportBatchServiceImpl.java index acef55d..b6ff05c 100644 --- a/src/main/java/com/celnet/datadump/service/impl/DataImportBatchServiceImpl.java +++ b/src/main/java/com/celnet/datadump/service/impl/DataImportBatchServiceImpl.java @@ -255,15 +255,18 @@ public class DataImportBatchServiceImpl implements DataImportBatchService { String reference = dataField.getReferenceTo(); if (StringUtils.isEmpty(reference)){ if ("ParentId".equals(dataField.getField())){ - reference = data.get(j-1).get("Parent_Type").toString(); + reference = data.get(j-1).get("Parent_Type")!=null?data.get(j-1).get("Parent_Type").toString():null; }else if ("RelationId".equals(dataField.getField())){ - reference = data.get(j-1).get("Relation_Type__c").toString(); + reference = data.get(j-1).get("Relation_Type__c")!=null?data.get(j-1).get("Relation_Type__c").toString():null; }else if ("WhatId".equals(dataField.getField())){ - reference = data.get(j-1).get("WhatId_Type__c").toString(); + reference = data.get(j-1).get("WhatId_Type__c")!=null?data.get(j-1).get("WhatId_Type__c").toString():null; }else if ("WhoId".equals(dataField.getField())){ - reference = data.get(j-1).get("WhoId_Type__c").toString(); + reference = data.get(j-1).get("WhoId_Type__c")!=null?data.get(j-1).get("WhoId_Type__c").toString():null; } } + if (reference == null){ + continue; + } List> referenceMap = customMapper.list("new_id", reference, "new_id is not null limit 1"); if (referenceMap.isEmpty()){ QueryWrapper maxIndex = new QueryWrapper<>(); @@ -539,6 +542,8 @@ public class DataImportBatchServiceImpl implements DataImportBatchService { account.put("Id",String.valueOf(map.get("new_id"))); } else if (!DataUtil.isUpdate(field) || (dataField.getIsCreateable() != null && !dataField.getIsCreateable())) { continue; + } else if ( "WhoId".equals(field) ||"WhatId".equals(field)){ + continue; } else if (StringUtils.isNotBlank(reference_to) && !"data_picklist".equals(reference_to)) { if ( StringUtils.isNotEmpty(String.valueOf(map.get(field))) && !"OwnerId".equals(field) && !"Owner_Type".equals(field)) { diff --git a/src/main/java/com/celnet/datadump/service/impl/DataImportNewServiceImpl.java b/src/main/java/com/celnet/datadump/service/impl/DataImportNewServiceImpl.java index 1295754..36e7307 100644 --- a/src/main/java/com/celnet/datadump/service/impl/DataImportNewServiceImpl.java +++ b/src/main/java/com/celnet/datadump/service/impl/DataImportNewServiceImpl.java @@ -191,7 +191,7 @@ public class DataImportNewServiceImpl implements DataImportNewService { //表内数据总量 Integer count = customMapper.countBySQL(api, "where new_id is null and IsPersonAccount = 1 and CreatedDate >= '" + beginDateStr + "' and CreatedDate < '" + endDateStr + "'"); - log.error("总Insert数据 count:{};-开始时间:{};-结束时间:{};-api:{};", count, beginDateStr, endDateStr, api); + log.info("总Insert数据 count:{};-开始时间:{};-结束时间:{};-api:{};", count, beginDateStr, endDateStr, api); if (count == 0) { return; } @@ -717,7 +717,7 @@ public class DataImportNewServiceImpl implements DataImportNewService { } //表内数据总量 Integer count = customMapper.countBySQL(api, sql); - log.error("总Update数据 count:{};-开始时间:{};-结束时间:{};-api:{};", count, beginDateStr, endDateStr, api); + log.info("总Update数据 count:{};-开始时间:{};-结束时间:{};-api:{};", count, beginDateStr, endDateStr, api); if(count == 0){ return; @@ -748,10 +748,12 @@ public class DataImportNewServiceImpl implements DataImportNewService { account.setId(String.valueOf(map.get("new_id"))); } else if (!DataUtil.isUpdate(field) || (dataField.getIsCreateable() != null && !dataField.getIsCreateable())) { continue; + } else if ( "WhoId".equals(field) ||"WhatId".equals(field)){ + continue; } else if (StringUtils.isNotBlank(reference_to) && !"data_picklist".equals(reference_to)) { - if (!"null".equals(value) && StringUtils.isNotEmpty(value) && (!"OwnerId".equals(field) - && !"Owner_Type".equals(field))) { + if (!"null".equals(value) && StringUtils.isNotEmpty(value) && !"OwnerId".equals(field) + && !"Owner_Type".equals(field) ) { //判断reference_to内是否包含User字符串 if (reference_to.contains("User")) { reference_to = "User"; diff --git a/src/main/java/com/celnet/datadump/service/impl/DataImportServiceImpl.java b/src/main/java/com/celnet/datadump/service/impl/DataImportServiceImpl.java index 75153cf..c4dc122 100644 --- a/src/main/java/com/celnet/datadump/service/impl/DataImportServiceImpl.java +++ b/src/main/java/com/celnet/datadump/service/impl/DataImportServiceImpl.java @@ -200,6 +200,7 @@ public class DataImportServiceImpl implements DataImportService { } for (DataObject dataObject : dataObjects) { DataObject update = new DataObject(); + log.info("autoImmigration api: {}", dataObject.getName()); TimeUnit.MILLISECONDS.sleep(1); try { String api = dataObject.getName(); @@ -243,10 +244,8 @@ public class DataImportServiceImpl implements DataImportService { } catch (Throwable e) { throw new RuntimeException(e); } finally { - if (dataObject != null) { - update.setDataLock(0); - dataObjectService.updateById(update); - } + update.setDataLock(0); + dataObjectService.updateById(update); } } // 等待当前所有线程执行完成 @@ -323,15 +322,18 @@ public class DataImportServiceImpl implements DataImportService { String reference = dataField.getReferenceTo(); if (StringUtils.isEmpty(reference)){ if ("ParentId".equals(dataField.getField())){ - reference = data.get(j-1).get("Parent_Type").toString(); + reference = data.get(j-1).get("Parent_Type")!=null?data.get(j-1).get("Parent_Type").toString():null; }else if ("RelationId".equals(dataField.getField())){ - reference = data.get(j-1).get("Relation_Type__c").toString(); + reference = data.get(j-1).get("Relation_Type__c")!=null?data.get(j-1).get("Relation_Type__c").toString():null; }else if ("WhatId".equals(dataField.getField())){ - reference = data.get(j-1).get("WhatId_Type__c").toString(); + reference = data.get(j-1).get("WhatId_Type__c")!=null?data.get(j-1).get("WhatId_Type__c").toString():null; }else if ("WhoId".equals(dataField.getField())){ - reference = data.get(j-1).get("WhoId_Type__c").toString(); + reference = data.get(j-1).get("WhoId_Type__c")!=null?data.get(j-1).get("WhoId_Type__c").toString():null; } } + if (reference == null){ + continue; + } List> referenceMap = customMapper.list("new_id", reference, "new_id is not null limit 1"); if (referenceMap.isEmpty()){ QueryWrapper maxIndex = new QueryWrapper<>(); diff --git a/src/main/java/com/celnet/datadump/service/impl/OrgConfigServiceImpl.java b/src/main/java/com/celnet/datadump/service/impl/OrgConfigServiceImpl.java index 896d07f..3ae9b5d 100644 --- a/src/main/java/com/celnet/datadump/service/impl/OrgConfigServiceImpl.java +++ b/src/main/java/com/celnet/datadump/service/impl/OrgConfigServiceImpl.java @@ -67,14 +67,8 @@ public class OrgConfigServiceImpl extends ServiceImpl