package com.mzl.flower.mapper.coupon;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.mzl.flower.dto.request.coupon.BatchCouponTemplateDTO;
import com.mzl.flower.dto.request.coupon.QueryActivePointCouponDTO;
import com.mzl.flower.dto.request.coupon.QueryActivityEffectCouponDTO;
import com.mzl.flower.dto.request.coupon.QueryCouponDTO;
import com.mzl.flower.dto.response.coupon.CouponTemplateCustomerVO;
import com.mzl.flower.dto.response.coupon.CouponTemplateVO;
import com.mzl.flower.entity.coupon.CouponTemplateDO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * 
 *  Mapper 接口
 * 
 *
 * @author @TaoJie
 * @since 2024-08-22
 */
public interface CouponTemplateMapperCustom extends BaseMapper {
    /**
     * 获取普通分页信息
     * @param page
     * @param dto
     * @return
     */
    List getCouponTemplatePage(Page page,@Param("param") QueryCouponDTO dto);
    /**
     * 获取普通会员全部列表信息
     * @param dto
     * @return
     */
    List getList(@Param("param") QueryCouponDTO dto);
    int deleteBatchCouponTemplate(@Param("param") BatchCouponTemplateDTO dto);
    int activeBatchCouponTemplate(@Param("param") BatchCouponTemplateDTO dto);
    int expireBatchCouponTemplate(@Param("param") BatchCouponTemplateDTO dto);
    List getCouponPointList(@Param("param") QueryActivePointCouponDTO dto);
    Page getPointPage(Page page,@Param("param") QueryActivePointCouponDTO dto);
    List getActivityEffectList(@Param("param") QueryActivityEffectCouponDTO dto);
    /**
     * 获取关联的用户信息
     * @param id
     * @return
     */
    List getCouponCustomerList(@Param("id") String id);
    List getVipList(@Param("param") QueryCouponDTO dto);
    List getCouponTemplateVipPage(Page page, @Param("param") QueryCouponDTO dto);
    CouponTemplateVO getHomeActivityEffectAlert(@Param("param") QueryActivityEffectCouponDTO dto);
    void expireHomeActivityCouponTemplate();
    int expireActivityCouponTemplateAll();
}