data-dump/src/main/java/com/celnet/datadump/job/DataDumpNewJob.java

301 lines
9.9 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.celnet.datadump.job;
import com.alibaba.fastjson.JSON;
import com.celnet.datadump.config.SalesforceConnect;
import com.celnet.datadump.entity.DataObject;
import com.celnet.datadump.param.SalesforceParam;
import com.celnet.datadump.service.CommonService;
import com.celnet.datadump.service.DataImportBatchService;
import com.celnet.datadump.service.DataImportNewService;
import com.celnet.datadump.service.DataObjectService;
import com.celnet.datadump.util.DataUtil;
import com.xxl.job.core.biz.model.ReturnT;
import com.xxl.job.core.handler.annotation.XxlJob;
import com.xxl.job.core.log.XxlJobLogger;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
/**
* 迁移任务 (新)
* 2024/06/12
* kris
*/
@Component
@Slf4j
public class DataDumpNewJob {
@Autowired
private CommonService commonService;
@Autowired
private DataImportNewService dataImportNewService;
@Autowired
private DataImportBatchService dataImportBatchService;
@Autowired
private DataObjectService dataObjectService;
/**
* bulk批量大数据生成newSFID
* @param paramStr
* @author kris
* @return
* @throws Exception
*/
@XxlJob("dataImportBatchJob")
public ReturnT<String> dataImportBatchJob(String paramStr) throws Exception {
log.info("dataImportBatchJob execute start ..................");
SalesforceParam param = new SalesforceParam();
try {
if (StringUtils.isNotBlank(paramStr)) {
param = JSON.parseObject(paramStr, SalesforceParam.class);
}
} catch (Throwable throwable) {
return new ReturnT<>(500, "参数解析失败!");
}
param.setType(1);
// 参数转换
param.setBeginCreateDate(param.getBeginDate());
param.setEndCreateDate(param.getEndDate());
return dataImportBatchService.immigrationBatch(param);
}
/**
* bulk批量大数据更新数据
* @param paramStr
* @author kris
* @return
* @throws Exception
*/
@XxlJob("dataUpdateBatchJob")
public ReturnT<String> dataUpdateBatchJob(String paramStr) throws Exception {
log.info("dataImportBatchJob execute start ..................");
SalesforceParam param = new SalesforceParam();
try {
if (StringUtils.isNotBlank(paramStr)) {
param = JSON.parseObject(paramStr, SalesforceParam.class);
}
} catch (Throwable throwable) {
return new ReturnT<>(500, "参数解析失败!");
}
// 参数转换
param.setBeginCreateDate(param.getBeginDate());
param.setEndCreateDate(param.getEndDate());
return dataImportBatchService.immigrationUpdateBatch(param);
}
/**
* 写入个人客户联系人old_id返写new_id
* @param paramStr 参数json
* @return result
*/
@XxlJob("getPersonContactJob")
public ReturnT<String> getPersonContactJob(String paramStr) throws Exception {
log.info("getPersonContactJob execute start ..................");
SalesforceParam param = new SalesforceParam();
try {
if (StringUtils.isNotBlank(paramStr)) {
param = JSON.parseObject(paramStr, SalesforceParam.class);
}
} catch (Throwable throwable) {
return new ReturnT<>(500, "参数解析失败!");
}
// 参数转换
param.setBeginCreateDate(param.getBeginDate());
param.setEndCreateDate(param.getEndDate());
return dataImportNewService.getPersonContact(param);
}
/**
* 数据更新
*/
@XxlJob("dataUpdateNewJob")
public ReturnT<String> dataUpdateNewJob(String paramStr) throws Exception {
log.info("dataUpdateNewJob execute start ..................");
SalesforceParam param = new SalesforceParam();
try {
if (StringUtils.isNotBlank(paramStr)) {
param = JSON.parseObject(paramStr, SalesforceParam.class);
}
} catch (Throwable throwable) {
return new ReturnT<>(500, "参数解析失败!");
}
param.setBeginCreateDate(param.getBeginDate());
param.setEndCreateDate(param.getEndDate());
return dataImportNewService.immigrationUpdateNew(param);
}
/**
* 拉取文件关联表
* @return result
*/
@XxlJob("dumpDocumentLinkJob")
public ReturnT<String> dumpDocumentLinkJob(String paramStr) throws Exception{
log.info("dumpDocumentLinkJob execute start ..................");
return dataImportNewService.dumpDocumentLinkJob(paramStr);
}
/**
* 推送文件关联表
* @return result
*/
@XxlJob("uploadDocumentLinkJob")
public ReturnT<String> uploadDocumentLinkJob(String paramStr) throws Exception{
log.info("uploadDocumentLinkJob execute start ..................");
return dataImportNewService.uploadDocumentLinkJob(paramStr);
}
/**
* 创建关联字段
* @return result
*/
@XxlJob("createLinkTypeFieldJob")
public ReturnT<String> createLinkTypeJob(String paramStr) throws Exception{
log.info("createLinkTypeFieldJob execute start ..................");
SalesforceParam param = new SalesforceParam();
try {
if (StringUtils.isNotBlank(paramStr)) {
param = JSON.parseObject(paramStr, SalesforceParam.class);
}
} catch (Throwable throwable) {
return new ReturnT<>(500, "参数解析失败!");
}
return commonService.createLinkTypeField(param);
}
/**
* 更新关联类型
* @return result
*/
@XxlJob("updateLinkTypeJob")
public ReturnT<String> updateLinkTypeJob(String paramStr) throws Exception{
log.info("updateLinkTypeJob execute start ..................");
SalesforceParam param = new SalesforceParam();
try {
if (StringUtils.isNotBlank(paramStr)) {
param = JSON.parseObject(paramStr, SalesforceParam.class);
}
} catch (Throwable throwable) {
return new ReturnT<>(500, "参数解析失败!");
}
return commonService.updateLinkType(param);
}
/**
* 一次性插入数据
* @param paramStr
* @author kris
* @return
* @throws Exception
*/
@XxlJob("insertSingleBatchJob")
public ReturnT<String> insertSingleBatchJob(String paramStr) throws Exception {
log.info("insertSingleBatchJob execute start ..................");
SalesforceParam param = new SalesforceParam();
try {
if (StringUtils.isNotBlank(paramStr)) {
param = JSON.parseObject(paramStr, SalesforceParam.class);
}
} catch (Throwable throwable) {
return new ReturnT<>(500, "参数解析失败!");
}
// 参数转换
param.setBeginCreateDate(param.getBeginDate());
param.setEndCreateDate(param.getEndDate());
return dataImportBatchService.insertSingleBatch(param);
}
/**
* 文件下载(新)
* @param paramStr
* @author kris
* @return
* @throws Exception
*/
@XxlJob("dumpFileNewJob")
public ReturnT<String> dumpFileNewJob(String paramStr) throws Exception {
log.info("dumpFileNewJob execute start ..................");
SalesforceParam param = new SalesforceParam();
try {
if (StringUtils.isNotBlank(paramStr)) {
param = JSON.parseObject(paramStr, SalesforceParam.class);
}
} catch (Throwable throwable) {
return new ReturnT<>(500, "参数解析失败!");
}
// 参数转换
param.setBeginCreateDate(param.getBeginDate());
param.setEndCreateDate(param.getEndDate());
return dataImportNewService.dumpFileNew(param);
}
/**
* 文件上传(新)
* @param paramStr
* @author kris
* @return
* @throws Exception
*/
@XxlJob("uploadFileNewJob")
public ReturnT<String> uploadFileNewJob(String paramStr) throws Exception {
log.info("uploadFileNewJob execute start ..................");
SalesforceParam param = new SalesforceParam();
try {
if (StringUtils.isNotBlank(paramStr)) {
param = JSON.parseObject(paramStr, SalesforceParam.class);
}
} catch (Throwable throwable) {
return new ReturnT<>(500, "参数解析失败!");
}
// 参数转换
param.setBeginCreateDate(param.getBeginDate());
param.setEndCreateDate(param.getEndDate());
for (String api : DataUtil.toIdList(param.getApi())) {
DataObject dataObject = dataObjectService.getById(api);
String blobField = dataObject.getBlobField();
if (StringUtils.isBlank(blobField)) {
log.error("api:{} does not have blob field", api);
XxlJobLogger.log("api:{} does not have blob field", api);
}
return dataImportNewService.uploadFileNew(param,dataObject);
}
return ReturnT.SUCCESS;
}
/**
* 增量任务(新)
*
* @param paramStr 参数json
* @return result
*/
@XxlJob("dataDumpIncrementNewJob")
public ReturnT<String> dataDumpIncrementNewJob(String paramStr) throws Exception {
log.info("dataDumpIncrementNewJob execute start ..................");
SalesforceParam param = new SalesforceParam();
try {
if (StringUtils.isNotBlank(paramStr)) {
param = JSON.parseObject(paramStr, SalesforceParam.class);
}
} catch (Throwable throwable) {
return new ReturnT<>(500, "参数解析失败!");
}
param.setType(2);
return commonService.incrementNew(param);
}
}