data-dump/src/main/java/com/celnet/datadump/controller/JobController.java

189 lines
5.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.controller;
import com.celnet.datadump.entity.DataObject;
import com.celnet.datadump.global.Result;
import com.celnet.datadump.param.*;
import com.celnet.datadump.service.*;
import com.celnet.datadump.util.DataUtil;
import com.xxl.job.core.biz.model.ReturnT;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author Red
* @description
* @date 2023/03/09
*/
@RestController
@Api(value = "job", tags = "执行任务")
@RequestMapping("/job")
@Slf4j
public class JobController {
@Autowired
private DataVerifyService dataVerifyService;
@Autowired
private FileService fileService;
@Autowired
private DataObjectService dataObjectService;
@Autowired
private CommonService commonService;
@Autowired
private DataCheckDeletedService dataCheckDeletedService;
@PostMapping("/fileTransform")
@ApiOperation("附件解析")
public Result transform(@RequestBody FileTransformParam param ) {
ReturnT<String> returnT = fileService.transform(param);
if (returnT.getCode() == ReturnT.SUCCESS_CODE) {
return Result.success();
} else {
return Result.fail(returnT.getMsg());
}
}
@PostMapping("/dumpFile")
@ApiOperation("附件迁移")
public Result dumpFile(@RequestBody DumpFileParam param ) {
if (StringUtils.isBlank(param.getApi())) {
return Result.fail("api参数缺失");
}
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);
}
fileService.dumpFile(api, blobField, param.getSingleThread());
}
return Result.success();
}
@PostMapping("/dumpFileVerify")
@ApiOperation("附件校验")
public Result dumpFileVerify(@RequestBody DumpFileParam param ) {
if (StringUtils.isBlank(param.getApi())) {
return Result.fail("api参数缺失");
}
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);
}
fileService.verifyFile(api, blobField);
}
return Result.success();
}
/**
* 数据校验
*
* @param param 参数
* @return result
*/
@PostMapping("/dataVerify")
@ApiOperation("数据校验")
public Result dataVerifyJob(@RequestBody DataVerifyParam param) throws Exception {
if (param.getType() == null) {
return Result.fail("参数缺失!");
}
ReturnT<String> returnT = dataVerifyService.verify(param);
if (returnT.getCode() == ReturnT.SUCCESS_CODE) {
return Result.success();
} else {
return Result.fail(returnT.getMsg());
}
}
/**
* 创建表结构
*
* @param param 参数
* @return result
*/
@PostMapping("/createApi")
@ApiOperation("创建表结构")
public Result createApi(@RequestBody SalesforceParam param) throws Exception {
if (param.getType() == null) {
return Result.fail("参数缺失!");
}
ReturnT<String> returnT = commonService.createApi(param);
if (returnT.getCode() == ReturnT.SUCCESS_CODE) {
return Result.success();
} else {
return Result.fail(returnT.getMsg());
}
}
/**
* 存量任务
*
* @param param 参数
* @return result
*/
@PostMapping("/dataDumpManual")
@ApiOperation("存量任务")
public Result dataDumpManual(@RequestBody SalesforceParam param) throws Exception {
if (param.getType() == null) {
return Result.fail("参数缺失!");
}
param.setType(1);
// 参数转换
param.setBeginCreateDate(param.getBeginDate());
param.setEndCreateDate(param.getEndDate());
ReturnT<String> returnT = commonService.dump(param);
if (returnT.getCode() == ReturnT.SUCCESS_CODE) {
return Result.success();
} else {
return Result.fail(returnT.getMsg());
}
}
/**
* 增量任务
*
* @param param 参数
* @return result
*/
@PostMapping("/dataDumpIncrement")
@ApiOperation("增量任务")
public Result dataDumpIncrement(@RequestBody SalesforceParam param) throws Exception {
if (param.getType() == null) {
return Result.fail("参数缺失!");
}
param.setType(2);
ReturnT<String> returnT = commonService.increment(param);
if (returnT.getCode() == ReturnT.SUCCESS_CODE) {
return Result.success();
} else {
return Result.fail(returnT.getMsg());
}
}
/**
* 检测删除数据
*
* @param param 参数
* @return result
*/
@PostMapping("/dataCheckDeleted")
@ApiOperation("检测删除数据")
public Result dataCheckDeleted(@RequestBody DataCheckDeletedParam param) throws Throwable {
ReturnT<String> returnT = dataCheckDeletedService.checkDeletedData(param);
if (returnT.getCode() == ReturnT.SUCCESS_CODE) {
return Result.success();
} else {
return Result.fail(returnT.getMsg());
}
}
}