package co.yixiang.yshop.module.product.service.productcoupon;


import co.yixiang.yshop.framework.common.pojo.PageResult;
import co.yixiang.yshop.module.product.controller.admin.productcoupon.vo.*;
import co.yixiang.yshop.module.product.dal.dataobject.productcoupon.ProductCouponDO;
import com.baomidou.mybatisplus.extension.service.IService;


/**
 * 商品优惠券 Service 接口
 *
 * @author moxiangrong
 */
public interface ProductCouponService extends IService<ProductCouponDO> {


    /**
     * 创建优惠券
     *
     * @return 优惠券id
     */
    Long createCoupon(ProductCouponCreateReqVO vo);

    /**
     * 修改优惠券
     *
     * @return 优惠券id
     */
    Boolean updateCoupon(ProductCouponUpdateReqVO vo);

    /**
     * 优惠券明细
     *
     * @return 优惠券明细
     */
    ProductCouponDetailRespVO getCouponDetail(Long id);


    /**
     * 获得优惠券分页
     *
     * @param pageReqVO 分页查询
     * @return 优惠券分页
     */
    PageResult<ProductCouponDetailRespVO> getStoreProductPage(StoreProductCouponPageReqVO pageReqVO);


    /**
     * 删除优惠券
     *
     * @param id 优惠券id
     * @return
     */
    Boolean deleteCoupon(Long id);

    /**
     * 获得画布优惠券分页
     *
     * @param pageReqVO 分页查询
     * @return 优惠券分页
     */
    PageResult<CanvasProductCouponRespVO> getCanvasProductPage(CanvasProductCouponPageReqVO pageReqVO);

}
