package com.hzs.bonus.bonus.mapper;

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

import java.util.List;

/**
 * <p>
 * 会员奖金-奖金收益明细表(加权积分奖励) Mapper 接口
 * </p>
 *
 * @author hzs
 * @since 2023-10-12
 */
public interface CuMemberBonusPointMapper extends BaseMapper<CuMemberBonusPoint> {

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

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

    /**
     * 会员端根据查询条件查询会员奖金明细
     * @param bonusParam 查询条件
     * @return: List<CuMemberBonusDetail>
     * @Author: sui q
     * @Date: 2023/1/14 9:18
     */
    List<CuMemberBonusPoint> queryMemberBonusPointByConditionForServer(@Param("bonusParam") BonusParam bonusParam);


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