【fix】 修复引用对象不存在时的ID为空异常问题
This commit is contained in:
parent
0023249086
commit
1e346e19ac
@ -5,6 +5,7 @@ import org.apache.ibatis.reflection.MetaObject;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author Red
|
||||
@ -19,11 +20,14 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
|
||||
// 起始版本 3.3.0(推荐使用)
|
||||
this.strictInsertFill(metaObject, "createdDate", LocalDateTime.class, LocalDateTime.now());
|
||||
this.strictInsertFill(metaObject, "lastModifiedDate", LocalDateTime.class, LocalDateTime.now());
|
||||
this.strictInsertFill(metaObject, "createdDate", Date.class,new Date());
|
||||
this.strictInsertFill(metaObject, "lastModifiedDate", Date.class, new Date());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateFill(MetaObject metaObject) {
|
||||
// 起始版本 3.3.0(推荐使用)
|
||||
this.strictInsertFill(metaObject, "lastModifiedDate", LocalDateTime.class, LocalDateTime.now());
|
||||
this.strictInsertFill(metaObject, "lastModifiedDate", Date.class, new Date());
|
||||
}
|
||||
}
|
||||
|
@ -357,7 +357,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
||||
continue;
|
||||
}
|
||||
if (dataField.getIsCreateable() !=null && dataField.getIsCreateable() && !dataField.getIsNillable() && !dataField.getIsDefaultedOnCreate()) {
|
||||
if ("reference".equals(dataField.getSfType())){
|
||||
if ("reference".equals(dataField.getSfType()) && data.get(j - 1).get(dataField.getField()) != null){
|
||||
//引用类型
|
||||
String reference = dataField.getReferenceTo();
|
||||
//引用类型字段
|
||||
@ -744,7 +744,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
||||
continue;
|
||||
} else if ( "WhoId".equals(field) ||"WhatId".equals(field)){
|
||||
continue;
|
||||
} else if ("reference".equals(dataField.getSfType())) {
|
||||
} else if ("reference".equals(dataField.getSfType()) && map.get(dataField.getField()) != null ) {
|
||||
|
||||
if (!"null".equals(value) && StringUtils.isNotEmpty(value)) {
|
||||
//引用类型字段
|
||||
@ -1118,7 +1118,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
||||
continue;
|
||||
}
|
||||
if (dataField.getIsCreateable() !=null && dataField.getIsCreateable()) {
|
||||
if ("reference".equals(dataField.getSfType())){
|
||||
if ("reference".equals(dataField.getSfType()) && data.get(j - 1).get(dataField.getField()) != null){
|
||||
//引用类型
|
||||
String reference_to = dataField.getReferenceTo();
|
||||
//引用类型字段
|
||||
@ -1146,7 +1146,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
||||
}
|
||||
}else {
|
||||
if (data.get(j - 1).get(dataField.getField()) != null && StringUtils.isNotBlank(dataField.getSfType())) {
|
||||
account.put(dataField.getField(), DataUtil.localDataToSfData(dataField.getSfType(), data.get(j - 1).get(dataField.getField()).toString()));
|
||||
account.put(dataField.getField(), DataUtil.localBulkDataToSfData(dataField.getSfType(), data.get(j - 1).get(dataField.getField()).toString()));
|
||||
}else {
|
||||
account.put(dataField.getField(), data.get(j - 1).get(dataField.getField()) );
|
||||
}
|
||||
|
@ -773,7 +773,7 @@ public class DataImportNewServiceImpl implements DataImportNewService {
|
||||
account.setId(String.valueOf(map.get("new_id")));
|
||||
} else if (!DataUtil.isUpdate(field) || (dataField.getIsCreateable() != null && !dataField.getIsCreateable())) {
|
||||
continue;
|
||||
} else if ("reference".equals(dataField.getSfType())) {
|
||||
} else if ("reference".equals(dataField.getSfType()) && map.get(dataField.getField()) != null) {
|
||||
|
||||
if (!"null".equals(value) && StringUtils.isNotEmpty(value)) {
|
||||
//引用类型字段
|
||||
|
@ -266,7 +266,6 @@ public class DataImportServiceImpl implements DataImportService {
|
||||
Date endDate = param.getEndCreateDate();
|
||||
String beginDateStr = DateUtil.format(beginDate, "yyyy-MM-dd HH:mm:ss");
|
||||
String endDateStr = DateUtil.format(endDate, "yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
//表内数据总量
|
||||
Integer count = customMapper.countBySQL(api, "where new_id is null and CreatedDate >= '" + beginDateStr + "' and CreatedDate < '" + endDateStr + "'");
|
||||
log.error("总Insert数据 count:{};-开始时间:{};-结束时间:{};-api:{};", count, beginDateStr, endDateStr, api);
|
||||
@ -331,7 +330,8 @@ public class DataImportServiceImpl implements DataImportService {
|
||||
continue;
|
||||
}
|
||||
if (dataField.getIsCreateable() != null && dataField.getIsCreateable() && !dataField.getIsNillable() && !dataField.getIsDefaultedOnCreate()) {
|
||||
if ("reference".equals(dataField.getSfType())){
|
||||
|
||||
if ("reference".equals(dataField.getSfType()) && data.get(j - 1).get(dataField.getField()) != null){
|
||||
//引用类型
|
||||
String reference = dataField.getReferenceTo();
|
||||
//引用类型字段
|
||||
@ -344,7 +344,7 @@ public class DataImportServiceImpl implements DataImportService {
|
||||
if (reference == null){
|
||||
continue;
|
||||
}
|
||||
log.info("----------" + dataField.getField() + "的引用类型 ------------" + reference);
|
||||
// log.info("----------" + dataField.getField() + "的引用类型 ------------" + reference);
|
||||
|
||||
List<Map<String, Object>> referenceMap = customMapper.list("new_id", reference, "new_id is not null limit 1");
|
||||
if (referenceMap.isEmpty()){
|
||||
|
Loading…
Reference in New Issue
Block a user