package com.yhy.module.core.service.infoprice;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import com.yhy.module.core.controller.admin.infoprice.vo.InfoPriceBookPageReqVO;
import com.yhy.module.core.controller.admin.infoprice.vo.InfoPriceBookRespVO;
import com.yhy.module.core.controller.admin.infoprice.vo.InfoPriceBookSaveReqVO;

import javax.validation.Valid;

/**
 * 信息价册 Service 接口
 *
 * @author yhy
 */
public interface InfoPriceBookService {

    /**
     * 创建信息价册
     *
     * @param createReqVO 创建信息
     * @return 信息价册ID
     */
    Long createInfoPriceBook(@Valid InfoPriceBookSaveReqVO createReqVO);

    /**
     * 更新信息价册
     *
     * @param updateReqVO 更新信息
     */
    void updateInfoPriceBook(@Valid InfoPriceBookSaveReqVO updateReqVO);

    /**
     * 删除信息价册
     *
     * @param id 信息价册ID
     */
    void deleteInfoPriceBook(Long id);

    /**
     * 获取信息价册
     *
     * @param id 信息价册ID
     * @return 信息价册信息
     */
    InfoPriceBookRespVO getInfoPriceBook(Long id);

    /**
     * 分页查询信息价册
     *
     * @param pageReqVO 分页查询条件
     * @return 分页结果
     */
    PageResult<InfoPriceBookRespVO> getInfoPriceBookPage(InfoPriceBookPageReqVO pageReqVO);
}
