package com.hzs.bonus.base.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.base.CuMember;
import com.hzs.common.domain.member.ext.CuMemberExt;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 会员 Mapper 接口
 */
public interface CuMemberMapper extends BaseMapper<CuMember> {

    /**
     * 查询登录会员以及状态
     *
     * @param memberCode 会员编号
     * @param pkMember   会员主键
     * @return
     */
    CuMemberExt queryLoginMember(@Param("memberCode") String memberCode, @Param("pkMember") Long pkMember);

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

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

    /**
     * 回退会员奖衔
     *
     * @param period
     */
    void updateBackCuMemberAward(Integer period);

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

    /**
     * 回退会员等级
     *
     * @param period
     */
    void updateBackCuMemberGrade(Integer period);

    /**
     * 更新会员奖衔根据临时表
     *
     * @param period
     * @return
     */
    Integer updateCuMemberLevelByPeriod(Integer period);

}
