package com.red.circle.console.app.service.app.team.bd;

import com.red.circle.console.app.dto.clienobject.team.bd.RoomBdLeadCO;
import com.red.circle.console.app.dto.cmd.app.team.bd.TeamBdLeaderAddCmd;
import com.red.circle.console.app.dto.cmd.app.team.bd.TeamBdLeaderBindBdCmd;
import com.red.circle.console.app.dto.cmd.app.team.bd.TeamBdLeaderUpdateCmd;
import com.red.circle.framework.dto.PageResult;
import com.red.circle.other.inner.model.cmd.team.bd.BdTeamLeaderOpsPageQryCmd;

/**
 * DB Leader管理.
 *
 * @author pengshigang on 2022/7/20
 */
public interface TeamLeaderBDService {

  /**
   * BD Lead分页列表.
   */
  PageResult<RoomBdLeadCO> pageOps(BdTeamLeaderOpsPageQryCmd qryCmd);

  /**
   * 添加BD Lead.
   */
  void add(TeamBdLeaderAddCmd cmd);

  /**
   * 修改BD Lead.
   */
  void update(TeamBdLeaderUpdateCmd cmd);

  /**
   * 删除BD lead.
   */
  void delete(Long id, Long updateUser);

  /**
   * 将BD绑定至lead名下.
   */
  void bindBdLeader(TeamBdLeaderBindBdCmd param);

  /**
   * 是否为BD Leader.
   */
  Boolean checkBdLeader(Long userId);

}
