package com.hzs.bonus.bonus.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.bonus.CuMemberBonusRange;
import com.hzs.common.domain.member.ext.CuMemberBonusRangeExt;
import com.hzs.bonus.bonus.param.BonusParam;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 会员奖金-奖金收益明细表(复购极差) Mapper 接口
 * </p>
 *
 * @author hzs
 * @since 2022-12-30
 */
public interface CuMemberBonusRangeMapper extends BaseMapper<CuMemberBonusRange> {

    /**
     * 删除会员奖金汇总表
     *
     * @param period 结算期间
     * @return: void
     * @Author: sui q
     * @Date: 2022/12/13 11:54
     */
    void deleteCuMemberBonusRange(Integer period);

    /**
     * 批量插入会员奖金主表
     *
     * @param cuMemberBonusRangeList 会员奖金
     * @return: void
     * @Author: sui q
     * @Date: 2022/12/13 13:56
     */
    void batchInsertCuMemberBonusRange(@Param("cuMemberBonusRangeList") List<?> cuMemberBonusRangeList);

    /**
     * 根据查询条件查询固定的奖金明细
     *
     * @param bonusParam 查询条件
     * @return: List<CuMemberBonusDetail>
     * @Author: sui q
     * @Date: 2023/1/14 11:18
     */
    List<CuMemberBonusRangeExt> queryMemberBonusRangeByBonusItems(BonusParam bonusParam);

    /**
     * 根据查询条件查询固定的奖金明细
     *
     * @param bonusParam 查询条件
     * @return: List<CuMemberBonusDetail>
     * @Author: sui q
     * @Date: 2023/1/14 11:18
     */
    List<CuMemberBonusRangeExt> queryMemberBonusRangeByBonusItemsForServer(@Param("bonusParam") BonusParam bonusParam);
}
