package com.mzl.flower.service.coupon;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.mzl.flower.dto.request.coupon.*;
import com.mzl.flower.dto.response.coupon.CouponPointStatisVO;
import com.mzl.flower.dto.response.coupon.CouponTemplateVO;
import com.mzl.flower.entity.coupon.CouponTemplateDO;
import java.util.List;
/**
*
* 服务类
*
*
* @author @TaoJie
* @since 2024-08-22
*/
public interface CouponTemplateService2 extends IService {
boolean createCouponTemplate(CreateCouponTemplateBO dto);
boolean updateCouponTemplate(CreateCouponTemplateBO dto);
List getList(QueryCouponDTO dto);
Page getPage(Page page, QueryCouponDTO dto);
/**
* 详情
* @param id
* @return
*/
CouponTemplateVO getDetailById(String id);
boolean deleteCouponTemplate(String id);
boolean activeCouponTemplate(String id);
/**
* 活动-下架优惠券
* @param id
* @return
*/
boolean expireCouponTemplate(String id);
/**
* 获取所有会员优惠券模版
* @return
*/
List getVipCouponTemplate();
boolean deleteBatchCouponTemplate(BatchCouponTemplateDTO dto);
boolean activeBatchCouponTemplate(BatchCouponTemplateDTO dto);
boolean expireBatchCouponTemplate(BatchCouponTemplateDTO dto);
/**
* 积分统计
*
* @param queryCouponStatisticsBO
* @return
*/
CouponPointStatisVO statisCouponTemplatePoint(QueryCouponStatisticsBO queryCouponStatisticsBO);
/**
* 积分优惠券全部
* @param dto
* @return
*/
List getPointList(QueryActivePointCouponDTO dto);
/**
* 积分优惠券列表
* @param page
* @param dto
* @return
*/
Page getPointPage(Page page, QueryActivePointCouponDTO dto);
/**
* 获取活动优惠券
* 1.需要领取时间在有效期内的
* 2.已经发布的
* @param dto
* @return
*/
List getActivityEffectList(QueryActivityEffectCouponDTO dto);
void exchangeCoupon(ExchangeCouponDTO dto);
/**
* 查询首页弹簧,且当前自己领取过的话则不用展示
* @param dto
* @return
*/
CouponTemplateVO getHomeActivityEffectAlert(QueryActivityEffectCouponDTO dto);
}