package com.red.circle.other.app.inner.service.team;

import com.red.circle.framework.dto.PageResult;
import com.red.circle.other.inner.model.cmd.team.bd.BdTeamMemberOpsPageQryCmd;
import com.red.circle.other.inner.model.dto.agency.bd.BdTeamMemberDTO;
import java.util.List;

/**
 * bd 团队成员.
 *
 * @author pengliang on 2023/11/21
 */
public interface BdTeamMemberClientService {

  /**
   * bd分页列表.
   */
  PageResult<BdTeamMemberDTO> pageOps(BdTeamMemberOpsPageQryCmd qryCmd);

  /**
   * 成员是否已存在DB列表.
   */
  boolean exist(Long agentUserId);

  /**
   * 添加成员.
   */
  void add(String sysOrigin, Long agentUserId, Long bdUserId, Long teamId,
      Long updateUserId);

  /**
   * 获取成员登记信息.
   */
  BdTeamMemberDTO getById(Long id);

  /**
   * 移除登记信息.
   */
  void deleteById(Long id);

  /**
   * 根据bd用户id解散这个bd团队.
   */
  void deleteAllByUserId(Long userId);

  /**
   * 获取用户所有成员信息.
   */
  List<BdTeamMemberDTO> listByUserId(Long userId);

}
