|
|
|
package com.example.upsecuritydata.task;
|
|
|
|
|
|
|
|
import cn.hutool.core.date.DateUtil;
|
|
|
|
import com.example.upsecuritydata.service.Method;
|
|
|
|
import com.example.upsecuritydata.service.NbmsEntApplyServcie;
|
|
|
|
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.stereotype.Component;
|
|
|
|
import org.springframework.util.StopWatch;
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
import java.util.Date;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 三、 标识解析企业主体信息上报
|
|
|
|
*
|
|
|
|
* @author laifeng
|
|
|
|
* @since 2022/11/29
|
|
|
|
*/
|
|
|
|
@Component
|
|
|
|
@AllArgsConstructor
|
|
|
|
//@EnableScheduling
|
|
|
|
public class IdentificationUpTask {
|
|
|
|
private final NbmsEntApplyServcie nbmsEntApplyServcie;
|
|
|
|
private final Method method;
|
|
|
|
|
|
|
|
// @Scheduled(cron = "0/20 * * * * ? ")
|
|
|
|
@XxlJob("demoJobTest")
|
|
|
|
// @Scheduled(cron = "0 0/1 * * * ?")
|
|
|
|
public void refreshAliDeviceStatus() {
|
|
|
|
StopWatch stopWatch = new StopWatch("task");
|
|
|
|
stopWatch.start();
|
|
|
|
// 标识解析企业主体信息上报检测新增并上传
|
|
|
|
threePackMethod(0);
|
|
|
|
// 标识解析企业主体信息上报检测更新并上传
|
|
|
|
threePackMethod(1);
|
|
|
|
|
|
|
|
fourPackMethod(0);
|
|
|
|
fourPackMethod(1);
|
|
|
|
|
|
|
|
fivePackMethod(0);
|
|
|
|
fivePackMethod(1);
|
|
|
|
|
|
|
|
String yesterday = DateUtil.format(DateUtil.yesterday(), "yyyyMMdd");
|
|
|
|
// 注册数据上报
|
|
|
|
try {
|
|
|
|
method.creatSixUpFileAndUp(yesterday);
|
|
|
|
} catch (Exception e) {
|
|
|
|
throw new RuntimeException(e);
|
|
|
|
}
|
|
|
|
// 解析数据上报
|
|
|
|
try {
|
|
|
|
method.creatSevenUpFileAndUp(yesterday);
|
|
|
|
} catch (Exception e) {
|
|
|
|
throw new RuntimeException(e);
|
|
|
|
}
|
|
|
|
// 删除上传生成的文件
|
|
|
|
method.deletUpFile(Constant.localPackage);
|
|
|
|
|
|
|
|
stopWatch.stop();
|
|
|
|
double seconds = stopWatch.getTotalTimeSeconds();
|
|
|
|
XxlJobHelper.log("XXL-JOB, 上传日志成功! 共花费:" + seconds);
|
|
|
|
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 = "ZLXT-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 = "ZLXT-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 = "ZLXT-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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|