package com.hzs.member.base.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.common.domain.member.base.CuMemberTeam;
import com.hzs.common.domain.member.ext.CuMemberTeamExt;
import com.hzs.member.base.param.MemberTeamInfoParam;
import com.hzs.member.base.vo.MemberTeamVo;

import java.util.List;

/**
 * 隶属团队 服务类
 */
public interface ICuMemberTeamService extends IService<CuMemberTeam> {

    /**
     * 隶属团队列表
     **/
    List<CuMemberTeamExt> queryCuMemberTeam(CuMemberTeamExt cuMemberTeamExt);

    /*
     *  根据会员主键获得所属团队
     **/
    CuMemberTeamExt getCuMemberTeamById(Long pkMember);

    /**
     * 根据国家查询隶属团队
     **/
    List<CuMemberTeamExt> queryCuMemberTeam(Integer pkCountry);

    /**
     * 根据体系id 查询是否有团队占用该体系
     *
     * @param pkVertex
     * @return
     */
    Boolean checkVertex(Integer pkVertex);

    /*
     *  更新体系下的团队
     **/
    void updateCuMemberTeamByVertex(Long pkTeamCode);

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

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

    /**
     * 查询刷新团队数据
     *
     * @param pkCountry 所属国家
     * @return
     */
    void flushAllTeam(Integer pkCountry);

}
