package com.hzs.bonus.base.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.detail.CuMemberAwards;
import com.hzs.common.domain.member.detail.CuMemberLevel;

import java.util.List;

/**
 * 会员 服务类
 */
public interface ICuMemberService extends IService<CuMember> {

    /**
     * 获取会员缓存
     *
     * @param pkId 会员的主键
     * @return CuMember
     */
    CuMember getMember(Long pkId);

    /**
     * 更新会员奖衔根据临时表
     */
    void updateCuMemberByPeriod(Integer period);

    /**
     * 更新会员奖衔根据临时表
     *
     * @param cuMemberAwardsList 修改奖衔的会员
     */
    void updateCuMemberRangeByPeriod(List<CuMemberAwards> cuMemberAwardsList, Integer period);

    /**
     * 更新会员奖衔根据临时表
     *
     * @param cuMemberAwards
     * @param period
     */
    void updateBackCuMemberAward(List<CuMemberAwards> cuMemberAwards, Integer period);

    /*
     * 查询可以获得分红的会员人数
     **/
    List<CuMember> queryCuMemberShareTotal(Integer pkCountry);

    /**
     * 更新会员等级根据临时表
     *
     * @param cuMemberLevelList
     * @param period
     */
    void updateBackCuMemberGrade(List<CuMemberLevel> cuMemberLevelList, Integer period);

    /**
     * 更新会员等级根据临时表
     */
    void updateCuMemberLevelByPeriod(Integer period);

}
