package com.qqchen.deploy.backend.schedule.repository;

import com.qqchen.deploy.backend.framework.repository.IBaseRepository;
import com.qqchen.deploy.backend.schedule.entity.ScheduleJob;
import com.qqchen.deploy.backend.schedule.enums.ScheduleJobStatusEnum;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 定时任务Repository
 * 
 * @author qichen
 */
@Repository
public interface IScheduleJobRepository extends IBaseRepository<ScheduleJob, Long> {

    /**
     * 检查任务名称是否存在
     */
    boolean existsByJobNameAndDeletedFalse(String jobName);

    /**
     * 统计分类下的任务数量
     */
    Long countByCategoryIdAndDeletedFalse(Long categoryId);

    /**
     * 根据状态查找启用的任务
     */
    List<ScheduleJob> findByStatusAndDeletedFalse(ScheduleJobStatusEnum status);

    /**
     * 统计指定状态的任务数量
     */
    Long countByStatusAndDeletedFalse(ScheduleJobStatusEnum status);
}
