You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
211 lines
6.4 KiB
211 lines
6.4 KiB
2 years ago
|
package com.example.upsecuritydata.task;
|
||
|
|
||
|
import cn.hutool.core.date.DateUtil;
|
||
|
import com.example.upsecuritydata.service.Method;
|
||
|
import com.example.upsecuritydata.util.Constant;
|
||
|
import com.xxl.job.core.context.XxlJobHelper;
|
||
|
import com.xxl.job.core.handler.annotation.XxlJob;
|
||
|
import lombok.AllArgsConstructor;
|
||
|
import org.springframework.scheduling.annotation.EnableScheduling;
|
||
|
import org.springframework.scheduling.annotation.Scheduled;
|
||
|
import org.springframework.stereotype.Component;
|
||
|
import org.springframework.util.StopWatch;
|
||
|
|
||
|
import java.io.IOException;
|
||
|
import java.util.Date;
|
||
|
|
||
|
/**
|
||
|
* @author laifeng
|
||
|
* @since 2022/12/1
|
||
|
*/
|
||
|
@Component
|
||
|
@AllArgsConstructor
|
||
|
@EnableScheduling
|
||
|
public class TestTask {
|
||
|
private final Method method;
|
||
|
|
||
|
|
||
|
// @Scheduled(cron = "0 0/1 * * * ?")
|
||
|
@XxlJob("upSecurityDataTest")
|
||
|
public void refreshAliDeviceStatus() throws Exception {
|
||
|
StopWatch stopWatch = new StopWatch("task");
|
||
|
stopWatch.start();
|
||
|
threePackMethod(2);
|
||
|
fourPackMethod(2);
|
||
|
fivePackMethod(2);
|
||
|
|
||
|
stopWatch.stop();
|
||
|
double seconds = stopWatch.getTotalTimeSeconds();
|
||
|
|
||
|
System.out.println("XXL-JOB, 上传日志成功! 共花费:" + seconds);
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 三、 标识解析企业主体信息上报
|
||
|
*
|
||
|
* @param type 0 新增 1 更新
|
||
|
*/
|
||
|
private void threePackMethod(Integer type) {
|
||
|
// 时间格式化
|
||
|
Date date = DateUtil.yesterday();
|
||
|
String yyyyMMdd = DateUtil.format(date, "yyyyMMdd");
|
||
|
String yyyyMMddToday = DateUtil.format(DateUtil.date(), "yyyyMMdd");
|
||
|
Boolean temp = false;
|
||
|
|
||
|
try {
|
||
|
temp = method.creatIdentificationUpFile(type, yyyyMMdd, yyyyMMddToday);
|
||
|
} catch (IOException e) {
|
||
|
throw new RuntimeException(e);
|
||
|
}
|
||
|
// 如果没有生成文件,可直接结束
|
||
|
if (!temp) {
|
||
|
String logName = "";
|
||
|
if (type == 0) {
|
||
|
logName = "新增";
|
||
|
} else if (type == 1) {
|
||
|
logName = "更新";
|
||
|
} else {
|
||
|
logName = "全量";
|
||
|
}
|
||
|
XxlJobHelper.log("表1:昨日无" + logName + "数据日志!");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
|
||
|
String fileName = Constant.localNotEncryFileNamePath;
|
||
|
// 要上传的目录
|
||
|
String upSrc = "/001/" + yyyyMMdd;
|
||
|
// 表名(文件名的一部分)
|
||
|
String tableName = Constant.companyName + "-basic_identification-";
|
||
|
String operationName = "";
|
||
|
if (type == 0) {
|
||
|
// 操作类型为新增
|
||
|
operationName = "-add.bin";
|
||
|
} else if (type == 1) {
|
||
|
// 操作类型为更新
|
||
|
operationName = "-update.bin";
|
||
|
} else {
|
||
|
// 操作类型为全量上传
|
||
|
operationName = "-all.bin";
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
method.upMethod(fileName, upSrc, tableName, operationName);
|
||
|
} catch (Exception e) {
|
||
|
throw new RuntimeException(e);
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 四、 标识解析企业主体信息上报
|
||
|
*
|
||
|
* @param type 0 新增 1 更新
|
||
|
*/
|
||
|
private void fourPackMethod(Integer type) {
|
||
|
// 时间格式化
|
||
|
Date date = DateUtil.yesterday();
|
||
|
String yyyyMMdd = DateUtil.format(date, "yyyyMMdd");
|
||
|
String yyyyMMddToday = DateUtil.format(DateUtil.date(), "yyyyMMdd");
|
||
|
Boolean temp = false;
|
||
|
|
||
|
try {
|
||
|
temp = method.creatForUpFile(type, yyyyMMdd, yyyyMMddToday);
|
||
|
} catch (IOException e) {
|
||
|
throw new RuntimeException(e);
|
||
|
}
|
||
|
// 如果没有生成文件,可直接结束
|
||
|
if (!temp) {
|
||
|
String logName = "";
|
||
|
if (type == 0) {
|
||
|
logName = "新增";
|
||
|
} else if (type == 1) {
|
||
|
logName = "更新";
|
||
|
} else {
|
||
|
logName = "全量";
|
||
|
}
|
||
|
XxlJobHelper.log("表2:昨日无" + logName + "数据日志!");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
String fileName = Constant.localNotEncryFileNamePath;
|
||
|
// 要上传的目录
|
||
|
String upSrc = "/002/" + yyyyMMdd;
|
||
|
// 表名(文件名的一部分)
|
||
|
String tableName = Constant.companyName + "-basic_identification_ip-";
|
||
|
String operationName = "";
|
||
|
if (type == 0) {
|
||
|
// 操作类型为新增
|
||
|
operationName = "-add.bin";
|
||
|
}
|
||
|
if (type == 1) {
|
||
|
// 操作类型为更新
|
||
|
operationName = "-update.bin";
|
||
|
} else if (type == 2) {
|
||
|
// 操作类型为全量
|
||
|
operationName = "-all.bin";
|
||
|
}
|
||
|
try {
|
||
|
method.upMethod(fileName, upSrc, tableName, operationName);
|
||
|
} catch (Exception e) {
|
||
|
throw new RuntimeException(e);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 五、 标识注册企业主体信息上报
|
||
|
*
|
||
|
* @param type
|
||
|
*/
|
||
|
private void fivePackMethod(Integer type) {
|
||
|
// 时间格式化
|
||
|
Date date = DateUtil.yesterday();
|
||
|
String yyyyMMdd = DateUtil.format(date, "yyyyMMdd");
|
||
|
String yyyyMMddToday = DateUtil.format(DateUtil.date(), "yyyyMMdd");
|
||
|
Boolean temp = false;
|
||
|
|
||
|
try {
|
||
|
temp = method.creatFiveUpFile(type, yyyyMMdd, yyyyMMddToday);
|
||
|
} catch (IOException e) {
|
||
|
throw new RuntimeException(e);
|
||
|
}
|
||
|
// 如果没有生成文件,可直接结束
|
||
|
if (!temp) {
|
||
|
String logName = "";
|
||
|
if (type == 0) {
|
||
|
logName = "新增";
|
||
|
} else if (type == 1) {
|
||
|
logName = "更新";
|
||
|
} else {
|
||
|
logName = "全量";
|
||
|
}
|
||
|
XxlJobHelper.log("表3:昨日无" + logName + "数据日志!");
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
|
||
|
String fileName = Constant.localNotEncryFileNamePath;
|
||
|
// 要上传的目录
|
||
|
String upSrc = "/003/" + yyyyMMdd;
|
||
|
// 表名(文件名的一部分)
|
||
|
String tableName = Constant.companyName + "-basic_registered-";
|
||
|
String operationName = "";
|
||
|
if (type == 0) {
|
||
|
// 操作类型为新增
|
||
|
operationName = "-add.bin";
|
||
|
} else if (type == 1) {
|
||
|
// 操作类型为更新
|
||
|
operationName = "-update.bin";
|
||
|
} else {
|
||
|
// 操作类型为全量
|
||
|
operationName = "-all.bin";
|
||
|
}
|
||
|
try {
|
||
|
method.upMethod(fileName, upSrc, tableName, operationName);
|
||
|
} catch (Exception e) {
|
||
|
throw new RuntimeException(e);
|
||
|
}
|
||
|
}
|
||
|
}
|