【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)) {
|
if ("Attachment".equals(api) || "FeedItem".equals(api)) {
|
||||||
fields.add("Parent.type");
|
fields.add("Parent.type");
|
||||||
}
|
}
|
||||||
|
if ("Task".equals(api) || "Event".equals(api)) {
|
||||||
|
fields.add("Who.type");
|
||||||
|
fields.add("What.type");
|
||||||
|
}
|
||||||
DataObject dataObject = dataObjectService.getById(api);
|
DataObject dataObject = dataObjectService.getById(api);
|
||||||
if (dataObject != null && StringUtils.isNotBlank(dataObject.getExtraField())) {
|
if (dataObject != null && StringUtils.isNotBlank(dataObject.getExtraField())) {
|
||||||
fields.addAll(Arrays.asList(StringUtils.split(dataObject.getExtraField().replaceAll(StringUtils.SPACE, StringUtils.EMPTY), ",")));
|
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);
|
maps.add(paramMap2);
|
||||||
}
|
}
|
||||||
// Task和Event
|
// Task和Event
|
||||||
// if ("Task".equals(api) || "Event".equals(api)){
|
if ("Task".equals(api) || "Event".equals(api)){
|
||||||
// Map<String, Object> paramwhoMap = Maps.newHashMap();
|
Map<String, Object> paramwhoMap = Maps.newHashMap();
|
||||||
// paramwhoMap.put("key", "WhoId_Type__c");
|
paramwhoMap.put("key", "WhoId_Type__c");
|
||||||
// paramwhoMap.put("value", jsonObject.get("Who_Type"));
|
paramwhoMap.put("value", jsonObject.get("Who_Type"));
|
||||||
// maps.add(paramwhoMap);
|
maps.add(paramwhoMap);
|
||||||
// Map<String, Object> paramwhatMap = Maps.newHashMap();
|
Map<String, Object> paramwhatMap = Maps.newHashMap();
|
||||||
// paramwhoMap.put("key", "WhatId_Type__c");
|
paramwhoMap.put("key", "WhatId_Type__c");
|
||||||
// paramwhoMap.put("value", jsonObject.get("What_Type"));
|
paramwhoMap.put("value", jsonObject.get("What_Type"));
|
||||||
// maps.add(paramwhoMap);
|
maps.add(paramwhoMap);
|
||||||
// }
|
}
|
||||||
|
|
||||||
//附件关联表 插入更新时给关联对象赋值
|
//附件关联表 插入更新时给关联对象赋值
|
||||||
// if ("ContentDocumentLink".equals(api)) {
|
// if ("ContentDocumentLink".equals(api)) {
|
||||||
@ -934,18 +938,18 @@ public class CommonServiceImpl implements CommonService {
|
|||||||
map.put("name", "new_id");
|
map.put("name", "new_id");
|
||||||
list.add(map);
|
list.add(map);
|
||||||
|
|
||||||
// if ("Task".equals(apiName) || "Event".equals(apiName)){
|
if ("Task".equals(apiName) || "Event".equals(apiName)){
|
||||||
// Map<String, Object> LinkedMap = Maps.newHashMap();
|
Map<String, Object> LinkedMap = Maps.newHashMap();
|
||||||
// LinkedMap.put("type", "varchar(18)");
|
LinkedMap.put("type", "varchar(18)");
|
||||||
// LinkedMap.put("comment", "whatId关联对象");
|
LinkedMap.put("comment", "whatId关联对象");
|
||||||
// LinkedMap.put("name", "WhatId_Type__c");
|
LinkedMap.put("name", "WhatId_Type__c");
|
||||||
// list.add(LinkedMap);
|
list.add(LinkedMap);
|
||||||
// Map<String, Object> LinkedMap1 = Maps.newHashMap();
|
Map<String, Object> LinkedMap1 = Maps.newHashMap();
|
||||||
// LinkedMap1.put("type", "varchar(18)");
|
LinkedMap1.put("type", "varchar(18)");
|
||||||
// LinkedMap1.put("comment", "whoId关联对象");
|
LinkedMap1.put("comment", "whoId关联对象");
|
||||||
// LinkedMap1.put("name", "WhoId_Type__c");
|
LinkedMap1.put("name", "WhoId_Type__c");
|
||||||
// list.add(LinkedMap1);
|
list.add(LinkedMap1);
|
||||||
// }
|
}
|
||||||
|
|
||||||
if ("ContentDocumentLink".equals(apiName)){
|
if ("ContentDocumentLink".equals(apiName)){
|
||||||
//文档关联表新增关联对象字段
|
//文档关联表新增关联对象字段
|
||||||
|
@ -767,10 +767,30 @@ public class DataImportNewServiceImpl implements DataImportNewService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (map.get(field) != null && StringUtils.isNotBlank(dataField.getSfType())) {
|
if (api.equals("Task") || api.equals("Event")) {
|
||||||
account.setField(field, DataUtil.localDataToSfData(dataField.getSfType(), value));
|
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 {
|
}else {
|
||||||
account.setField(field, map.get(field));
|
if (map.get(field) != null && StringUtils.isNotBlank(dataField.getSfType())) {
|
||||||
|
account.setField(field, DataUtil.localDataToSfData(dataField.getSfType(), value));
|
||||||
|
}else {
|
||||||
|
account.setField(field, map.get(field));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user