package com.xy.xyaicpzs.task;

import com.xy.xyaicpzs.service.DltDataAnalysisService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 大乐透预测结果处理定时任务
 */
@Slf4j
@Component
public class DltPredictResultTask {

    @Autowired
    private DltDataAnalysisService dltDataAnalysisService;

    /**
     * 每10分钟执行一次大乐透预测结果匹配
     * cron表达式：秒 分 时 日 月 周
     * 0 0/10 * * * ? 表示每10分钟执行一次
     * 注释掉@Scheduled注解，因为PredictResultTask已经统一处理双色球和大乐透
     */
    // @Scheduled(cron = "0 0/10 * * * ?")
    public void processPendingDltPredictions() {
        try {
            log.info("=== 开始执行大乐透预测结果匹配定时任务 ===");
            
            long startTime = System.currentTimeMillis();
            
            // 调用服务处理大乐透待开奖记录
            int processedCount = dltDataAnalysisService.processPendingDltPredictions();
            
            long endTime = System.currentTimeMillis();
            long duration = endTime - startTime;
            
            log.info("=== 大乐透预测结果匹配定时任务执行完成 === 处理记录数：{}，耗时：{}ms", processedCount, duration);
            
        } catch (Exception e) {
            log.error("大乐透预测结果匹配定时任务执行失败：{}", e.getMessage(), e);
        }
    }
}
