package com.liquidnet.service.candy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.service.candy.entity.CandyCoupon;
import com.liquidnet.service.candy.vo.CandyCouponVo;
import com.liquidnet.service.candy.vo.CandyMyCouponListVo;
import com.liquidnet.service.candy.vo.CandyUseResultVo;

import java.math.BigDecimal;
import java.util.List;

/**
 * <p>
 * 券基础信息 服务类
 * </p>
 *
 * @author liquidnet
 * @since 2021-08-18
 */
public interface ICandyCouponService {

    CandyMyCouponListVo myCoupon(Integer type);

    CandyMyCouponListVo preUsePerformanceCoupon(BigDecimal priceTotal, String performanceId, String timeId, String ticketId,Integer type);

    Integer preCanUsePerformanceCoupon(BigDecimal priceTotal, String performanceId, String timeId, String ticketId);

    CandyMyCouponListVo preUseGoodCoupon(BigDecimal priceTotal, String goodId, String produceId,Integer type);

    Integer preCanUseGoodCoupon(BigDecimal priceTotal, String goodId, String produceId);

    List<CandyCouponVo> myAdvanceCoupon();

    Integer stateCoupon(String uCouponId);

    CandyUseResultVo useCoupon(String uCouponId, String content, String totalPrice);

    Boolean useBackCoupon(String uCouponId);

    Boolean receiveCoupon(String ccode);

    CandyCouponVo receiveCouponDetails(String ccode);
}
