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.CodeBlockingLevelDTO;
import cn.ey.biz.module.system.controller.admin.code.vo.CodeBlockingLevelVO;
import cn.ey.biz.module.system.controller.admin.code.vo.HistoryVO;

public interface CodeBlockingLevelService {

    /**
     * 提交新版BlockingLevel
     *
     * @param codeBlockingLevelVO BlockingLevel
     * @return BlockingLevel版本信息编号
     */
    Long submitBlockingLevel(CodeBlockingLevelVO codeBlockingLevelVO);

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

    /**
     * 获取BlockingLevel
     *
     * @return BlockingLevel
     */
    CodeBlockingLevelDTO getCodeBlockingLevel(Long ver);

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