package cn.estsh.i3plus.core.api.iservice.busi;

import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.platform.bean.SysTask;
import io.swagger.annotations.ApiOperation;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * @Description : 任务管理业务接口
 * @Reference :
 * @Author : yunhao
 * @CreateDate : 2018-12-26 21:17
 * @Modify:
 **/
public interface ISysTaskService {

    /**
     * 添加任务
     * @param sysTask
     * @return
     */
    @ApiOperation(value = "添加任务",notes = "添加任务")
    SysTask insertSysTask(SysTask sysTask);

    /**
     * 修改任务
     * @param sysTask
     * @return
     */
    @ApiOperation(value = "修改任务信息",notes = "修改任务信息")
    void updateSysTask(SysTask sysTask);

    /**
     * 查询所有任务
     * @return
     */
    @ApiOperation(value = "查询所有任务",notes = "查询所有任务")
    List<SysTask> listSysTask();

    /**
     * 根据id查询任务信息
     * @param id
     * @return
     */
    @ApiOperation(value = "根据id查询任务信息",notes = "根据id查询任务信息")
    SysTask getSysTaskById(Long id);

    /**
     * 根据id删除任务
     * @param id
     */
    @ApiOperation(value = "删除任务",notes = "根据id删除任务")
    void deleteSysTaskById(Long id);

    /**
     * 根据id批量删除任务
     * @param ids
     */
    @ApiOperation(value = "删除任务",notes = "根据id批量删除任务")
    void deleteSysTaskByIds(Long[] ids);

    /**
     * 任务管理复杂查询，分页，排序
     * @param sysTask
     * @param pager
     * @return
     */
    @ApiOperation(value = "任务管理复杂查询，分页，排序",notes = "任务管理复杂查询，分页，排序")
    ListPager<SysTask> querySysTaskByPager(SysTask sysTask, Pager pager);
}
