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

import cn.ey.biz.common.pojo.PageResult;
import cn.ey.biz.module.system.controller.engagement.code.vo.EngagementCodeRuleEntityVO;
import cn.ey.biz.module.system.controller.engagement.code.vo.EngagementCodeRuleRecordRespVO;
import cn.ey.biz.module.system.controller.engagement.code.vo.EngagementCodeRuleReq;
import cn.ey.biz.module.system.controller.engagement.code.vo.EngagementCodeRuleRespVO;
import cn.ey.biz.module.system.dal.dataobject.engagement.code.SystemEngagementCodeRuleDO;

import java.util.List;

/**
 * Code规则 Service 接口
 */
public interface EngagementCodeRuleService {

    /**
     * 创建任务规则
     *
     * @param list 任务规则信息
     * @return 任务规则编号
     */
    List<Long> createCodeRule(List<EngagementCodeRuleReq> list);

    void deleteCodeRule(List<Long> ids);

    EngagementCodeRuleRespVO getCodeRule(Long id);

    /**
     * 获得Code规则分页列表
     *
     * @param reqVO 分页请求
     * @return Code规则分页列表
     */
    PageResult<EngagementCodeRuleRespVO> getCodeRulePage(EngagementCodeRuleEntityVO reqVO);

    List<SystemEngagementCodeRuleDO> getCodeRuleSimpleList();

    EngagementCodeRuleRecordRespVO getOperationRecord();
}
