冠县态势感知平台
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.

210 lines
6.4 KiB

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);
}
}
}