package cn.iocoder.yudao.module.cont.service;

import cn.iocoder.yudao.module.cont.entity.BaseContTemp;
import cn.iocoder.yudao.module.cont.vo.BaseContTempPageReqVO;
import cn.iocoder.yudao.module.cont.vo.BaseContTempRespVO;
import cn.iocoder.yudao.module.cont.vo.BaseContTempSaveReqVO;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.validation.Valid;

/**
 * 合同模板 Service 接口
 *
 * @author pqz
 */
public interface BaseContTempService extends IService<BaseContTemp> {


    /**
     * 保存合同模板
     *
     * @param reqVo BaseContTempSaveReqVO
     * @return void
     * @author PQZ
     * @date 17:13 2024/8/8
     **/
    void saveConTemp(BaseContTempSaveReqVO reqVo);

    /**
     * 删除合同模板
     *
     * @param id 模板id
     * @return void
     * @author PQZ
     * @date 17:16 2024/8/8
     **/
    void deleteContTemp(String id);

    /**
     * 获得合同模板
     *
     * @param id 编号
     * @return 合同模板
     */
    BaseContTemp getContTemp(String id);


    /**
     * 合同模板分页列表查询
     *
     * @param pageReqVO 请求参数
     * @param page      Page分页
     * @return com.baomidou.mybatisplus.core.metadata.IPage<cn.iocoder.yudao.module.cont.vo.BaseContTempRespVO>
     * @author PQZ
     * @date 10:39 2024/8/8
     **/
    IPage<BaseContTempRespVO> getContTempPage(BaseContTempPageReqVO pageReqVO, Page<BaseContTempRespVO> page);

}