| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- package com.sqx.scheduler.reconciliation;
- import com.sqx.modules.reconciliation.service.PlatformBillService;
- import lombok.RequiredArgsConstructor;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.scheduling.annotation.Async;
- import org.springframework.scheduling.annotation.Scheduled;
- import org.springframework.stereotype.Component;
- import java.time.LocalDate;
- /**
- * 对账定时任务
- *
- * @author : codingliang
- * @date : 2024-09-09 12:22
- */
- @Slf4j
- @Component
- @RequiredArgsConstructor
- public class BillsScheduler {
- private final PlatformBillService platformBillService;
- /**
- * 将所有超过失效时间的优惠券改为失效状态
- * 每填0点2分30秒执行一次
- */
- // @Async
- // @Scheduled(cron = "30 2 0 * * ?", zone = "Asia/Shanghai")
- // // @Scheduled(cron = "30 * * * * ?", zone = "Asia/Shanghai")
- // public void insertPlatformBill(){
- // int errorCount = 0 ;
- // log.info("开始统计对账数据");
- // while (errorCount<3){
- // try {
- // int count =platformBillService.insertPlatformBill();
- // if(count!=0){
- // break;
- // }
- // } catch (Exception e) {
- // log.error("统计对账数据异常:{}", e.getMessage());
- // errorCount++;
- // try {
- // Thread.sleep(10000);
- // } catch (InterruptedException ex) {
- // throw new RuntimeException(ex);
- // }
- // }
- // }
- // log.info("统计对账数据结束");
- // }
- /**
- * 定时生成对账单
- * 每天的2点30分、40分、50分执行一次
- */
- @Async
- @Scheduled(cron = "0 30,40,50 2 * * ?")
- public void generatePlatformBill(){
- log.info("开始统计对账数据...");
- LocalDate date = LocalDate.now().minusDays(1);
- // 统计对账数据,不覆盖已有数据
- platformBillService.generatePlatformBill(date, false);
- log.info("对账数据统计完成...");
- }
- }
|