xyz.migoo.framework.infra.service.developer.job.JobService Maven / Gradle / Ivy
package xyz.migoo.framework.infra.service.developer.job;
import jakarta.annotation.PostConstruct;
import jakarta.validation.Valid;
import org.quartz.SchedulerException;
import xyz.migoo.framework.common.pojo.PageResult;
import xyz.migoo.framework.infra.controller.developer.job.vo.JobCreateReqVO;
import xyz.migoo.framework.infra.controller.developer.job.vo.JobPageReqVO;
import xyz.migoo.framework.infra.controller.developer.job.vo.JobUpdateReqVO;
import xyz.migoo.framework.infra.dal.dataobject.developer.job.JobDO;
import java.util.Collection;
import java.util.List;
public interface JobService {
/**
* 创建定时任务
*
* @param createReqVO 创建信息
* @return 编号
*/
Long createJob(@Valid JobCreateReqVO createReqVO) throws SchedulerException;
/**
* 更新定时任务
*
* @param updateReqVO 更新信息
*/
void updateJob(@Valid JobUpdateReqVO updateReqVO) throws SchedulerException;
/**
* 更新定时任务的状态
*
* @param id 任务编号
* @param status 状态
*/
void updateJobStatus(Long id, Integer status) throws SchedulerException;
/**
* 触发定时任务
*
* @param id 任务编号
*/
void triggerJob(Long id) throws SchedulerException;
/**
* 删除定时任务
*
* @param id 编号
*/
void deleteJob(Long id) throws SchedulerException;
/**
* 获得定时任务
*
* @param id 编号
* @return 定时任务
*/
JobDO getJob(Long id);
/**
* 获得定时任务列表
*
* @param ids 编号
* @return 定时任务列表
*/
List getJobList(Collection ids);
/**
* 获得定时任务分页
*
* @param pageReqVO 分页查询
* @return 定时任务分页
*/
PageResult getJobPage(JobPageReqVO pageReqVO);
@PostConstruct
void initialize();
}