syntax = "proto2";

package RoomRewardResult;

option java_package = "com.miaole.live.protocol.response";
option java_outer_classname = "RoomRewardResult";

// 厅奖励配置列表返回
message RoomRewardConfigList {
  repeated RoomRewardConfigInfo list = 1;  // 配置列表
  optional int32 total = 2;                // 总数
  optional int32 maxRatio = 3;             // 系统最大比例限制(%)
}

// 单个厅奖励配置信息
message RoomRewardConfigInfo {
  optional string roomId = 1;              // 厅ID
  optional string roomName = 2;            // 厅名称
  optional int32 totalRatio = 3;           // 厅总比例(%)
  optional int32 rewardRatio = 4;          // 厅奖励比例(%)
  optional int32 mgmtRewardRatio = 5;      // 厅管理奖励比例(%)
  optional string rewardAccountId = 6;     // 厅奖励账号ID
  optional string rewardAccountName = 7;   // 厅奖励账号昵称
  optional string mgmtRewardAccountId = 8; // 厅管理奖励账号ID
  optional string mgmtRewardAccountName = 9;// 厅管理奖励账号昵称
  optional string rewardAccountIcon = 10;     // 厅奖励账号头像
  optional string mgmtRewardAccountIcon = 11;// 厅管理奖励账号头像
}

// 厅奖励修改记录列表返回
message RoomRewardChangeLogList {
  repeated RoomRewardChangeLogInfo list = 1; // 修改记录列表
  optional int32 total = 2;                  // 总数
}

// 单条修改记录信息
message RoomRewardChangeLogInfo {
  // 单个修改维度下的字段：
  optional string roomId = 1;              // 厅ID
  optional string roomName = 2;            // 厅名称
  optional string roomCover = 3;           // 厅封面
  optional int64 changeTime = 4;           // 修改时间(时间戳ms)
  optional int32 oldRewardRatio = 5;       // 原厅奖励比例(%)
  optional int32 newRewardRatio = 6;       // 新厅奖励比例(%)
  optional int32 oldMgmtRewardRatio = 7;   // 原厅管理奖励比例(%)
  optional int32 newMgmtRewardRatio = 8;   // 新厅管理奖励比例(%)
  optional string oldRewardAccountId = 9;  // 原厅奖励绑定账号
  optional string oldRewardAccountName = 10;// 原厅奖励绑定账号昵称
  optional string newRewardAccountId = 11; // 新厅奖励绑定账号
  optional string newRewardAccountName = 12;// 新厅奖励绑定账号昵称
  optional string oldMgmtRewardAccountId = 13;// 原厅管理奖励绑定账号
  optional string oldMgmtRewardAccountName = 14;// 原厅管理奖励绑定账号昵称
  optional string newMgmtRewardAccountId = 15;// 新厅管理奖励绑定账号
  optional string newMgmtRewardAccountName = 16;// 新厅管理奖励绑定账号昵称
  
  // 批量修改维度下的字段：
  optional string batchNo = 17;            // 批量修改批次号
  repeated RoomBriefInfo alteredRooms = 18;// 批量修改的厅列表
  
  optional string operatorId = 19;         // 操作人ID
  optional string operatorName = 20;       // 操作人名称
  optional int32 changeType = 21;          // 修改类型: 0-单个, 1-批量
}

message RoomBriefInfo {
  optional string roomId = 1;              // 厅ID
  optional string roomName = 2;            // 厅昵称
  optional string roomCover = 3;           // 厅封面
}

// 绑定的厅列表返回
message BoundRoomList {
  repeated BoundRoomInfo list = 1;  // 绑定的厅列表
  optional int32 total = 2;         // 总数
}
message BoundRoomInfo {
  optional string roomId = 1;       // 厅ID
  optional string roomName = 2;     // 厅名称
  optional int32 rewardType = 3;    // 绑定类型：1-厅奖励, 2-厅管理奖励
  optional int32 ratio = 4;         // 绑定比例(%)
}
// 收益明细流水返回
message RoomRewardProfitList {
  repeated RoomRewardProfitInfo list = 1; // 收益明细列表
  optional int32 total = 2;               // 总数
}
message RoomRewardProfitInfo {
  optional string orderId = 1;      // 订单ID
  optional string roomId = 2;       // 房间ID
  optional string roomName = 3;     // 房间名称
  optional string senderId = 4;     // 送礼人ID
  optional string senderName = 5;   // 送礼人昵称
  optional int32 rewardType = 6;    // 奖励类型：1-厅奖励, 2-厅管理奖励
  optional int32 ratio = 7;         // 收益比例(%)
  optional double profit = 8;       // 收益金额(元)
  optional double consumeMoney = 9; // 本次消耗总金额(元)
  optional int64 createTime = 10;   // 创建时间(时间戳ms)
}

// 校验奖励账号资格返回
message CheckRewardAccountResult {
  optional string accountId = 1; // 奖励账号ID
  optional string nickName = 2; // 昵称
  optional string headUrl = 3; // 头像
}
