package com.hzs.activity.benefits.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.activity.benefits.vo.AcGiftBenefitsRuleConfigVO;
import com.hzs.activity.benefits.vo.AcGiftBenefitsRuleLogVO;
import com.hzs.common.domain.activity.benefits.AcGiftBenefitsRuleConfig;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 权益赠送规则表 Mapper 接口
 *
 * @author zhangjing
 * @since 2024-02-18
 */
public interface AcGiftBenefitsRuleConfigMapper extends BaseMapper<AcGiftBenefitsRuleConfig> {

    /**
     * @description: 查询权益赠送规则
     * @author: zhang jing
     * @date: 2024/2/19 10:25
     * @param: [brVO]
     * @return: java.util.List<com.hzs.activity.benefits.vo.AcGiftBenefitsRuleConfigVO>
     **/
    List<AcGiftBenefitsRuleConfigVO> queryBenefitsRuleList(AcGiftBenefitsRuleConfigVO brVO);

    /**
     * 查询会员符合等级数量
     *
     * @param grade      达标等级ID
     * @param phone      会员手机号
     * @param memberName 会员姓名
     * @param startDate  活动开始时间
     * @param endDate    活动结束时间
     * @param pkCountry  所属国家
     * @return
     */
    int queryMemberCount(@Param("grade") Long grade,
                         @Param("phone") String phone,
                         @Param("memberName") String memberName,
                         @Param("startDate") Date startDate,
                         @Param("endDate") Date endDate,
                         @Param("pkCountry") Integer pkCountry);

    /**
     * @description: 查询权益赠送会员权益升级记录
     * @author: zhang jing
     * @date: 2024/3/1 14:08
     * @param: [anpVO]
     * @return: java.util.List<com.hzs.activity.benefits.vo.AcGiftBenefitsRuleLogVO>
     **/
    List<AcGiftBenefitsRuleLogVO> queryBenefitsRuleLogList(AcGiftBenefitsRuleLogVO anpVO);


}
