package cn.iocoder.yudao.module.member.service.storediningplates;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.member.controller.admin.storediningplates.vo.StoreDiningPlatesPageReqVO;
import cn.iocoder.yudao.module.member.controller.admin.storediningplates.vo.StoreDiningPlatesSaveReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.storediningplates.StoreDiningPlatesDO;

import javax.validation.Valid;
import java.math.BigDecimal;

/**
 * 门店餐盘设置 Service 接口
 *
 * @author 我是秦俊旗
 */
public interface StoreDiningPlatesService {

    /**
     * 创建门店餐盘设置
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createStoreDiningPlates(@Valid StoreDiningPlatesSaveReqVO createReqVO);

    /**
     * 更新门店餐盘设置
     *
     * @param updateReqVO 更新信息
     */
    void updateStoreDiningPlates(@Valid StoreDiningPlatesSaveReqVO updateReqVO);

    /**
     * 删除门店餐盘设置
     *
     * @param id 编号
     */
    void deleteStoreDiningPlates(Long id);

    /**
     * 获得门店餐盘设置
     *
     * @param id 编号
     * @return 门店餐盘设置
     */
    StoreDiningPlatesDO getStoreDiningPlates(Long id);

    /**
     * 获得门店餐盘设置分页
     *
     * @param pageReqVO 分页查询
     * @return 门店餐盘设置分页
     */
    PageResult<StoreDiningPlatesDO> getStoreDiningPlatesPage(StoreDiningPlatesPageReqVO pageReqVO);


    StoreDiningPlatesDO getByAmount(BigDecimal amount,Long storeId,boolean applyToCard);
}