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