【feat】新增Task与Event关于WhoId和WhatId的处理逻辑
This commit is contained in:
parent
690a6da050
commit
c05010b9ad
@ -582,6 +582,10 @@ public class CommonServiceImpl implements CommonService {
|
||||
if ("Attachment".equals(api) || "FeedItem".equals(api)) {
|
||||
fields.add("Parent.type");
|
||||
}
|
||||
if ("Task".equals(api) || "Event".equals(api)) {
|
||||
fields.add("Who.type");
|
||||
fields.add("What.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), ",")));
|
||||
@ -757,16 +761,16 @@ public class CommonServiceImpl implements CommonService {
|
||||
maps.add(paramMap2);
|
||||
}
|
||||
// Task和Event
|
||||
// if ("Task".equals(api) || "Event".equals(api)){
|
||||
// Map<String, Object> paramwhoMap = Maps.newHashMap();
|
||||
// paramwhoMap.put("key", "WhoId_Type__c");
|
||||
// paramwhoMap.put("value", jsonObject.get("Who_Type"));
|
||||
// maps.add(paramwhoMap);
|
||||
// Map<String, Object> paramwhatMap = Maps.newHashMap();
|
||||
// paramwhoMap.put("key", "WhatId_Type__c");
|
||||
// paramwhoMap.put("value", jsonObject.get("What_Type"));
|
||||
// maps.add(paramwhoMap);
|
||||
// }
|
||||
if ("Task".equals(api) || "Event".equals(api)){
|
||||
Map<String, Object> paramwhoMap = Maps.newHashMap();
|
||||
paramwhoMap.put("key", "WhoId_Type__c");
|
||||
paramwhoMap.put("value", jsonObject.get("Who_Type"));
|
||||
maps.add(paramwhoMap);
|
||||
Map<String, Object> paramwhatMap = Maps.newHashMap();
|
||||
paramwhoMap.put("key", "WhatId_Type__c");
|
||||
paramwhoMap.put("value", jsonObject.get("What_Type"));
|
||||
maps.add(paramwhoMap);
|
||||
}
|
||||
|
||||
//附件关联表 插入更新时给关联对象赋值
|
||||
// if ("ContentDocumentLink".equals(api)) {
|
||||
@ -934,18 +938,18 @@ public class CommonServiceImpl implements CommonService {
|
||||
map.put("name", "new_id");
|
||||
list.add(map);
|
||||
|
||||
// if ("Task".equals(apiName) || "Event".equals(apiName)){
|
||||
// Map<String, Object> LinkedMap = Maps.newHashMap();
|
||||
// LinkedMap.put("type", "varchar(18)");
|
||||
// LinkedMap.put("comment", "whatId关联对象");
|
||||
// LinkedMap.put("name", "WhatId_Type__c");
|
||||
// list.add(LinkedMap);
|
||||
// Map<String, Object> LinkedMap1 = Maps.newHashMap();
|
||||
// LinkedMap1.put("type", "varchar(18)");
|
||||
// LinkedMap1.put("comment", "whoId关联对象");
|
||||
// LinkedMap1.put("name", "WhoId_Type__c");
|
||||
// list.add(LinkedMap1);
|
||||
// }
|
||||
if ("Task".equals(apiName) || "Event".equals(apiName)){
|
||||
Map<String, Object> LinkedMap = Maps.newHashMap();
|
||||
LinkedMap.put("type", "varchar(18)");
|
||||
LinkedMap.put("comment", "whatId关联对象");
|
||||
LinkedMap.put("name", "WhatId_Type__c");
|
||||
list.add(LinkedMap);
|
||||
Map<String, Object> LinkedMap1 = Maps.newHashMap();
|
||||
LinkedMap1.put("type", "varchar(18)");
|
||||
LinkedMap1.put("comment", "whoId关联对象");
|
||||
LinkedMap1.put("name", "WhoId_Type__c");
|
||||
list.add(LinkedMap1);
|
||||
}
|
||||
|
||||
if ("ContentDocumentLink".equals(apiName)){
|
||||
//文档关联表新增关联对象字段
|
||||
|
@ -767,12 +767,32 @@ 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<String, Object> 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;
|
||||
}
|
||||
}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));
|
||||
}
|
||||
}
|
||||
}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));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
account.setField("old_owner_id__c", map.get("OwnerId"));
|
||||
account.setField("old_sfdc_id__c", map.get("Id"));
|
||||
|
Loading…
Reference in New Issue
Block a user