Compare commits
No commits in common. "2253747562c0c456b062f91b0df33f38c5ff04c0" and "1e91bbb67b975e92c66fe45ebfdc1b8d46503a07" have entirely different histories.
2253747562
...
1e91bbb67b
@ -772,16 +772,9 @@ public class CommonServiceImpl implements CommonService {
|
|||||||
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();
|
||||||
paramwhatMap.put("key", "WhatId_Type__c");
|
paramwhoMap.put("key", "WhatId_Type__c");
|
||||||
paramwhatMap.put("value", jsonObject.get("What_Type"));
|
paramwhoMap.put("value", jsonObject.get("What_Type"));
|
||||||
maps.add(paramwhatMap);
|
maps.add(paramwhoMap);
|
||||||
}
|
|
||||||
|
|
||||||
if ("TaskRelation".equals(api) || "EventRelation".equals(api)){
|
|
||||||
Map<String, Object> paramMap = Maps.newHashMap();
|
|
||||||
paramMap.put("key", "Relation_Type__c");
|
|
||||||
paramMap.put("value", jsonObject.get("Relation_Type"));
|
|
||||||
maps.add(paramMap);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//附件关联表 插入更新时给关联对象赋值
|
//附件关联表 插入更新时给关联对象赋值
|
||||||
@ -965,18 +958,6 @@ public class CommonServiceImpl implements CommonService {
|
|||||||
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);
|
||||||
|
|
||||||
// DataField dataField = new DataField();
|
|
||||||
// dataField.setApi(apiName);
|
|
||||||
// dataField.setField("WhoId_Type__c");
|
|
||||||
// dataField.setName("whoId关联对象");
|
|
||||||
// fieldList.add(dataField);
|
|
||||||
//
|
|
||||||
// DataField dataField1 = new DataField();
|
|
||||||
// dataField1.setApi(apiName);
|
|
||||||
// dataField1.setField("WhatId_Type__c");
|
|
||||||
// dataField1.setName("whatId关联对象");
|
|
||||||
// fieldList.add(dataField1);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ("TaskRelation".equals(apiName) || "EventRelation".equals(apiName)){
|
if ("TaskRelation".equals(apiName) || "EventRelation".equals(apiName)){
|
||||||
@ -985,12 +966,6 @@ public class CommonServiceImpl implements CommonService {
|
|||||||
LinkedMap.put("comment", "relationId关联对象");
|
LinkedMap.put("comment", "relationId关联对象");
|
||||||
LinkedMap.put("name", "Relation_Type__c");
|
LinkedMap.put("name", "Relation_Type__c");
|
||||||
list.add(LinkedMap);
|
list.add(LinkedMap);
|
||||||
|
|
||||||
// DataField dataField = new DataField();
|
|
||||||
// dataField.setApi(apiName);
|
|
||||||
// dataField.setField("Relation_Type__c");
|
|
||||||
// dataField.setName("relationId关联对象");
|
|
||||||
// fieldList.add(dataField);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ("ContentDocumentLink".equals(apiName)){
|
if ("ContentDocumentLink".equals(apiName)){
|
||||||
@ -1011,11 +986,11 @@ public class CommonServiceImpl implements CommonService {
|
|||||||
LinkedMap.put("name", "Parent_Type");
|
LinkedMap.put("name", "Parent_Type");
|
||||||
list.add(LinkedMap);
|
list.add(LinkedMap);
|
||||||
|
|
||||||
// DataField dataField = new DataField();
|
DataField dataField = new DataField();
|
||||||
// dataField.setApi(apiName);
|
dataField.setApi(apiName);
|
||||||
// dataField.setField("Parent.Type");
|
dataField.setField("Parent.Type");
|
||||||
// dataField.setName("关联对象");
|
dataField.setName("关联对象");
|
||||||
// fieldList.add(dataField);
|
fieldList.add(dataField);
|
||||||
}
|
}
|
||||||
|
|
||||||
customMapper.createTable(apiName, label, list, index);
|
customMapper.createTable(apiName, label, list, index);
|
||||||
|
@ -39,7 +39,6 @@ import java.io.File;
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Paths;
|
import java.nio.file.Paths;
|
||||||
import java.text.ParseException;
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.time.ZoneId;
|
import java.time.ZoneId;
|
||||||
import java.time.ZonedDateTime;
|
import java.time.ZonedDateTime;
|
||||||
@ -235,34 +234,11 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
|||||||
|| "Id".equals(dataField.getField())){
|
|| "Id".equals(dataField.getField())){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if ("CreatedDate".equals(dataField.getField()) && dataField.getIsCreateable()){
|
if (dataField.getIsCreateable() && !dataField.getIsNillable() && !dataField.getIsDefaultedOnCreate()) {
|
||||||
// 转换为UTC时间并格式化
|
|
||||||
LocalDateTime localDateTime = LocalDateTime.parse(String.valueOf(data.get(j - 1).get("CreatedDate")), inputFormatter);
|
|
||||||
ZonedDateTime utcDateTime = localDateTime.atZone(ZoneId.of("UTC")).minusHours(8) ;
|
|
||||||
String convertedTime = utcDateTime.format(outputFormatter);
|
|
||||||
account.put("CreatedDate", convertedTime);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if ("CreatedById".equals(dataField.getField()) && dataField.getIsCreateable()){
|
|
||||||
Map<String, Object> CreatedByIdMap = customMapper.getById("new_id", "User", data.get(j-1).get("CreatedById").toString());
|
|
||||||
if(CreatedByIdMap.get("new_id") != null && StringUtils.isNotEmpty(CreatedByIdMap.get("new_id").toString())){
|
|
||||||
account.put("CreatedById", CreatedByIdMap.get("new_id"));
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (dataField.getIsCreateable() !=null && dataField.getIsCreateable() && !dataField.getIsNillable() && !dataField.getIsDefaultedOnCreate()) {
|
|
||||||
if ("reference".equals(dataField.getSfType())){
|
if ("reference".equals(dataField.getSfType())){
|
||||||
String reference = dataField.getReferenceTo();
|
String reference = dataField.getReferenceTo();
|
||||||
if (StringUtils.isEmpty(reference)){
|
if (reference == null){
|
||||||
if ("ParentId".equals(dataField.getField())){
|
reference = data.get(j-1).get("Parent_Type").toString();
|
||||||
reference = data.get(j-1).get("Parent_Type").toString();
|
|
||||||
}else if ("RelationId".equals(dataField.getField())){
|
|
||||||
reference = data.get(j-1).get("Relation_Type__c").toString();
|
|
||||||
}else if ("WhatId".equals(dataField.getField())){
|
|
||||||
reference = data.get(j-1).get("WhatId_Type__c").toString();
|
|
||||||
}else if ("WhoId".equals(dataField.getField())){
|
|
||||||
reference = data.get(j-1).get("WhoId_Type__c").toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
List<Map<String, Object>> referenceMap = customMapper.list("new_id", reference, "new_id is not null limit 1");
|
List<Map<String, Object>> referenceMap = customMapper.list("new_id", reference, "new_id is not null limit 1");
|
||||||
if (referenceMap.isEmpty()){
|
if (referenceMap.isEmpty()){
|
||||||
@ -291,6 +267,19 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
|||||||
account.put(dataField.getField(), DataUtil.fieldTypeToSf(dataField));
|
account.put(dataField.getField(), DataUtil.fieldTypeToSf(dataField));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 转换为UTC时间并格式化
|
||||||
|
LocalDateTime localDateTime = LocalDateTime.parse(String.valueOf(data.get(j - 1).get("CreatedDate")), inputFormatter);
|
||||||
|
|
||||||
|
ZonedDateTime utcDateTime = localDateTime.atZone(ZoneId.of("UTC")).minusHours(8) ;
|
||||||
|
|
||||||
|
String convertedTime = utcDateTime.format(outputFormatter);
|
||||||
|
|
||||||
|
account.put("CreatedDate", convertedTime);
|
||||||
|
Map<String, Object> CreatedByIdMap = customMapper.getById("new_id", "User", data.get(j-1).get("CreatedById").toString());
|
||||||
|
if(CreatedByIdMap.get("new_id") != null && StringUtils.isNotEmpty(CreatedByIdMap.get("new_id").toString())){
|
||||||
|
account.put("CreatedById", CreatedByIdMap.get("new_id"));
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ids[j-1] = data.get(j-1).get("Id").toString();
|
ids[j-1] = data.get(j-1).get("Id").toString();
|
||||||
@ -373,7 +362,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
|||||||
index ++;
|
index ++;
|
||||||
log.info("Created Success row with id " + id);
|
log.info("Created Success row with id " + id);
|
||||||
} else if (!insertStatus) {
|
} else if (!insertStatus) {
|
||||||
log.error("Created Fail with error: " + error);
|
log.info("Created Fail with error: " + error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -637,7 +626,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
|||||||
index ++;
|
index ++;
|
||||||
log.info("Update Success row with id " + id);
|
log.info("Update Success row with id " + id);
|
||||||
} else {
|
} else {
|
||||||
log.error("Update Fail with error: " + error);
|
log.info("Update Fail with error: " + error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -767,10 +767,22 @@ public class DataImportNewServiceImpl implements DataImportNewService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (map.get(field) != null && StringUtils.isNotBlank(dataField.getSfType())) {
|
if ("WhatId_Type__c".equals(field) || "WhoId_Type__c".equals(field) || "Relation_Type__c".equals(field)){
|
||||||
account.setField(field, DataUtil.localDataToSfData(dataField.getSfType(), value));
|
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 {
|
}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));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -296,41 +296,12 @@ public class DataImportServiceImpl implements DataImportService {
|
|||||||
|| "Id".equals(dataField.getField())){
|
|| "Id".equals(dataField.getField())){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if ("CreatedDate".equals(dataField.getField()) && dataField.getIsCreateable()){
|
if (dataField.getIsCreateable() && !dataField.getIsNillable() && !dataField.getIsDefaultedOnCreate()) {
|
||||||
//object类型转Date类型
|
|
||||||
Date date;
|
|
||||||
try {
|
|
||||||
date = sdf.parse(String.valueOf(data.get(j - 1).get("CreatedDate")));
|
|
||||||
}catch (ParseException e){
|
|
||||||
//解决当时间秒为0时,转换秒精度丢失问题
|
|
||||||
date = sdf.parse(data.get(j - 1).get("CreatedDate")+":00");
|
|
||||||
}
|
|
||||||
Calendar calendar = Calendar.getInstance();
|
|
||||||
calendar.setTime(date);
|
|
||||||
account.setField("CreatedDate", calendar);
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if ("CreatedById".equals(dataField.getField()) && dataField.getIsCreateable()){
|
|
||||||
Map<String, Object> CreatedByIdMap = customMapper.getById("new_id", "User", data.get(j-1).get("CreatedById").toString());
|
|
||||||
if(CreatedByIdMap.get("new_id") != null && StringUtils.isNotEmpty(CreatedByIdMap.get("new_id").toString())){
|
|
||||||
account.setField("CreatedById", CreatedByIdMap.get("new_id"));
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (dataField.getIsCreateable() != null && dataField.getIsCreateable() && !dataField.getIsNillable() && !dataField.getIsDefaultedOnCreate()) {
|
|
||||||
if ("reference".equals(dataField.getSfType())){
|
if ("reference".equals(dataField.getSfType())){
|
||||||
log.info("----------" + dataField.getField() + " ------------" + dataField.getSfType());
|
log.info("----------" + dataField.getField() + " ------------" + dataField.getSfType());
|
||||||
String reference = dataField.getReferenceTo();
|
String reference = dataField.getReferenceTo();
|
||||||
if (StringUtils.isEmpty(reference)){
|
if (reference == null){
|
||||||
if ("ParentId".equals(dataField.getField())){
|
reference = data.get(j-1).get("Parent_Type").toString();
|
||||||
reference = data.get(j-1).get("Parent_Type").toString();
|
|
||||||
}else if ("RelationId".equals(dataField.getField())){
|
|
||||||
reference = data.get(j-1).get("Relation_Type__c").toString();
|
|
||||||
}else if ("WhatId".equals(dataField.getField())){
|
|
||||||
reference = data.get(j-1).get("WhatId_Type__c").toString();
|
|
||||||
}else if ("WhoId".equals(dataField.getField())){
|
|
||||||
reference = data.get(j-1).get("WhoId_Type__c").toString();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
List<Map<String, Object>> referenceMap = customMapper.list("new_id", reference, "new_id is not null limit 1");
|
List<Map<String, Object>> referenceMap = customMapper.list("new_id", reference, "new_id is not null limit 1");
|
||||||
if (referenceMap.isEmpty()){
|
if (referenceMap.isEmpty()){
|
||||||
@ -355,7 +326,35 @@ public class DataImportServiceImpl implements DataImportService {
|
|||||||
account.setField(dataField.getField(), DataUtil.fieldTypeToSf(dataField));
|
account.setField(dataField.getField(), DataUtil.fieldTypeToSf(dataField));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (!api.equals("Product2")){
|
||||||
|
//object类型转Date类型
|
||||||
|
Date date;
|
||||||
|
try {
|
||||||
|
date = sdf.parse(String.valueOf(data.get(j - 1).get("CreatedDate")));
|
||||||
|
}catch (ParseException e){
|
||||||
|
//解决当时间秒为0时,转换秒精度丢失问题
|
||||||
|
date = sdf.parse(data.get(j - 1).get("CreatedDate")+":00");
|
||||||
|
}
|
||||||
|
Calendar calendar = Calendar.getInstance();
|
||||||
|
calendar.setTime(date);
|
||||||
|
account.setField("CreatedDate", calendar);
|
||||||
|
Map<String, Object> CreatedByIdMap = customMapper.getById("new_id", "User", data.get(j-1).get("CreatedById").toString());
|
||||||
|
if(CreatedByIdMap.get("new_id") != null && StringUtils.isNotEmpty(CreatedByIdMap.get("new_id").toString())){
|
||||||
|
account.setField("CreatedById", CreatedByIdMap.get("new_id"));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (api.equals("Task")){
|
||||||
|
account.setField("TaskSubtype",data.get(j - 1).get("TaskSubtype"));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (api.equals("Event")){
|
||||||
|
account.setField("EventSubtype", String.valueOf(data.get(j - 1).get("EventSubtype")));
|
||||||
|
// account.setField("IsRecurrence", String.valueOf(data.get(j - 1).get("IsRecurrence")));
|
||||||
|
}
|
||||||
|
// if (api.equals("Account")){
|
||||||
|
// Map<String, Object> referenceMap = customMapper.list("new_id","RecordType", "new_id is not null and id = '"+ data.get(j - 1).get("RecordTypeId")+"' limit 1").get(0);
|
||||||
|
// account.setField("RecordTypeId", referenceMap.get("new_id") );
|
||||||
|
// }
|
||||||
if (api.equals("vlink__Wechat_User__c")){
|
if (api.equals("vlink__Wechat_User__c")){
|
||||||
List<Map<String, Object>> maps = customMapper.list("new_id", "vlink__Wechat_Account__c", "new_id is not null and id = '" + data.get(j - 1).get("vlink__Wechat_Account__c") + "' limit 1");
|
List<Map<String, Object>> maps = customMapper.list("new_id", "vlink__Wechat_Account__c", "new_id is not null and id = '" + data.get(j - 1).get("vlink__Wechat_Account__c") + "' limit 1");
|
||||||
if (!maps.isEmpty()){
|
if (!maps.isEmpty()){
|
||||||
|
Loading…
Reference in New Issue
Block a user