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

import cn.ey.biz.common.pojo.PageParam;
import cn.ey.biz.common.pojo.PageResult;
import cn.ey.biz.module.system.api.code.dto.CodeEpDTO;
import cn.ey.biz.module.system.controller.admin.code.vo.CodeEpVO;
import cn.ey.biz.module.system.controller.admin.code.vo.HistoryVO;

public interface CodeEpService {

    /**
     * 提交新版EP规则
     *
     * @param codeEpVO EP规则
     * @return 其他规则版本信息编号
     */
    Long submitEp(CodeEpVO codeEpVO);

    /**
     * 获取历史记录信息
     *
     * @return 历史记录信息
     */
    PageResult<HistoryVO> getHistory(PageParam pageParam);

    /**
     * 获取EP规则
     *
     * @return EP规则
     */
    CodeEpDTO getCodeEpLevel(Long ver);


    CodeEpVO getCodeEpLevelForFront(Long ver);

    /**
     * 生效指定版本
     */
    void revertHistory(Long ver);
}
