syntax = "proto2";

package UnionVoiceRoomCmd;

//option optimize_for = LITE_RUNTIME;

option java_package = "com.miaole.live.protocol.request";
option java_outer_classname = "UnionVoiceRoomCmd";

//创建公会语音频道
message createRoom  {
  optional string unionId = 1;//公会Id
  optional string roomName = 2;//房间名称
  optional string logoPath = 3;//厅封面图片路径 上传固定目录  /app/logo/union/voice/公会ID/图片名称MD5
  repeated int32 typeList = 4;// 房间分类列表
  optional string logoPath2 = 5; // 厅封面图片2 用于懒懒优先展示
  optional string customizeBg = 6; // 自定义背景
}

//编辑公会语音频道
message updateRoomData {
  optional string unionId = 1;//公会Id
  optional string id = 2;//唯一ID
  optional string roomName = 3;//房间名称
  optional string logoPath = 4;//厅封面图片路径 上传固定目录  /app/logo/union/voice/公会ID/图片名称MD5
  repeated int32 typeList = 5;// 房间分类列表
  optional string logoPath2 = 6; // 厅封面图片2 用于懒懒优先展示
  optional string customizeBg = 7; // 自定义背景
}

//获得公会语音频道管理列表  返回 UnionVoiceRoomResult.VoiceRoomManagerList
message getVoiceRoomManageList{
	optional string unionId = 1;//公会Id
	optional int32 index = 2;//分页下标[已经获得的列表的size长度]
}

//获得开播数据 返回 UnionVoiceRoomResult.OpenLiveData
message getOpenLiveData {
	optional string unionId = 1;//公会Id
	optional string roomId = 2;//房间ID
}

//上麦开播
message openLive {
	optional string unionId = 1;//公会Id
	optional string roomId = 2;//房间ID
	optional int32 type = 3;//房间分类
}

//下播,如果开播的人不是自己不是踢下播
message downLive {
	optional string unionId = 1;//公会Id
	optional string roomId = 2;//房间ID
}

//获得推荐主播列表 返回 UserResult.UserBaseList
message getRecommendRoomList {
	optional string unionId = 1;//公会Id
	optional string roomId = 2;//房间ID
	optional int32 index = 3;//分页下标[已经获得的列表的size长度]
}

//添加推荐主播
message addRecommendRoom {
	optional string unionId = 1;//公会Id
	optional string roomId = 2;//房间ID
	optional string anchorId = 3;//添加要推荐的有播ID
}

//移除推荐主播
message removeRecommendRoom {
	optional string unionId = 1;//公会Id
	optional string roomId = 2;//房间ID
	optional string anchorId = 3;//移除要推荐的有播ID
}

//设置是否展示在大厅
message setView {
	optional string unionId = 1;//公会Id
	optional string roomId = 2;//房间ID
	optional bool view =3;//是否展示
}

//设置自动打招呼
message setAutoSayHi {
	optional string unionId = 1;//公会Id
	optional string roomId = 2;//房间ID
	optional bool auto =3;//是否自动打招呼
}

//设置自动打招呼内容
message setAutoSayHiConetnt {
	optional string unionId = 1;//公会Id
	optional string roomId = 2;//房间ID
	optional string content =3;//自动打招呼内
}

//删除公会语音频道
message deleteRoom {
	optional string unionId = 1;//公会Id
	optional string id = 2;//数据ID,唯一
}


//获得房间内可推荐的用户列表 返回：UserResult.UserBaseList
message getRealRoomMember4RecommendList {
	optional string roomId = 1;//房间ID
	optional string lastMemberId = 2;//客户端缓存中最后一条用户ID
	optional int32 cacheSize = 3;//客户端当前缓存数据条数大小
}

//获得房间频道列表 返回 UnionVoiceRoomResult.VoiceRoomList
message getVoiceRoomList {
	optional string unionId = 1;//公会Id
	optional string index = 2;//分页下标[已经获得的列表的size长度]
	optional string lastId = 3;//最后一条数据的唯一ID
}

//获得房间频道列表 返回 UnionVoiceRoomResult.searchVoiceRoomInfoList
message searchVoiceRoomList {
	optional string unionId = 1;//公会Id
	optional string value = 2;//搜索值
}

// 随机进入酒吧房，返回 CommonResult.StringResult
message randomEnterBar {
  optional string currBarRoomId = 1;// 当前所在酒吧房id（可以不指定）
}

// 获取酒吧动作，返回 UnionVoiceRoomResult.BarActionList
message getBarActionList {
  optional string tab = 1;// 动作分类，不传返回全部，sayHi-打招呼；dance-舞蹈；interact-互动；pose-凹造型；读CS_VirtualRoleActionTab配置
}

// 置顶酒吧动作(取消)
message setTopBarAction {
  optional string actionId = 1;// 动作id
  optional bool flag = 2;// 是否置顶
}

// 使用酒吧动作，推送动作广播UnionVoiceRoomResult.usedBarActionBroadcast
message usedBarAction {
  optional string actionId = 1;// 动作id
  optional string targetId = 2;// 目标用户id（互动动作必选）
  optional string roomId = 3;// 房间ID
}

// 处理酒吧动作申请，推送动作广播UnionVoiceRoomResult.usedBarActionBroadcast
message handleBarActionApply {
  optional string roomId = 1;// 房间ID
  optional string applyId = 2;// 用户id
  optional string actionId = 3;// 动作id
  optional int32 broadcastType = 4;// 处理结果，1-同意（发放），3-拒绝，4-取消（硬控才可以使用）
}

// 获取酒吧用户列表，返回RoomResult.OnlineMemberList（添加了贵气等级）
message getBarRoomMemberList {
  optional string roomId = 1;// 房间ID
  optional int32 memberType = 2;// 用户类型，1-在线用户，2-主播列表，3-舞台列表
}

// 获取酒吧房内榜单，返回RankResult.LiveRankList（添加了贵气等级）
message getBarRoomRankList {
  optional string roomId = 1;// 房间ID
  optional int32 timeType = 2;// 日/周/月榜单，1-日，2-周，3-月
  optional int32 rankType = 3;// 收入/消费榜，1-收入，2-消费
}

// 获取酒吧卡座/包厢配置信息，返回UnionVoiceRoomResult.BarBoothConfigInfo
message getBarBoothConfigInfo {
  optional string roomId = 1;// 房间ID
  optional string boothId = 2;// 卡座/包厢id
}

// 获取卡座/包厢人员列表，返回UnionVoiceRoomResult.BarBoothMemberList
message getBarBoothMemberList {
  optional string roomId = 1;// 房间ID
  optional string boothId = 2;// 卡座/包厢id
}

// 获取卡座/包厢申请人员列表，返回UnionVoiceRoomResult.BarBoothApplyMemberList
message getBarBoothApplyMemberList {
  optional string roomId = 1;// 房间ID
  optional string boothId = 2;// 卡座/包厢id
}

// 发送包厢喊话邀请，推送广播 UnionVoiceRoomResult.sendInviteBarBoothBroadcast
message sendInviteBarBooth {
  optional string roomId = 1;// 房间ID
  optional string boothId = 2;// 卡座/包厢id
  optional string content = 3;// 喊话内容
}

// 用户设置酒吧房其他用户声音
message setBarRoomOtherMemberVoice {
  optional string roomId = 1;// 房间ID
  optional string targetId = 2;// 对方id
  optional bool flag = 3;// 是否关闭对方声音
}

// 获取我的申请加入卡座请求列表，返回UnionVoiceRoomResult.MyApplyBarBoothList
message getMyApplyBarBoothList {
  optional string roomId = 1;// 房间ID
}

// 设置酒吧房进房人数
message modifyBarRoomAllowCount {
  optional string roomId = 1;// 房间ID
  optional int32 allowCount = 2;// 人数
}