package com.aiotagro.cattletrade.job;

import com.aiotagro.cattletrade.business.service.ISalesOverviewService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

/**
 * 销售概览计算定时任务
 * 每天凌晨1点执行一次
 *
 * @author System
 * @date 2025-01-20
 */
@Component
public class SalesOverviewCalculateJob {

    private static final Logger logger = LoggerFactory.getLogger(SalesOverviewCalculateJob.class);

    @Autowired
    private ISalesOverviewService salesOverviewService;

    /**
     * 每天凌晨1点执行一次
     * cron表达式：秒 分 时 日 月 周
     */
    @Scheduled(cron = "0 0 1 * * ?")
    public void calculateSalesOverview() {
        try {
            logger.info("========== 开始执行销售概览计算定时任务 ==========");
            salesOverviewService.calculateStatistics();
            logger.info("========== 销售概览计算定时任务执行完成 ==========");
        } catch (Exception e) {
            logger.error("销售概览计算定时任务执行失败", e);
        }
    }
}

