package com.red.circle.other.infra.database.mongo.service.live;

import com.red.circle.framework.dto.PageResult;
import com.red.circle.other.infra.database.mongo.entity.live.RoomTopFixed;
import com.red.circle.other.inner.model.cmd.sys.RoomTopFixedQryCmd;

/**
 * @author pengliang on 2022/11/16
 */
public interface RoomTopFixedService {

  /**
   * 添加置顶房间.
   */
  void add(RoomTopFixed param);

  /**
   * 移除.
   */
  void removeById(Long id);

  /**
   * 获取置顶房间.
   */
  PageResult<RoomTopFixed> list(RoomTopFixedQryCmd query);

  /**
   * 获取置顶房间.
   */
  RoomTopFixed getByRoomId(Long roomId);

  /**
   * 获取当前生效中的置顶房间.
   */
  RoomTopFixed getEffectiveByRoomId(Long roomId);

  /**
   * 房间置顶权重.
   */
  Integer getWeights(Long roomId);

}
