package cn.com.qmth.scancentral.task;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;

import cn.com.qmth.scancentral.entity.ExamEntity;
import cn.com.qmth.scancentral.enums.ExamMode;
import cn.com.qmth.scancentral.service.ExamService;
import cn.com.qmth.scancentral.service.ImageCheckService;

@Service
public class ImageCheckJob {

    @Autowired
    private ExamService examService;

    @Autowired
    private ImageCheckService imageCheckService;

    @Scheduled(fixedDelay = 20 * 1000, initialDelay = 20 * 1000)
    public void process() {
        LambdaQueryWrapper<ExamEntity> wrapper = Wrappers.lambdaQuery();
        wrapper.select(ExamEntity::getId, ExamEntity::getMode);
        wrapper.eq(ExamEntity::getEnable, true);
        List<ExamEntity> exams = examService.list(wrapper);

        for (ExamEntity exam : exams) {
            if (ExamMode.CET.equals(exam.getMode())) {
                imageCheckService.check(exam.getId());
            }
        }
    }

}