syntax = "proto2";

package BroGroupCmd;

//option optimize_for = LITE_RUNTIME;

option java_package = "com.miaole.live.protocol.request";
option java_outer_classname = "BroGroupCmd";

/** 获取兄弟团红包随机祝福语
返回 @see response/BrotherGroupResult.moralText
**/
message getBroGroupRedPacketText{

}

/**
发红包
**/
message sendRedEnvelope{
  /** 兄弟团ID **/
  optional  string  broGroupId = 1 ;
  /** 红包寓意 **/
  optional string  moral = 2;
  /** 红包类型ID **/
  optional string bagId = 3 ;
  /** 红包金额  **/
  optional int32  moneyAmount = 4;
  /** 红包数量 **/
  optional int32 count = 5;
}

/** 抢红包
result :  BrotherGroupResult.openRedEnvelopeResult
**/
message openRedEnvelope{
  /** 红包开启ID **/
  optional  string redEnvelopeId = 1 ;
}

/** 红包记录 - 我收到的
 返回 @see response/BrotherGroupResult.redEnvelopeReceiveHistory
 **/
message  getRedEnvelopeReceiveLog{
  optional int32 pageSize = 1;        // 每页数量
  optional int32 pageNo = 2;          // 当前页数
}

/** 红包记录 - 我发出的
返回 @see response/BrotherGroupResult.redEnvelopeSendHistory
**/
message  getRedEnvelopeSendLog{
  optional int32 pageSize = 1;        // 每页数量
  optional int32 pageNo = 2;          // 当前页数
}
/**  获取红包详情信息
 result :response/BrotherGroupResult.redEnvelopeData
 **/
message getRedEnvelopeInfo{
  /** 红包开启ID **/
  optional  string redEnvelopeId = 1 ;
}

//待抢红包信息详情
//result: response/BrotherGroupResult.RedEnvelopeReceiveDetail
message getRedEnvelopeDetail{
  /** 红包开启ID **/
  optional  string redEnvelopeId = 1 ;
}

/** 获取红包类型列表 **/
//result : response/BrotherGroupResult.broGroupRedEnvelopeTypeList
message  getRedEnvelopeTypeList{

}

/** 获取红包类型使用过的记录**/
//result : response/BrotherGroupResult.usedTypeLog
message getUsedRedEnvelopeType{

}

/** 获取兄弟团红包状态(批量)
返回 CommonResult.StringArrayResult
**/
message getRedEnvelopeStatus{
  // 红包ID数组
  repeated string  redEnvelopeId =1;
}


/** 召唤兄弟   ，其他用户返回 ： BrotherGroupResult.summerBroBroadcast 广播 **/
message summonBro{
  optional string  roomId = 1 ;
}

// 我的 - 兄弟团基础数据:返回 BrotherGroupResult.BroGroupBaseData
message getBroGroupBaseData {
}

// 我的 - 氪勋章佩戴/取下
message dealBroGroupMedal {
  optional bool medalFlag = 1;      // 勋章佩戴状态
}

// 兄弟团成员信息:返回 BrotherGroupResult.BroGroupMember
message getBroGroupMemberInfo {
  optional string broGroupId = 1;   // 兄弟团id
}

// 兄弟团广场 -- 兄弟团列表:返回 BrotherGroupResult.BrotherGroupList
message getBrotherGroupList {
  optional string groupType = 1;    // PLAZA=广场  FRIEND=好友
  optional string keyword = 2;      // 筛选条件 (兄弟团铭牌或名称)
}

// 兄弟团广场 - 创建兄弟团:返回 BrotherGroupResult.createBroGroupResult
message createBroGroup {
}

// 兄弟团广场 - 我的兄弟团相关信息:返回 BrotherGroupResult.MyBroGroupInfo
message getMyBroGroupInfo {
  optional string broGroupId = 1;   // 兄弟团id - 没有可不传
}

// 兄弟团广场 - 解散兄弟团
message dissolveBroGroup {
  optional string broGroupId = 1;   // 兄弟团id
  optional string smsCode = 2;      // 手机验证码
}

// 兄弟团广场 - 好友邀请列表:返回 BrotherGroupResult.FriendList
message getFriendList {
  optional string broGroupId = 1;   // 兄弟团id
  optional int32 page = 2;          // 页数
  optional int32 pageSize = 3;      // 每页获取的数量
}

// 兄弟团广场 - 申请加入兄弟团
message apply4JoinGroup {
  optional string broGroupId = 1;   // 兄弟团id
}

// 兄弟团广场 - 邀请好友加入兄弟团 （发送邀请函）
message inviteFriendJoinGroup {
  optional string broGroupId = 1;   // 兄弟团id
  optional string friendId = 2;     // 好友用户id
  optional int32 memberType = 3;   // 成员职位类型
}

// 兄弟团广场 - 兄弟团管理 -> 任命兄弟团成员
message appointMember {
  optional string broGroupId = 1;   // 兄弟团id
  optional string memberUserId = 2; // 成员用户id
  optional int32 memberType = 3;   // 成员职位
}

// 兄弟团广场 - 兄弟团管理 -> 踢出成员
message dismissGroupMember {
  optional string broGroupId = 1;   // 兄弟团id
  optional string memberUserId = 2; // 成员用户id
}

// 兄弟团广场 - 兄弟团管理 -> 修改兄弟团信息
message updateBroGroupData {
  optional string broGroupId = 1;   // 兄弟团id
  //Key类型 - headUrl:兄弟团头像, name:兄弟团名称, sign:签名, position:位置, funLevelLimit:入团等级限制
  repeated string updateKeys = 2;    //修改的key
  repeated string updateValues = 3;  //修改的值
}

// 群管理 - 群名片信息:返回 BrotherGroupResult.BroGroupManageInfo
message getBroGroupManageInfo {
  optional string broGroupId = 1;   // 兄弟团id
}

// 群管理 - 兄弟团成员列表:返回 BrotherGroupResult.BroGroupMemberList
message getBroGroupMemberList {
  optional string broGroupId = 1;   // 兄弟团id
}

// 群管理 - 兄弟团审核列表:返回 BrotherGroupResult.BroGroupAuditList
message getBroGroupAuditList {
  optional string broGroupId = 1;   // 兄弟团id
  optional int32 pageSize = 2;// 获得行数（不能超过100）
  optional int32 pageNum = 3;// 页数
}

// 群管理 - 审核用户加入兄弟团
message audit4JoinGroup {
  optional string broGroupId = 1;   // 兄弟团id
  optional string claimerUserId = 2;// 申请者用户id
  optional int32 auditStatus = 3;  // 审核状态：1.通过  2.拒绝
  optional int32 auditType = 4;    // 类型：1.申请，2.邀请
}

// 群管理 - 退出兄弟团
message exitGroupMember {
  optional string broGroupId = 1;   // 兄弟团id
}

// 群管理 - 全体禁言
message forbidGroup {
  optional string broGroupId = 1;   // 兄弟团id
  optional int32 shutUpTime = 2;    // 禁言时间
}

// 群管理 - 禁言成员
message forbidMember {
  optional string broGroupId = 1;   // 兄弟团id
  repeated string memberUserList = 2; // 被禁言用户id列表
  optional int32 shutUpTime = 3;    // 禁言时间
}

// 群管理 - 设置消息免打扰
message updateMemberMsgFlag {
  optional string broGroupId = 1;   // 兄弟团id
  optional bool msgFlag = 2;        // 是否消息免打扰
}

// 群管理 - 禁言/未禁言成员列表:返回 BrotherGroupResult.BroGroupMemberList
message getForbidMemberList {
  optional string broGroupId = 1;   // 兄弟团id
  optional bool isForbid = 2;       // 是否禁言
}

// 群聊 - 兄弟团群聊页面信息:返回 BrotherGroupResult.BroGroupChatPage
message getBroGroupChatPage {
  optional string broGroupId = 1;   // 兄弟团id
}

// 群聊 - 群内用户信息列表:返回 BrotherGroupResult.BroGroupMemberList
message getBroGroupChatMemberList {
  optional string broGroupId = 1;   // 兄弟团id
  repeated string userIdList = 2;   // 群组用户id列表
}

// 群聊 - 兄弟团在线成员列表:返回 BrotherGroupResult.BroGroupMemberList
message getOnlineMemberList {
  optional string broGroupId = 1;   // 兄弟团id
}

// 群聊 - 兄弟团在直播间成员列表:返回 BrotherGroupResult.BroGroupMemberList
message getInRoomMemberList {
  optional string broGroupId = 1;   // 兄弟团id
}

// 群聊 - 兄弟团升级 - 高光时刻:返回 BrotherGroupResult.ContributingList
message getBroGroupContributingList {
  optional string broGroupId = 1;   // 兄弟团id
  optional int32 level = 2;         // 升级前等级
}

// 群聊 - 兄弟团升级 - 发送祝贺词
message sendBroGroupGreeting {
  optional string broGroupId = 1;   // 兄弟团id
}

// 私聊 - 获取兄弟团邀请函信息:返回BrotherGroupResult.BroGroupInvitationVO
message getBroGroupInvitation {
  optional string broGroupId = 1;   // 兄弟团id
  optional string uuid = 2;         // 邀请函id
}

// 私聊 - 同意受邀加入兄弟团: 返回BrotherGroupResult.BroGroupOperationResult
message agreeJoinBroGroup {
  optional string broGroupId = 1;   // 兄弟团id
  optional string uuid = 2;         // 邀请函id
}

//房间 - 获取在线兄弟团 人数> 3 的
//返回: response/BrotherGroupResult.onlineBroGroupResult
message getOnlineBroGroupList{
  optional string roomId =1 ;
}

//重新推送广播
message reloadRoomCountBroadcast{
  optional string roomId = 1;
}

// 兄弟团转让
message transferBrotherGroup{
  optional string broGroupId = 1;   // 兄弟团id
  optional string memberUserId = 2; // 受转让成员id
  optional string smsCode = 3;      // 手机验证码
}

// 检验兄弟团转让资格
message checkTransBrotherGroup{
  optional string broGroupId = 1;   // 兄弟团id
  optional string memberUserId = 2; // 受转让成员id
}

// 获得兄弟团的成员虚拟形象 返回：BrotherGroupResult.MemberVirtualRoleResult
message getMemberVirtualRole {
  optional string broGroupId = 1;   // 兄弟团id
  optional int32 page = 2;          // 页数
}