syntax = "proto2";

package BrotherGroupResult;


option java_package = "com.miaole.live.protocol.response";
option java_outer_classname = "BrotherGroupResult";

/** 召唤兄弟广播 **/

message summerBroBroadcast{
  //用户ID
  optional string userId = 1 ;
  //用户头像
  optional string userHead = 2;
  //兄弟团名称
  optional string groupName = 3;
  //用户昵称
  optional string nickName = 4;
  //主播ID
  optional string anchorId = 5 ;
  //房间ID
  optional string roomId = 6 ;
  //主播名称
  optional string anchorName = 7;

}

/**兄弟团降临广播**/
message broGroupArrivalBroadcast{
  // 兄弟团名称
  optional string groupName = 1 ;

  repeated brotherList brotherList = 2;

  optional string  roomId = 3 ;
  //兄弟团等级
  optional int32 level = 4 ;
  //召唤人
  optional string  senderName = 5;
  //召唤次数
  optional int32 summonCount = 6;
  //是否召唤，否为自进房
  optional bool  isSummon = 7;

  //兄弟团旗帜
  optional string flagIcon = 8;
  //旗帜动画
  optional string flagEffect = 9;

}

message brotherList{
  //用户昵称
  optional string nickName = 1 ;
  //头像地址
  optional string headUrl = 2 ;
  // 团员类型：1.团长 2.副团长 4.堂主 8.普通团员
  optional int32  position = 3;
  //当前贵族 0 为没有贵族富等级
  optional int32 nobleId = 4;
  /** 是否使用了隐身卡 **/
  optional bool  warriorCloak = 5;
  //用户ID
  optional string userId = 6 ;
}


/**兄弟团红包祝福语**/
message moralText{
  optional string moral = 1 ;
}
//红包类型列表
message broGroupRedEnvelopeTypeList{
  repeated broGroupRedEnvelopeType info = 1;
}
/** 兄弟团红包类型 **/
message broGroupRedEnvelopeType{
  optional string id = 1;
  //背景图片
  optional string backgroundUrl = 2;

  //群等级限制 默认0
  optional int32 levelLimit = 3 ;
  //红包类型 1: 成员版 2: 炫耀版 3: 全世界版本
  optional int32  type = 4;
  //最大发送数量
  optional int32 maxSendCount = 5;
  //是否上锁
  optional  bool isLock = 6 ;
  //最低金额
  optional  double minimum = 7 ;

}
/** 红包信息详情 **/
message redEnvelopeData{
  //数据类型:1.抢成功 ,2.被领完,3.已领取,4.过期
  optional int32 state = 1;

  optional redEnvelopeInfo info = 2 ;

  repeated redEnvelopeDetail  detail = 3;

}

message redEnvelopeInfo{
  // 抢完时间 秒
  optional int32 grabTime = 1;
  // 发送者ID
  optional string  senderId = 2;

  optional string  userHead = 3;
  // 发送金额 vv
  optional double  totalAmount = 4;
  // 价值xxx钻石
  optional int32 diamondAmount = 5;
  // 红包数量
  optional int32  redEnvelopeCount = 6;
  // 礼物数量
  optional int32  giftCount = 7;
  // 未领取数量
  optional int32  unReceiveCount = 8;
  // 红包总数量
  optional int32  totalCount = 9;
  // 已领取价值
  optional int32  receiveAmount = 10;
  //用户昵称
  optional string nickName = 11;

  //红包类型 1: 成员版 2: 炫耀版 3: 全世界版本
  optional int32  type = 12;

  optional string  moral = 13;
  // 已领取的红包数量
  optional int32  receiveRedEnvelopeCount = 14;

  // 是否运气王
  optional  bool  isOptimum = 15;
}

/** 红包详情列表 **/
message redEnvelopeDetail{

  optional  string userHead = 1;

  optional  string  userId = 2;
  //价值多少钻石
  optional  int32  amount = 3;
  // 领取时间
  optional  int64  logTime = 4;
  // 是否运气王
  optional  bool  isOptimum = 5;
  // 1 红包 2 礼物
  optional int32  type = 6;
  //礼物封面图
  optional string  giftCover = 7 ;
  //用户昵称
  optional string  nickName = 8 ;
  //礼物名称
  optional string giftName = 9;
}



message  openRedEnvelopeResult {

  //数据类型:1.抢成功 ,2.被领完,3.已领取,4.过期
  optional int32 state = 1;

  optional redEnvelopeDetail detail = 2;
  //祝福语
  optional string moral = 3;
}


/**红包记录start **/
/** 我收到的**/
message  redEnvelopeReceiveHistory{
  optional baseHistoryInfo info = 1 ;
  repeated  receiveLog logList = 2;
  optional int32  total = 3; //logList 总数量

}




/** 红包记录 - 我发出的 **/
message  redEnvelopeSendHistory{

  optional baseHistoryInfo info = 1 ;

  repeated sendLog logList = 2;

  optional int32  total = 3; //logList 总数量

}


message baseHistoryInfo{

  /** 用户ID **/
  optional string  userId = 1 ;

  /** 用户头像 **/
  optional  string userHead = 2 ;

  /** 用户数量 **/
  optional int32  count = 3 ;
  /** 价值 **/
  optional double  value = 4;
  /** 相当于xxx多少价值 **/
  optional double  showValue = 5 ;

}


message sendLog{

  /** 红包寓意 **/
  optional string moral = 1 ;

  optional int64 logTime = 2;

  /** 价值多少vv 币**/
  optional double value = 3 ;

  /**
   * 发送数量
   */
  optional int32 sendCount = 4;

  /** 已接受多少 **/
  optional int32 receivedCount = 5 ;

}

message receiveLog{
  optional string userId = 1 ;

  optional string userHead = 2;

  optional int64 logTime = 3 ;
  /**
   * 价值
   **/
  optional int32 value = 4 ;
  /**
   * 1: 红包 2. 礼物
   **/
  optional int32 type = 5 ;

  /**
   * 礼物名称
   **/
  optional string giftName = 6 ;

  /**
   * 礼物封面图
   **/
  optional string giftCover = 7 ;

  /** 发送者名称 **/
  optional string nickName = 8;
  /** 价值多少 **/
  optional double  showValue = 9;

}

//使用记录
message usedTypeLog{
  //红包类型 1: 成员版 2: 炫耀版 3: 全世界版本
  optional int32  type = 1;
  //红包类型的Id
  optional string id = 2;
  //最大发送数量
  optional int32 maxSendCount = 5;
  //最低发送金额
  optional double minimum = 3;

}

/**红包记录 end **/

/**兄弟团邀请函信息**/
message BroGroupInvitationVO{
  // 兄弟团id
  optional string brotherGroupId = 1 ;
  // 邀请人id
  optional string inviterId = 2 ;
  // 邀请人名称
  optional string inviterName = 3 ;
  // 受邀人id
  optional string userId = 4 ;
  // 兄弟团名称
  optional string broGroupName = 5 ;
  // 状态：-1.可加入，0.加入中，1.已加入，2.对方审核不通过，3.已过期，4.邀请函失效
  optional int32 inviteType = 6 ;
}

/**兄弟团成员列表**/
message BroGroupMemberList{
  // 兄弟团列表
  repeated BroGroupMember broMemberList = 1;
}

/**‘我的兄弟团’信息**/
message MyBroGroupInfo{
  // 兄弟团信息
  optional BroGroupData broGroupData = 1 ;
  // 兄弟团成员列表
  repeated BroGroupMember broMemberList = 2;
}

message BroGroupData{
  // 兄弟团id
  optional string broGroupId = 1 ;
  // 用户id
  optional string userId = 2 ;
  // 兄弟团名称
  optional string broGroupName = 3 ;
  // 兄弟团头像
  optional string headUrl = 4;
  // 兄弟团等级
  optional int32 level = 5;
  // 兄弟团旗帜
  optional string flagIcon = 6;
  // 兄弟团签名
  optional string signature = 7;
  // 兄弟团铭牌
  optional string nameplate = 8;
  // 兄弟团成员上限
  optional int32 memberLimit = 9;
  // 兄弟团成员总数
  optional int32 memberCount = 10;
  // 兄弟团威望值
  optional int64 totalExp = 11;
  // 兄弟团升级所需威望值
  optional int64 upgradeExp = 12;
  // 兄弟团下一等级成员上限
  optional int32 upgradeMemberCount = 13;
  // 本周排名
  optional int32 rankingOfWeek = 14;
  // 上周排名
  optional int32 rankingOfLastWeek = 15;
  // 创建时间
  optional int64 createTime = 16;
  /** 地标 **/
  optional string position = 17;
  /** 入团财富等级限制 **/
  optional int32 funLevelLimit = 18;
  /** 类型：1-可加入；2-申请加入中；3-我的兄弟团；4-不可申请(已加入兄弟团) **/
  optional int32 type = 19;
  /** 成员职位：1.团长 2.副团长 4.堂主 8.普通团员 **/
  optional int32 memberType = 20;

}

message BroGroupMember{
  // 成员id
  optional string userId = 1 ;
  // 成员名称
  optional string nickName = 2 ;
  // 成员头像
  optional string headUrl = 3 ;
  // 成员职位
  optional string title = 4 ;
  // 成员职位类型
  optional int32 memberType = 5 ;
  // 威望值
  optional int64 exp = 6 ;
  // 贵族ID
  optional int32 nobleId = 7 ;
  // 成员所在房间id
  optional string roomId = 8 ;
  // 状态：0.待邀请；1.已存在；2.邀请中；3.审核中
  optional int32 memberStatus = 9 ;
  // 成员头像框id
  optional string headFrameId = 10 ;
  // 气泡id
  optional string useBubbleId = 11 ;
  // 是否vip
  optional bool isVip = 12 ;
  //VIP类型  30:月度会员 90:季度会员 180:半年度会员 360:年度会员
  optional int32 vipType = 13;
}


// 待抢红包信息详情
message RedEnvelopeReceiveDetail{
  optional string id = 1;                                     // 唯一ID
  optional string sender = 2;                                 // 发送者昵称
  optional string headUrl = 3;                                // 发送者头像
  optional string moral = 4;                                  // 寓意
  optional bool canOpen = 5;                                  // 是否有权限打开详情界面
  //数据类型:1.抢成功 ,2.被领完,3.已领取,4.过期 0 未领取
  optional int32 state = 6;
  //红包类型 1: 成员版 2: 炫耀版 3: 全世界版本
  optional int32  type = 7;
  // 当state = 3 的时候同时返回领取的详情信息
  optional redEnvelopeItemInfo info = 8;

}


message redEnvelopeItemInfo{
  //价值多少钻石
  optional  int32  amount = 1;
  // 领取时间
  optional  int64  logTime = 2;
  // 1 红包 2 礼物
  optional int32  type = 3;
  //礼物封面图
  optional string  giftCover = 4 ;
  //礼物名称
  optional string giftName = 5;
  /** 相当于xxx多少价值 **/
  optional double  showValue = 6 ;
}


message ContributingList{
  repeated MemberContributing contributingList = 1;
}

// 兄弟团升级贡献榜成员信息
message MemberContributing{
  // 兄弟团id
  optional string broGroupId = 1;
  // 用户id
  optional string userId = 2;
  // 用户头像
  optional string userHeadUrl = 3;
  // 用户昵称
  optional string userNickname = 4;
  // 成员职位key：1.团长 2.副团长 4.堂主 8.普通团员
  optional int32 memberType = 5;
  // 成员职位
  optional string memberTypeName = 6;
  // 威望值
  optional int64 exp = 7;
}

// 兄弟团广场 -- 兄弟团列表
message BrotherGroupList{
  repeated BrotherGroupInfo brotherGroupList = 1;
}
message BrotherGroupInfo{
  /** 兄弟团头像 **/
  optional string headUrl = 1;
  /** 兄弟团等级 **/
  optional int32 level = 2;
  /** 兄弟团旗帜 **/
  optional string flagIcon = 3;
  /** 兄弟团铭牌 **/
  optional string nameplate = 4;
  /** 兄弟团名称 **/
  optional string broGroupName = 5;
  /** 入团人数限制 **/
  optional int32 memberLimit = 6;
  /** 入团人数 **/
  optional int32 memberCount = 7;
  /** 好友头像 **/
  optional string friendHeadUrl = 8;
  /** 兄弟团月榜单排名 **/
  optional int32 groupRanking = 9;
  /** 兄弟团成员头像 **/
  repeated string memberHeadUrls = 10;
  /** 类型：1-可申请；2-申请中；3-我的兄弟团；4-不可申请(已加入兄弟团) **/
  optional int32 type = 11;
  // 兄弟团id
  optional string broGroupId = 12;
  // 兄弟团勋章
  optional string medalIcon = 13;
}

// 兄弟团成员审核列表
message BroGroupAuditList{
  repeated BroGroupAuditInfo broGroupAuditList = 1;
}
message BroGroupAuditInfo{
  /** 用户名称 **/
  optional string nickName = 1;
  /** 用户头像 **/
  optional string headUrl = 2;
  /** 用户id **/
  optional string userId = 3;
  /** 邀请者名称 **/
  optional string inviterName = 4;
  /** 类型：1.申请，2.邀请 **/
  optional int32 type = 5;
  /** 审核状态：0.待审核，1.同意加入，2.拒绝加入，3.审核过期 **/
  optional int32 auditStatus = 6;
}

// 兄弟团好友邀请列表
message FriendList{
  repeated BroGroupFriend friendList = 1;
}
message BroGroupFriend{
  /** 用户名称 **/
  optional string nickName = 1;
  /** 用户头像 **/
  optional string headUrl = 2;
  /** 用户id **/
  optional string userId = 3;
  /** 贵族ID **/
  optional int32 nobleId = 4;
  /** 邀请状态: 0-未邀请；1-已邀请；2-审核中 **/
  optional int32 inviteStatus = 5;
}

// 兄弟团相关信息
message BroGroupInfo{
  /** 兄弟团id **/
  optional string broGroupId = 1;
  /** 兄弟团头像 **/
  optional string headUrl = 2;
  /** 兄弟团等级 **/
  optional int32 level = 3;
  /** 兄弟团勋章 **/
  optional string medalIcon = 4;
  /** 兄弟团铭牌 **/
  optional string nameplate = 5;
  /** 兄弟团名称 **/
  optional string broGroupName = 6;
  /** 入团人数限制 **/
  optional int32 memberLimit = 7;
  /** 入团人数 **/
  optional int32 memberCount = 8;
  /** 兄弟团签名 **/
  repeated string sign = 9;
  /** 勋章佩戴状态 **/
  optional string medalStatus = 10;
  /** 创建时间 **/
  optional int64 createTime = 11;
}

//在线兄弟团列表返回
message onlineBroGroupResult{
  repeated onlineBroGroupList list = 1 ;

}

// 在线兄弟团
message onlineBroGroupList{
  //在线用户
  repeated onlineBroGroup info = 1 ;
  //兄弟团名称
  optional string broGroupName = 2 ;
  //兄弟团ID
  optional  string  broId = 3 ;
  //兄弟团等级
  optional int32 level = 4;


}

//在线兄弟团用户信息
message onlineBroGroup{

  optional string userId = 1 ;

  optional string nickName = 2;

  optional string headUrl = 3;
  /** 职位  **/
  optional int32 position = 4;
  /**
   * 贵族ID
   **/
  optional int32 nobleId = 5;
  /** 是否使用了隐身卡 **/
  optional bool  warriorCloak = 6;
}

// 我的 - 兄弟团基础数据
message BroGroupBaseData{
  /** 兄弟团id 为空标识未加入兄弟团 **/
  optional string broGroupId = 1;
  /** 兄弟团头像 **/
  optional string headUrl = 2;
  /** 兄弟团等级 **/
  optional int32 level = 3;
  /** 兄弟团氪勋章 **/
  optional string medalIcon = 4;
  /** 氪勋章佩戴情况 **/
  optional bool medalStatus = 5;
  //兄弟团名称
  optional string broGroupName = 6;
}

// 群管理 - 群名片信息
message BroGroupManageInfo{
  /** 兄弟团id **/
  optional string broGroupId = 1;
  /** 兄弟团名称 **/
  optional string broGroupName = 2;
  /** 兄弟团头像 **/
  optional string headUrl = 3;
  /** 兄弟团等级 **/
  optional int32 level = 4;
  /** 兄弟团铭牌 **/
  optional string nameplate = 5;
  /** 入团人数 **/
  optional int32 memberCount = 6;
  /** 入团人数限制 **/
  optional int32 memberLimit = 7;
  /** 入团时间 **/
  optional int64 joinTime = 8;
  /** 是否消息免打扰 **/
  optional bool msgFlag = 9;
  /** 是否全员禁言 **/
  optional bool isAllForbid = 10;
  // 成员职位类型
  optional int32 memberType = 11 ;
  /** 禁言人数 **/
  optional int32 ForbidCount = 12;
  /** 用户头象URL(4个) **/
  repeated string userHeadUrls = 13;

}

// 群聊 - 兄弟团群聊页面信息
message BroGroupChatPage{
  /** 兄弟团id **/
  optional string broGroupId = 1;
  /** 兄弟团名称 **/
  optional string broGroupName = 2;
  /** 当前职位： 1.团长 2.副团长 4.堂主 8.普通团员 **/
  optional int32 memberType = 3;
  /** 入团人数 **/
  optional int32 memberCount = 4;
  /** 入团人数限制 **/
  optional int32 memberLimit = 5;
  /** 在线人数 **/
  optional int32 onLineCount = 6;
  /** 在房人数 **/
  optional int64 inRoomCount = 7;
  /** 全员禁言 **/
  optional bool isAllForbid = 8;
  /** 禁言人数 **/
  optional int32 forbidCount = 9;
  /** 我的禁言状态 **/
  optional bool myForbid = 10;
  /** 是否消息免打扰 **/
  optional bool msgFlag = 11;
  /** 进入时间 **/
  optional int64 enterTime = 12;
  /** 最后申请入群的时间 **/
  optional int64 lastApplyTime = 13;
  /** 群聊背景 **/
  optional string chatBackground = 14;
}

message createBroGroupResult{
  // 兄弟团次序（第几个兄弟团）
  optional int32 broGroupNum = 1 ;
}

// 兄弟团操作返回参数
message BroGroupOperationResult{
  // 返回状态 1-已加入；2-审核中
  optional int32 status = 1;
  // 操作类型 1-同意邀请 （作冗余用，暂时可忽略）
  optional int32 operationType = 2;
}

// 兄弟团在房广播
message BroGroupRoomCountBroadcast{
  //当前在房兄弟团数量
  optional  int64 count = 1;
}

//使用兄弟团广播提醒
message useSummonBroadcast{
  //勋章等级
  optional int32  iconLevel = 1;
  //操作人ID
  optional string  optUserId =2;
  //昵称
  optional string  nickName =3;
  //勋章
  optional string  medalIcon =4;
}

//用户退出兄弟团广播
message exitBroGroupBroadcast{
  // 兄弟团id
  optional string broGroupId = 1;
  // 退出类型：1.退出；2.踢出；3.解散
  optional int32 exitType = 2;
}

//更新兄弟团信息广播
message updateBroGroupBroadcast{
  //兄弟团ID
  optional string broGroupId = 1;
  //更新（回收）类型: 1 勋章 2. 战旗 3. 礼物 4. 座驾
  optional int32 type =2 ;
}

//兄弟团成员虚拟形象包装数据
message MemberVirtualRoleResult {
  //成员虚拟形象列表
  repeated MemberVirtualRoleInfo list = 1;
}

//成员虚拟形象数据
message MemberVirtualRoleInfo {
  optional string userId = 1;
  optional string nickName = 2;
  optional string headUrl = 3;
  optional string virtualRoleImageUrl = 4;//用户的虚拟形象uri(不含域名) 未创建虚拟用户时为空
  optional bool roleImageOverTime = 5;//用户的虚拟形象是否过期
}