package com.ylx.massage.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ylx.common.core.domain.R;
import com.ylx.massage.domain.Coupon;
import com.ylx.massage.domain.CouponReceive;
import com.ylx.massage.domain.vo.ClaimCouponRequestVO;
import com.ylx.massage.domain.vo.CouponReceiveVo;
import com.ylx.massage.domain.vo.CouponReceivesVO;

import java.util.List;

/**
 * 优惠券领取表(CouponReceive)表服务接口
 *
 * @author makejava
 * @since 2024-05-14 11:25:45
 */
public interface CouponReceiveService extends IService<CouponReceive> {

    /**
     * 领取优惠券
     * @param couponReceive
     * @return Coupon
     */
    Coupon submit(CouponReceive couponReceive);

    /**
     * 领取优惠券
     * @param couponReceive
     * @return
     */
    Integer submits(CouponReceivesVO couponReceive);

    /**
     * 领取优惠券
     * @param claimCouponRequestVO
     * @return R<?>
     */
    R<?> receiveVolution(ClaimCouponRequestVO claimCouponRequestVO);


    List<CouponReceiveVo> getByOpenId(String openid);

    void removeCoupons(List<CouponReceiveVo> coupons);


    List<Coupon> couponWindows(CouponReceive couponReceive);


}

