【feat】不能写入Createdate,createdbyId字段的标准对象Insert时不写入
This commit is contained in:
parent
27eb434539
commit
2253747562
@ -39,6 +39,7 @@ 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;
|
||||||
@ -234,6 +235,21 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
|||||||
|| "Id".equals(dataField.getField())){
|
|| "Id".equals(dataField.getField())){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if ("CreatedDate".equals(dataField.getField()) && dataField.getIsCreateable()){
|
||||||
|
// 转换为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 (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();
|
||||||
@ -275,19 +291,6 @@ 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();
|
||||||
|
@ -296,6 +296,27 @@ public class DataImportServiceImpl implements DataImportService {
|
|||||||
|| "Id".equals(dataField.getField())){
|
|| "Id".equals(dataField.getField())){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if ("CreatedDate".equals(dataField.getField()) && dataField.getIsCreateable()){
|
||||||
|
//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 (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());
|
||||||
@ -334,21 +355,6 @@ public class DataImportServiceImpl implements DataImportService {
|
|||||||
account.setField(dataField.getField(), DataUtil.fieldTypeToSf(dataField));
|
account.setField(dataField.getField(), DataUtil.fieldTypeToSf(dataField));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//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("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");
|
||||||
|
Loading…
Reference in New Issue
Block a user