package com.xindazhou.business.service.agreement;

import com.xindazhou.framework.common.pojo.PageResult;
import com.xindazhou.business.controller.admin.agreement.vo.AgreementPageReqVO;
import com.xindazhou.business.controller.admin.agreement.vo.AgreementSaveReqVO;
import com.xindazhou.business.dal.dataobject.agreement.AgreementDO;

/**
 * APP协议管理 Service 接口
 *
 * @author xindazhou
 */
public interface AgreementService {

    /**
     * 创建协议
     *
     * @param createReqVO 创建信息
     * @return 协议ID
     */
    Long createAgreement(AgreementSaveReqVO createReqVO);

    /**
     * 更新协议
     *
     * @param updateReqVO 更新信息
     */
    void updateAgreement(AgreementSaveReqVO updateReqVO);

    /**
     * 删除协议
     *
     * @param id 协议ID
     */
    void deleteAgreement(Long id);

    /**
     * 获得协议
     *
     * @param id 协议ID
     * @return 协议
     */
    AgreementDO getAgreement(Long id);

    /**
     * 获得协议分页列表
     *
     * @param reqVO 分页条件
     * @return 分页列表
     */
    PageResult<AgreementDO> getAgreementPage(AgreementPageReqVO reqVO);

}

