ReportPrepareTask.java
1.06 KB
package cn.fw.valhalla.controller.task;
import cn.fw.valhalla.common.utils.DateUtil;
import cn.fw.valhalla.common.utils.ThreadPoolUtil;
import cn.fw.valhalla.service.bus.CustomerRetentionRatioBizService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.concurrent.CompletableFuture;
/**
* @author : kurisu
* @className : ReportPrepareTask
* @description : 报表准备任务
* @date: 2020-11-24 15:52
*/
@RequiredArgsConstructor
@Component
@Slf4j
public class ReportPrepareTask {
private final CustomerRetentionRatioBizService retentionRatioBizService;
@Scheduled(cron = "0 0 0 ? * * ")
@Transactional(rollbackFor = Exception.class)
public void extractingData() {
CompletableFuture.runAsync(() -> retentionRatioBizService.extracting(DateUtil.startDate(new Date())), ThreadPoolUtil.getInstance().getExecutor());
}
}