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.
235 lines
7.3 KiB
235 lines
7.3 KiB
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); |
|
} |
|
} |
|
}
|
|
|