From 1ebbd67a73fa0e006692aa1e589b0195750bf9fd Mon Sep 17 00:00:00 2001 From: Kris <2893855659@qq.com> Date: Fri, 4 Jul 2025 11:01:03 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90feat=E3=80=91=E5=A2=9E=E5=AF=B9TaskRel?= =?UTF-8?q?ation=E5=92=8CEventRelation=E3=80=82=E6=96=B0=E5=A2=9E=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CommonServiceImpl.java | 17 +++++++++---- .../impl/DataImportNewServiceImpl.java | 24 +++++++------------ 2 files changed, 20 insertions(+), 21 deletions(-) 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 832c1ae..1f6b7b7 100644 --- a/src/main/java/com/celnet/datadump/service/impl/CommonServiceImpl.java +++ b/src/main/java/com/celnet/datadump/service/impl/CommonServiceImpl.java @@ -586,6 +586,9 @@ public class CommonServiceImpl implements CommonService { fields.add("Who.type"); fields.add("What.type"); } + if ("TaskRelation".equals(api) || "EventRelation".equals(api)) { + fields.add("Relation.type"); + } DataObject dataObject = dataObjectService.getById(api); if (dataObject != null && StringUtils.isNotBlank(dataObject.getExtraField())) { fields.addAll(Arrays.asList(StringUtils.split(dataObject.getExtraField().replaceAll(StringUtils.SPACE, StringUtils.EMPTY), ","))); @@ -817,6 +820,7 @@ public class CommonServiceImpl implements CommonService { log.info("check api:{}", apiName); try { boolean hasCreatedDate = false; + PartnerConnection connection = salesforceConnect.createConnect(); DataObject dataObject = dataObjectService.getById(apiName); Date now = new Date(); @@ -826,8 +830,6 @@ public class CommonServiceImpl implements CommonService { List> list = Lists.newArrayList(); DescribeSObjectResult dsr = connection.describeSObject(apiName); String label = dsr.getLabel(); - boolean isCustomObject = dsr.isCustom(); // 自定义对象才支持新增字段 - boolean isUpdateable = dsr.isUpdateable(); // 对象本身是否可修改 List fieldList = Lists.newArrayList(); List fields = Lists.newArrayList(); String blobField = null; @@ -951,6 +953,14 @@ public class CommonServiceImpl implements CommonService { list.add(LinkedMap1); } + if ("TaskRelation".equals(apiName) || "EventRelation".equals(apiName)){ + Map LinkedMap = Maps.newHashMap(); + LinkedMap.put("type", "varchar(18)"); + LinkedMap.put("comment", "relationId关联对象"); + LinkedMap.put("name", "Relation_Type__c"); + list.add(LinkedMap); + } + if ("ContentDocumentLink".equals(apiName)){ //文档关联表新增关联对象字段 Map LinkedMap = Maps.newHashMap(); @@ -1025,9 +1035,6 @@ public class CommonServiceImpl implements CommonService { update.setName(apiName); update.setLastUpdateDate(endCreateDate); update.setBlobField(blobField); - if(!isCustomObject && !isUpdateable){ - update.setIsEditable(false); - } dataObjectService.saveOrUpdate(update); } } finally { 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 576161d..c41c6ca 100644 --- a/src/main/java/com/celnet/datadump/service/impl/DataImportNewServiceImpl.java +++ b/src/main/java/com/celnet/datadump/service/impl/DataImportNewServiceImpl.java @@ -767,23 +767,15 @@ public class DataImportNewServiceImpl implements DataImportNewService { } } } else { - if (api.equals("Task") || api.equals("Event")) { - if ("WhatId_Type__c".equals(field) || "WhoId_Type__c".equals(field)){ - Map m = customMapper.getById("new_id", String.valueOf(map.get(field)), value); - if (m != null && !m.isEmpty()) { - account.setField(field, m.get("new_id")); - }else { - String message = "对象类型:" + api + "的数据:"+ map.get("Id") +"的引用对象:" + dataField.getReferenceTo() + "的数据:"+ map.get(field) +"不存在!"; - EmailUtil.send("DataDump ERROR", message); - log.info(message); - return; - } + if ("WhatId_Type__c".equals(field) || "WhoId_Type__c".equals(field) || "Relation_Type__c".equals(field)){ + Map m = customMapper.getById("new_id", String.valueOf(map.get(field)), value); + if (m != null && !m.isEmpty()) { + account.setField(field, m.get("new_id")); }else { - if (map.get(field) != null && StringUtils.isNotBlank(dataField.getSfType())) { - account.setField(field, DataUtil.localDataToSfData(dataField.getSfType(), value)); - }else { - account.setField(field, map.get(field)); - } + String message = "对象类型:" + api + "的数据:"+ map.get("Id") +"的引用对象:" + dataField.getReferenceTo() + "的数据:"+ map.get(field) +"不存在!"; + EmailUtil.send("DataDump ERROR", message); + log.info(message); + return; } }else { if (map.get(field) != null && StringUtils.isNotBlank(dataField.getSfType())) {