package cn.ey.biz.module.system.service.engagement.task;

import cn.ey.biz.common.pojo.PageResult;
import cn.ey.biz.module.system.controller.engagement.task.vo.*;
import cn.ey.biz.module.system.dal.dataobject.engagement.task.SystemEngagementTaskRuleDO;

import java.util.List;

/**
 * 任务生成规则 Service 接口
 */
public interface EngagementTaskRuleService {

    /**
     * 创建任务规则
     *
     * @param reqVO 任务规则信息
     * @return 任务规则编号
     */
    List<Long> createTaskRule(EngagementTaskRuleCreateReqVO reqVO);

    /**
     * 创建任务规则
     *
     * @param reqVO 任务规则信息
     * @return 任务规则编号
     */
    void updateTaskRule(EngagementTaskRuleReqVO reqVO);

    void deleteTaskRule(List<Long> ids);

    EngagementTaskRuleRespVO getTaskRule(Long id);


    /**
     * 获得任务规则分页列表
     *
     * @param reqVO 分页请求
     * @return 任务规则分页列表
     */
    PageResult<EngagementTaskRuleRespVO> getTaskRulePage(EngagementTaskRuleInfoReqVO reqVO);

    List<SystemEngagementTaskRuleDO> getTaskRuleSimpleList();

}
