package com.hzs.bonus.detail.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.member.achieve.ext.CuMemberRetailRangeExt;
import com.hzs.common.domain.member.detail.CuMemberAwards;
import com.hzs.common.domain.system.config.BdAwards;

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

/**
 * 会员信息-奖衔升级记录 服务类
 */
public interface ICuMemberAwardsService extends IService<CuMemberAwards> {

    /**
     * 计算奖衔
     */
    void calculateCuMemberAwards(String rangeTableName, List<BdAwards> awardsList, Date settleDate, Integer period);

    /**
     * 批量插入奖衔记录
     *
     * @param cuMemberAwardsList 需要插入的奖衔列表
     */
    void saveBatchCuMemberAwards(List<CuMemberAwards> cuMemberAwardsList);

    /**
     * 删除升级的奖衔
     */
    void deleteCuMemberAwards(List<CuMemberAwards> cuMemberAwards, Integer period);

    /**
     * 查询自动升级的等级
     */
    List<CuMemberAwards> queryCuMemberAwards(List<CuMemberRetailRangeExt> cuMemberRetailRangeExtList, Integer period);

    /**
     * 回退奖衔
     */
    void mergeCuMemberBackAwards(String rangeTableName, Long pkMember, Integer period);

}
