package com.hzs.member.base.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hzs.common.domain.member.base.CuMemberTeam;
import com.hzs.common.domain.member.ext.CuMemberTeamExt;
import com.hzs.common.domain.vertex.BdVertex;
import com.hzs.member.base.param.MemberTeamInfoParam;
import com.hzs.member.base.vo.MemberTeamVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 会员交易明细 Mapper 接口
 */
public interface CuMemberTeamMapper extends BaseMapper<CuMemberTeam> {

    List<CuMemberTeamExt> queryCuMemberTeam(CuMemberTeamExt cuMemberTeamExt);

    /**
     * 查询会员团队信息
     *
     * @param memberTeamInfoParam
     * @return
     */
    List<MemberTeamVo> queryMemberTeamInfoList(MemberTeamInfoParam memberTeamInfoParam);

    /**
     * 查询会员安置团队信息
     *
     * @param memberTeamInfoParam
     * @return
     */
    List<MemberTeamVo> queryMemberTeamInfoPlaceParentList(MemberTeamInfoParam memberTeamInfoParam);

    /**
     * 更新团队为空
     *
     * @param pkTeamCode 团队ID
     */
    void updateTeamNullById(@Param("pkTeamCode") Long pkTeamCode);

    /**
     * 更新伞下团队
     *
     * @param pkMember   会员ID
     * @param pkTeamCode 团队ID
     * @param pkVertex   体系ID
     */
    void updateTeamById(@Param("pkMember") Long pkMember, @Param("pkTeamCode") Long pkTeamCode, @Param("pkVertex") Integer pkVertex);

    /**
     * 更新团队（新）
     *
     * @param pkMember  团队顶点会员
     * @param pkTeam    团队ID
     * @param pkVertex  体系ID
     * @param pkCountry 所属国家
     */
    void updateTeamNew(@Param("pkMember") Long pkMember,
                       @Param("pkTeam") Long pkTeam,
                       @Param("pkVertex") Integer pkVertex,
                       @Param("pkCountry") Integer pkCountry);

}
