package com.cyl.manager.marketing.mapper;


import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cyl.h5.pojo.response.WechatMemberCouponResponse;
import com.cyl.manager.marketing.domain.WechatMemberCoupon;

import java.util.List;

/**
 * 会员券发放记录Mapper接口
 * 
 * @author daixiande
 */
public interface WechatMemberCouponMapper extends BaseMapper<WechatMemberCoupon> {
    /**
     * 查询会员券发放记录
     * 
     * @param id 会员券发放记录主键
     * @return 会员券发放记录
     */
    WechatMemberCoupon selectById(Integer id);

    /**
     * 查询会员券发放记录列表
     * 
     * @param wechatMemberCoupon 会员券发放记录
     * @return 会员券发放记录集合
     */
    List<WechatMemberCoupon> selectList2(WechatMemberCoupon wechatMemberCoupon);

    List<WechatMemberCouponResponse> selectListForOrder(Long id);

    /**
     * 新增会员券发放记录
     * 
     * @param wechatMemberCoupon 会员券发放记录
     * @return 结果
     */
    int insert(WechatMemberCoupon wechatMemberCoupon);

    /**
     * 修改会员券发放记录
     * 
     * @param wechatMemberCoupon 会员券发放记录
     * @return 结果
     */
    int updateWechatMemberCoupon(WechatMemberCoupon wechatMemberCoupon);

    int updateCouponState(String time);

    /**
     * 删除会员券发放记录
     * 
     * @param id 会员券发放记录主键
     * @return 结果
     */
    int deleteById(Integer id);

    /**
     * 批量删除会员券发放记录
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteByIds(Integer[] ids);

    /**
     * 更新或插入会员券发放记录
     *
     * @param wechatMemberCoupon 会员券发放记录
     * @return 结果
     */
    int insertOrUpdate(WechatMemberCoupon wechatMemberCoupon);

    List<WechatMemberCouponResponse> selectMemberCouponById(Integer couponId);
}
