package com.codvision.base.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.codvision.base.entity.QuartzJob;
import com.codvision.webcore.bean.QueryPage;

import java.util.List;

/**
 * <p>
 * qrtz任务详情 服务类
 * </p>
 *
 * @author lingee
 * @since 2023-11-20
 */
public interface IQuartzJobService extends IService<QuartzJob> {


    /**
     * 分页查询
     *
     * @param queryPage 分页参数
     * @return 分页结果
     */
    IPage<QuartzJob> getPageResult(QueryPage<QuartzJob> queryPage);


    /**
     * 新增qrtz定时任务
     *
     * @param quartzJob 任务信息
     * @return 新增后的任务信息
     */
    QuartzJob addQuartzJob(QuartzJob quartzJob);

    /**
     * 更新quartz定时任务
     *
     * @param quartzJob 任务信息
     * @return 修改后的任务信息
     */
    QuartzJob updateJob(QuartzJob quartzJob);

    /**
     * 根据条件批量删除
     *
     * @param quartzJobs 删除条件
     */
    void batchDeleteJob(List<QuartzJob> quartzJobs);

    /**
     * 获取执行类的所有方法
     *
     * @param className 类名
     * @return 方法名
     */
    List<String> getAllMethod(String className);
}
