package com.hzs.member.detail;

import com.hzs.common.core.domain.R;
import com.hzs.common.domain.member.base.CuMemberRegister;
import com.hzs.common.domain.member.detail.CuMemberLevel;
import com.hzs.common.domain.member.detail.ext.CuMemberAwardsExt;

import java.util.List;

/**
 * 会员升级记录dubbo服务
 */
public interface ICuMemberDetailServiceApi {

    /**
     * 查询升级的最新一条
     *
     * @param pkMember 会员ID
     * @param pkOrder  订单ID（可为null）
     * @return
     */
    R<CuMemberLevel> getLastUpgrade(Long pkMember, Long pkOrder);

    /**
     * 查询所有升级记录
     *
     * @param pkMember 会员ID
     * @return
     */
    R<List<CuMemberLevel>> getUpgradeList(Long pkMember);

    /**
     * 查询手动开通奖衔的最新一条
     *
     * @param pkMember 会员ID
     * @return
     */
    R<CuMemberAwardsExt> queryLastManualAwards(Long pkMember);

    /**
     * 查询会员注册信息
     *
     * @param pkMember 会员ID
     * @return
     */
    R<CuMemberRegister> getMemberRegister(Long pkMember);

}
