package com.celnet.datadump.job; import com.alibaba.fastjson.JSON; import com.celnet.datadump.config.SalesforceConnect; 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.xxl.job.core.biz.model.ReturnT; import com.xxl.job.core.handler.annotation.XxlJob; 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; /** * bulk批量大数据生成newSFID * @param paramStr * @author kris * @return * @throws Exception */ @XxlJob("dataImportBatchJob") public ReturnT 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 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 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 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 dumpDocumentLinkJob(String paramStr) throws Exception{ log.info("dumpDocumentLinkJob execute start .................."); return dataImportNewService.dumpDocumentLinkJob(paramStr); } /** * 推送文件关联表 * @return result */ @XxlJob("uploadDocumentLinkJob") public ReturnT uploadDocumentLinkJob(String paramStr) throws Exception{ log.info("uploadDocumentLinkJob execute start .................."); return dataImportNewService.uploadDocumentLinkJob(paramStr); } /** * 创建关联字段 * @return result */ @XxlJob("createLinkTypeFieldJob") public ReturnT 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 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 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 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); } }