【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 org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author Red
|
* @author Red
|
||||||
@ -19,11 +20,14 @@ public class MyMetaObjectHandler implements MetaObjectHandler {
|
|||||||
// 起始版本 3.3.0(推荐使用)
|
// 起始版本 3.3.0(推荐使用)
|
||||||
this.strictInsertFill(metaObject, "createdDate", LocalDateTime.class, LocalDateTime.now());
|
this.strictInsertFill(metaObject, "createdDate", LocalDateTime.class, LocalDateTime.now());
|
||||||
this.strictInsertFill(metaObject, "lastModifiedDate", 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
|
@Override
|
||||||
public void updateFill(MetaObject metaObject) {
|
public void updateFill(MetaObject metaObject) {
|
||||||
// 起始版本 3.3.0(推荐使用)
|
// 起始版本 3.3.0(推荐使用)
|
||||||
this.strictInsertFill(metaObject, "lastModifiedDate", LocalDateTime.class, LocalDateTime.now());
|
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;
|
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()) && data.get(j - 1).get(dataField.getField()) != null){
|
||||||
//引用类型
|
//引用类型
|
||||||
String reference = dataField.getReferenceTo();
|
String reference = dataField.getReferenceTo();
|
||||||
//引用类型字段
|
//引用类型字段
|
||||||
@ -744,7 +744,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
|||||||
continue;
|
continue;
|
||||||
} else if ( "WhoId".equals(field) ||"WhatId".equals(field)){
|
} else if ( "WhoId".equals(field) ||"WhatId".equals(field)){
|
||||||
continue;
|
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)) {
|
if (!"null".equals(value) && StringUtils.isNotEmpty(value)) {
|
||||||
//引用类型字段
|
//引用类型字段
|
||||||
@ -1118,7 +1118,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
if (dataField.getIsCreateable() !=null && dataField.getIsCreateable()) {
|
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();
|
String reference_to = dataField.getReferenceTo();
|
||||||
//引用类型字段
|
//引用类型字段
|
||||||
@ -1146,7 +1146,7 @@ public class DataImportBatchServiceImpl implements DataImportBatchService {
|
|||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
if (data.get(j - 1).get(dataField.getField()) != null && StringUtils.isNotBlank(dataField.getSfType())) {
|
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 {
|
}else {
|
||||||
account.put(dataField.getField(), data.get(j - 1).get(dataField.getField()) );
|
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")));
|
account.setId(String.valueOf(map.get("new_id")));
|
||||||
} else if (!DataUtil.isUpdate(field) || (dataField.getIsCreateable() != null && !dataField.getIsCreateable())) {
|
} else if (!DataUtil.isUpdate(field) || (dataField.getIsCreateable() != null && !dataField.getIsCreateable())) {
|
||||||
continue;
|
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)) {
|
if (!"null".equals(value) && StringUtils.isNotEmpty(value)) {
|
||||||
//引用类型字段
|
//引用类型字段
|
||||||
|
@ -266,7 +266,6 @@ public class DataImportServiceImpl implements DataImportService {
|
|||||||
Date endDate = param.getEndCreateDate();
|
Date endDate = param.getEndCreateDate();
|
||||||
String beginDateStr = DateUtil.format(beginDate, "yyyy-MM-dd HH:mm:ss");
|
String beginDateStr = DateUtil.format(beginDate, "yyyy-MM-dd HH:mm:ss");
|
||||||
String endDateStr = DateUtil.format(endDate, "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 + "'");
|
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);
|
log.error("总Insert数据 count:{};-开始时间:{};-结束时间:{};-api:{};", count, beginDateStr, endDateStr, api);
|
||||||
@ -331,7 +330,8 @@ public class DataImportServiceImpl implements DataImportService {
|
|||||||
continue;
|
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()) && data.get(j - 1).get(dataField.getField()) != null){
|
||||||
//引用类型
|
//引用类型
|
||||||
String reference = dataField.getReferenceTo();
|
String reference = dataField.getReferenceTo();
|
||||||
//引用类型字段
|
//引用类型字段
|
||||||
@ -344,7 +344,7 @@ public class DataImportServiceImpl implements DataImportService {
|
|||||||
if (reference == null){
|
if (reference == null){
|
||||||
continue;
|
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");
|
List<Map<String, Object>> referenceMap = customMapper.list("new_id", reference, "new_id is not null limit 1");
|
||||||
if (referenceMap.isEmpty()){
|
if (referenceMap.isEmpty()){
|
||||||
|
Loading…
Reference in New Issue
Block a user