package com.hzs.bonus.bonus.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.bonus.bonus.param.CuMemberBonusDelayParam;
import com.hzs.common.domain.member.bonus.CuMemberBonusDelay;
import com.hzs.common.domain.member.bonus.ext.CuMemberBonusDelayExt;
import com.hzs.common.domain.member.ext.CuMemberSettleExt;

import java.util.List;
import java.util.Set;

/**
 * 会员奖金-拓展收益延缓表 服务类
 */
public interface ICuMemberBonusDelayService extends IService<CuMemberBonusDelay> {

    /**
     * 删除会员延缓发放主表
     *
     * @param period
     */
    void deleteCuMemberBonusDelay(Integer period);

    /**
     * 批量插入会员延缓发放主表
     *
     * @param cuMemberBonusDelayList 会员延缓发放列表
     */
    void batchInsertCuMemberBonusDelay(List<CuMemberBonusDelay> cuMemberBonusDelayList, Set<Long> memberIdSet);

    /**
     * 查询当天没有产生过奖金，但是还有延缓发放奖金的列表
     *
     * @param currentSettleTableName
     * @param pkMemberSet
     * @param yesterdayPeriod
     * @return
     */
    List<CuMemberSettleExt> listDelayNotBonus(String currentSettleTableName, Set<Long> pkMemberSet, Integer yesterdayPeriod);

    /**
     * 查询延缓奖金列表
     *
     * @param param
     * @return
     */
    List<CuMemberBonusDelayExt> listDelay(CuMemberBonusDelayParam param);

}
