syntax = "proto2";

package BagCmd;

//option optimize_for = LITE_RUNTIME;

option java_package = "com.miaole.live.protocol.request";
option java_outer_classname = "BagCmd";

//获得用户钱包数据:返回BagResult.Wallet
message getWallet {
}

//获取礼物列表:返回BagResult.GiftList
message getGiftList {
}

// 获取道具列表:返回BagResult.PropList
message getPropList {
}

// 获取包裹列表:返回BagResult.PackageList
message getPackageList {
}

//获取座驾列表:返回BagResult.CarList
message getCarList {
  optional string tagetUserId = 1; // 目标用户id，不传查自己
}

//赠送礼物
message sendGift {
  optional string userId = 1; //接收的玩家ID
  optional string giftId = 2; //赠送的礼物ID
  optional int32 giftNum = 3; //赠送的礼物数量
  optional string roomId = 4; //当前房间ID
}

//购买座驾
message buyCar {
  optional string carId = 1; //购买的座驾ID
  optional int32 timeType = 2; //购买时间类型(1:1个月，2:1年)
}

//使用座驾(上车)
message useCar {
  optional string goodsId = 1;
  optional bool flag = 2; //true为使用座驾，false为取消座驾
  optional string cpUserId = 3;//cp用户ID
}

//发送弹幕
//message sendBarrage {
//  optional string userId = 1; //接收的玩家ID
//  optional string barrage = 2; //发送的弹幕内容
//  optional string roomId = 3; //当前房间ID
//}

//发送活动弹幕
//message sendActBarrage {
//  optional string userId = 1; //接收的玩家ID
//  optional string barrage = 2; //发送的弹幕内容
//  optional string roomId = 3; //当前房间ID
//  optional int32 actType = 4; //活动类型
//}

//新赠送礼物
message sendGiftNew {
  optional string userId = 1; //接收的玩家ID
  optional string giftId = 2; //赠送的礼物ID
  optional int32 giftNum = 3; //赠送的礼物数量
  optional string roomId = 4; //当前房间ID
  optional int32 groupNum = 5; // 分组数量，默认为1，总数量=giftNum X groupNum
  optional string prankId = 6; //整蛊点单项目id
  optional string voicePrankId = 7; //语音整蛊点单项目id
  optional string loveTemplateId = 8; //520告白情书模板id
  optional int32 micPosition = 9 ; //语音麦位
  optional string graffitiPointData = 10; // 涂鸦礼物描点数据
}

// 精品整蛊赠送礼物
message sendPremiumPrankGift {
  optional string giftInfoListStr = 1; // 赠送礼物列表json
  optional string userId = 2; //接收的玩家ID
  optional string roomId = 3; //当前房间ID
  optional string premiumPrankId = 4; // 项目id
  optional int32 type = 5; // 类型（1-语音 2-视频）
  optional string content = 6; // 整蛊文案
}

//新赠送礼物给多个用户
message sendGifts {
  repeated string userId = 1; //接收的玩家ID数组
  optional string giftId = 2; //赠送的礼物ID
  optional int32 giftNum = 3; //赠送的礼物数量
  optional string roomId = 4; //当前房间ID
  optional int32 groupNum = 5; // 分组数量，默认为1，总数量=giftNum X groupNum
  optional string prankId = 6; //整蛊点单项目id
  optional bool notSendAllMic = 7; //不是送全麦
  optional string voicePrankId = 8; //语音整蛊点单项目id
  optional string loveTemplateId = 9; //520告白情书模板id
  optional int32 micPosition = 10 ; //语音麦位
  optional string graffitiPointData = 11; // 涂鸦礼物描点数据
}

//发放包裹礼物给多个用户
message sendPackageGifts {
  optional string giftId = 1; //礼物ID
  optional int32 num = 2; //数量
  repeated string userIds = 3; //接收的玩家ID数组
  optional string roomId = 4; //当前房间ID
  optional int32 groupNum = 5; // 分组数量，默认为1，总数量=giftNum X groupNum
  optional bool notSendAllMic = 6; //不是送全麦
  optional int32 micPosition = 7 ; //语音麦位
}

//发放包裹礼物
message sendPackageGift {
  optional string giftId = 1; //礼物ID
  optional int32 num = 2; //数量
  optional string userId = 3; //接收的玩家ID
  optional string roomId = 4; //当前房间ID
  optional int32 groupNum = 5; // 分组数量，默认为1，总数量=giftNum X groupNum
  optional int32 micPosition = 6 ; //语音麦位
}


//发放百福卡包裹礼物给用户
message sendHundredBoxGifts {
  optional string giftId = 1; //礼物ID
  optional int32 num = 2; //数量
  repeated string userIds = 3; //接收的玩家ID数组
  optional string roomId = 4; //当前房间ID
  optional int32 groupNum = 5; // 分组数量，默认为1，总数量=giftNum X groupNum
  optional bool notSendAllMic = 6; //不是送全麦
  optional int32 micPosition = 7 ; //语音麦位
  optional int32 sendType = 8 ; //赠送类型
}

// 获得元宝商城商品库存，返回BagResult.IngotsShopRemainList
//message getIngotsShopRemainList {
//
//}

// 兑换元宝商城商品
//message exchangeIngotsGoods {
//  optional string goodsId = 1; // 元宝商品Id
//  optional int32 num = 2; // 数量
//  optional string contactName = 3; // 联系人
//  optional string contactPhone = 4; // 联系电话
//  optional string address = 5; // 地址
//}
////打赏礼物下单(与八门神器联运时用于对账),返回BagResult.rewardGiftOrderVO
//message rewardGiftOrder {
//  repeated string userId = 1; //接收的玩家ID数组
//  optional string giftId = 2; //赠送的礼物ID
//  optional int32 giftNum = 3; //赠送的礼物数量
//  optional string roomId = 4; //当前房间ID
//  optional int32 groupNum = 5; // 分组数量，默认为1，总数量=giftNum X groupNum
//  optional int32 operateChannel = 6; //联运渠道（1:八门神器）
//}
////打赏礼物（运营方渠道处）
//message sendGiftInChannel {
//  optional string orderId = 1; //订单id
//  optional string sourceType = 2; //数据源类型（6：送礼物,51:盖章）
//}

//获得免费礼物数据BagResult.FreeGiftDataInfo
message getFreeGiftData {

}

// 赠送福袋礼物
//message sendBlessingBagGift {
//  optional string userId = 1; //接收的玩家ID
//  optional string giftId = 2; //赠送的礼物ID
//  optional int32 giftNum = 3; //赠送的礼物数量
//  optional string roomId = 4; //当前房间ID
//}

// 发送盘TA，返回广播 LiveResult.FightSpecialBroadcast
message sendInquire {
  optional string roomId = 1;// 当前房间Id
}

// 开宝箱
message openBox {

}

// 获取宝箱任务已完成的数值 返回CommonResult.LongResult
message getBoxTaskNum{

}

//处理礼物连击断开
message handleGiftComboEnd {
  optional string roomId = 1; //房间ID
  optional string userId = 2; //接收的玩家ID
  optional string giftId = 3; //赠送的礼物ID
  optional int32 giftNum = 4; //赠送的礼物数量
  optional int32 groupNum = 5; //分组数量，默认为1，总数量=giftNum X groupNum
}

// 获得周星礼物信息，返回BagResult.WeekStarGiftInfo
message getWeekStarGiftInfo {
  optional string weekStarGiftId = 1;// 周星礼物
}

// 获取本周周星礼物，返回CommonResult.StringArrayResult
message getWeekStarGifts {
}

// 使用财富等级经验卡
message useExpCard {
  required string cardId = 1; //经验卡id
}

// 使用贵族体验卡
message useNobleTrialCard {
  required string cardId = 1; //贵族体验卡id
}

// 获取包裹栏列表：包含道具和包裹奖励:返回BagResult.PackageList
message listProp {
}

// 获取纪念卡礼物列表 :返回BagResult.SouvenirCardGiftList
message listSouvenirGiftList {

  optional int32 cardType = 1; //纪念卡类型
}


// 获取贵族礼物列表 :返回BagResult.NobleGiftList
message listNobleGiftList {


}


// 获取贵族礼物详情 :返回BagResult.NobleGiftDetail
message getNobleGiftDetail {

  optional string giftId = 1; //礼物ID

}

// 私聊送礼
message sendGiftByChat {
  optional string receiverId = 1; //接收的玩家ID
  optional string giftId = 2; //赠送的礼物ID
  optional int32 giftNum = 3; //赠送的礼物数量
  optional int32 sendType = 4; //送礼类型 1 礼物面板 2 包裹礼物 3纪念卡礼物
  optional string souvenirCardId = 5; //纪念卡ID
}

// 房间聊天送礼
message sendGiftByRoomChat {
  optional string roomId = 1; //接收的玩家ID
  optional string receiverId = 2; //接收的玩家ID
  optional string giftId = 3; //赠送的礼物ID
  optional int32 giftNum = 4; //赠送的礼物数量
  optional int32 sendType = 5; //送礼类型 1 礼物面板 2 包裹礼物
}

//查收私聊礼物
message confirmGiftByChat {
  optional string receiverId = 1; //接收的玩家ID(接收查收消息的玩家)
  optional string giftId = 2; //赠送的礼物ID
  optional int32 giftNum = 3; //赠送的礼物数量
  optional string orderId = 4; //订单ID
  optional string msgId = 5; //消息ID
  optional string msgDate = 6; //消息日期 YYYY-MM-DD hh:mm:ss
  optional string roomId = 7;//房间ID
}

// 使用至臻贵族体验卡
message useNobleVipCard {
  required string cardId = 1; //至臻贵族体验卡id
}

//前端主动触发广播获取消费超额广播
message getConsumeExcessStausByBroadCast{
}

// 获取周星冠名礼物，返回BagResult.WeekStarGiftList
message getWeekStarGiftList {
}

// 获取已结算周星冠名礼物榜首，返回BagResult.WeekStarInfo
message getWeekStarByGiftId {
  optional string giftId = 1;// 指定礼物id
}

// 赠送互动礼物
message sendInteractGift {
  optional string roomId = 1;// 房间ID
  repeated string receiverIds = 2;//接收的用户ID
  repeated string gifts = 3;//接收的礼物ID
  repeated int32 indexes = 4;//接收的用户麦位
  optional string sendType = 5;//赠送类型
}

// 获取定制火箭界面信息，返回BagResult.CustomRocketPageInfo
message getCustomRocketPageInfo {
  optional string rocketId = 1;// 火箭ID
  optional string receiverId = 2;// 接收者ID
}

// 自定义火箭重置
message customRocketReset {
  optional string rocketId = 1;// 火箭ID
}

// 赠送自定义火箭
message sendCustomRocket {
  optional string rocketId = 1;// 火箭ID
  optional string suit = 2;// 套装
  optional string color = 3;// 颜色
  optional string sticker = 4;// 贴纸
  optional string wing = 5;// 机翼
  optional string ejector = 6;// 喷射器
  optional string jetflame = 7;// 喷射火焰
  optional string flybg = 8;// 升空背景
  optional string pic = 9;// 图片
  optional string receiverId = 10;// 接收者ID
  optional string roomId = 11;// 房间ID
}

// 获取本王牌礼物，返回BagResult.TrumpGiftList
message getTrumpGiftList {
}

// 获取礼物王牌榜首，返回BagResult.TrumpInfo
message getTrumpByGiftId {
  optional string giftId = 1;// 指定礼物id
}

// 获取荣耀连击礼物，返回BagResult.ComboGiftList
message getComboGiftList {
  optional string version = 1;// 版本号
}

// 获取礼物荣耀连击，返回BagResult.ComboInfo
message getComboByGiftId {
  optional string giftId = 1;// 指定礼物id
  optional string roomId = 2;// 房间id
}

// 使用福袋助力箱
message useLuckBagHelpBox {
}

// 发送pk玩法礼物，返回广播 BagResult.SendPKGameGiftBroadcast
message sendPKGameGift {
  optional string roomId = 1;// 房间Id（本房）
  optional int32 gameType = 2;// 玩法类型（1：嘲讽，2：攻占）
}

// 发送PK排位赛跨屏 BagResult.SendPKGameGiftBroadcast
message sendPkCrossScreenGift {
  optional string roomId = 1; // 房间ID
  optional string giftId = 2; // 礼物ID
}

// 获取活动礼物冠名信息，返回 BagResult.GiftNamingInfo
message getActGiftNamingInfo {
}

// 根据礼物id获取冠名礼物信息 返回值:SpecialLuckyBagResult.GiftNamingInfo
message getGiftNamingRankInfo{
  optional string giftId = 1;    // 礼物id
  optional string version = 2;    // 版本号（APP新老包兼容）
}

// 获取高甜时刻礼物，返回BagResult.ComboGiftList
message getHighSweetGiftList {
  optional string version = 1;// 版本号
}

// 获取礼物高甜时刻，返回BagResult.ComboInfo
message getHighSweetByGiftId {
  optional string giftId = 1;// 指定礼物id
  optional string anchorId = 2;// 主播id
}


// 获取礼物樱桃庄园关系绑定信息，返回BagResult.CherryGardenBindInfo
message getCherryGardenBindInfo {
  optional string giftId = 1;// 指定礼物id
  optional string anchorId = 2;// 主播id
}

// 获取寻龙礼物信息
message getHuntGiftInfo {
  optional string giftId = 1;// 礼物id
}

// 获取超级大玩咖活动礼物信息
message getSuperPlayerGiftInfo {
  optional string giftId = 1;// 礼物id
}

// 获取用户财富等级信息
message getUserFunLevelInfo {

}

// 发送一日为师终身为父玩法礼物
message sendTeacherGameGift {
  optional string giftId = 1;// 礼物id
  optional string receiverId = 2;// 接收者ID
}

// 获取道具CP用户数据 返回：UserResult.SimpleUserInfoList
message getItemCpUser {
  optional int32 type = 1;//道具类型  1：座驾，25：主页飘，27：流光秀
  optional string itemId = 2;//道具ID
  optional bool includeExpire = 3; // 是否包括过期的 （true是,不传或者false不是）
}

// 获取爱的宣言礼物信息 BagResult.LoveDeclarationGiftDetail
message getLoveDeclarationGiftInfo {
  optional string giftId = 1;// 礼物id
}

// 获取冠名礼物列表 BagResult.NamingGiftList
message getNamingGiftList {

}

// 获取本周周星冠名礼物榜单信息，返回BagResult.ThisWeekStarGiftRankInfo
message getThisWeekStarGiftRankInfo {
  optional string giftId = 1;// 指定礼物id
  optional string receiverId = 2;// 收礼人id
}

// 获取超级大玩咖活动礼物信息
message getSuperPlayerGiftInfoV2 {
  optional string giftId = 1;// 礼物id
}

// 前置送礼物检测
message preCheckSendGift {
  optional string userId = 1; //接收的玩家ID
  optional string giftId = 2; //赠送的礼物ID
  optional int32 giftNum = 3; //赠送的礼物数量
  optional string roomId = 4; //当前房间ID
}


// 获取告白礼物信息 壁咚你、我想对你说
message getConfessionGiftInfo {
  optional string giftId = 1;// 礼物id
}

// 获取房间用户倒计时
message getRoomCountDown {
  optional string roomId = 1;// 房间id
}

// 获取端午文案信息,返回BagResult.DuanWu2025Text
message getDuanWu2025TextInfo {
  optional string giftId = 1;// 礼物id
}
// 获取滚烫人生礼物信息,返回BagResult.ScorchingLifeGiftInfo
message getScorchingLifeGiftInfo {
  optional string giftId = 1;// 礼物id
}


// 获取新人整蛊礼包详情 返回BagResult.NewcomerPrankInfo
message getNewcomerPrankGift {
}

// 打开新人整蛊礼包信息
message openNewcomerPrankGift {
  optional string userId = 1; // 用户ID
  optional string productId = 2; // 产品ID
}

//获取夏日礼遇礼物获得奖励次数
message getSummerBenefitsGift {
  optional string giftId = 1; // 礼物ID
}

// 获取固定玩法模板文案信息,返回BagResult.ActivityTaskTemplateInfo
message getActivityTaskTemplateInfo {
  optional string giftId = 1;// 礼物id
}


// 获取固定玩法模板文案信息,返回BagResult.ActivityTaskTemplateInfoV2
message getActivityTaskTemplateInfoV2 {
  optional string giftId = 1;// 礼物id
}

//获取活动是否结束，返回BagResult.ActivityOverFlagInfo
message getActivityOverFlag {
}

// 获取固定玩法符合活动的礼物，返回BagResult.ActivityTaskTemplateGiftList
message getActivityTaskTemplateGiftList {

}

// 送活动礼盒
message sendActivityGiftBox {
  repeated string userIds = 1; //接收的用户ID数组
  optional string giftId = 2; //赠送的礼物ID
  optional int32 giftNum = 3; //赠送的礼物数量
  optional int32 groupNum = 4; // 分组数量，默认为1，总数量=giftNum X groupNum
  optional string roomId = 5; //当前房间ID
  optional bool notSendAllMic = 6; //不是送全麦
  optional int32 micPosition = 7 ; //语音麦位
  optional string actId = 8; //活动ID
}

// 获取活动礼盒信息
message getActivityGiftBoxInfo {
  optional string giftId = 1;// 礼物id
  optional string actId = 2; //活动ID
}

// 秦始皇礼物 BagResult.QinGiftInfo
message getQinGiftInfo {
  optional string giftId = 1;// 礼物id
}


// 赠送生日定制文案礼物
message sendBirthdayCustomTextGift {
  optional string giftId = 1;// 礼物id
  optional string text = 2;// 定制文案
  optional string receiverId = 3;// 接收者ID
  optional string roomId = 4;// 房间ID
}

// 流星礼物参与许愿 BagResult.ShootingStarWishInfo
message getShootingStarWishInfo {
  optional string giftId = 1;//礼物id
}

//流星雨礼物许愿成功记录 BagResult.WishSuccessRecordInfo
message getWishSuccessRecordInfo {
}

//获取当前服务器时间，毫秒 BagResult.CurrentTimeInfo
message getCurrentTime {
}

//使用活动一次性勋章(上车)
message useUserActivityOnceMedal {
  optional string medalId = 1;
  optional bool flag = 2; //true为使用勋章，false为取消勋章
}