package com.hzs.bonus.member.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.bonus.member.param.MemberActivityParam;
import com.hzs.bonus.member.vo.MemberActivityDetailVO;
import com.hzs.bonus.member.vo.MemberActivityVO;
import com.hzs.common.domain.member.base.CuAwardsControl;
import org.apache.ibatis.annotations.Param;
import org.apache.poi.ss.formula.functions.T;

import java.util.List;

/**
 * @description: 会员统计数据mapper
 * @author: sui q
 * @time: 2024/7/9 10:52
 * @classname: CuMemberActivityMapper
 * @package_name: com.hzs.bonus.member.mapper
 * version 1.0.0
 */
public interface CuMemberActivityMapper extends BaseMapper<T> {

    /*
     * @description: 不查询推荐人的
     * @author: sui q
     * @date: 2024/7/9 10:50
     * @param: null null
     **/
    List<MemberActivityVO> queryCuMemberActivityVO(@Param("settleTable")String settleTable, @Param("memberActivityParam") MemberActivityParam memberActivityParam);

    /*
     * @description: 不查询推荐人的
     * @author: sui q
     * @date: 2024/7/9 10:50
     * @param: null null
     **/
    List<MemberActivityVO> queryRecCuMemberActivityVO(@Param("settleTable")String settleTable, @Param("memberActivityParam") MemberActivityParam memberActivityParam);

    /*
     * @description: 查询明细
     * @author: sui q
     * @date: 2024/7/9 13:41
     * @param: null null
     **/
    List<MemberActivityDetailVO> queryCuMemberActivityDetailVO(@Param("beforeSettleTable") String beforeSettleTable, @Param("settleTable") String settleTable, @Param("memberActivityVoList") List<?> memberActivityVoList,
                                                               @Param("memberActivityParam") MemberActivityParam memberActivityParam);

    /*
     * @description: 查询明细
     * @author: sui q
     * @date: 2024/7/9 13:41
     * @param: null null
     **/
    List<MemberActivityDetailVO> queryCouCuMemberActivityDetailVO(@Param("beforeSettleTable") String beforeSettleTable, @Param("settleTable") String settleTable, @Param("memberActivityVoList") List<?> memberActivityVoList,
                                                                  @Param("memberActivityParam") MemberActivityParam memberActivityParam);
}
