From d455d24016123778a345e699c035122fdfc0f4c3 Mon Sep 17 00:00:00 2001 From: ZuoZuo <68836346+Mrz-sakura@users.noreply.github.com> Date: Mon, 15 Jun 2026 23:53:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=BA=E5=99=A8=E4=BA=BA=E6=88=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/proto/activity/v1/activity.pb.go | 2 +- api/proto/activity/v1/activity_grpc.pb.go | 2 +- api/proto/events/room/v1/events.pb.go | 281 ++- api/proto/events/room/v1/events.proto | 25 + api/proto/game/v1/game.pb.go | 2 +- api/proto/game/v1/game_grpc.pb.go | 2 +- api/proto/robot/v1/robot.pb.go | 2 +- api/proto/robot/v1/robot_grpc.pb.go | 2 +- api/proto/room/v1/room.pb.go | 2141 ++++++++++++----- api/proto/room/v1/room.proto | 87 + api/proto/room/v1/room_grpc.pb.go | 184 +- api/proto/user/v1/auth.pb.go | 2 +- api/proto/user/v1/auth_grpc.pb.go | 2 +- api/proto/user/v1/host.pb.go | 2 +- api/proto/user/v1/host_grpc.pb.go | 2 +- api/proto/user/v1/user.pb.go | 2 +- api/proto/user/v1/user_grpc.pb.go | 2 +- api/proto/wallet/v1/wallet.pb.go | 2062 ++++++++-------- api/proto/wallet/v1/wallet.proto | 16 + api/proto/wallet/v1/wallet_grpc.pb.go | 40 +- docs/机器人房间产品文档.md | 98 + docs/机器人房间技术架构文档.md | 243 ++ server/admin/cmd/server/main.go | 10 +- .../admin/configs/config.tencent.example.yaml | 3 + server/admin/configs/config.yaml | 3 + server/admin/internal/config/config.go | 23 + .../integration/robotclient/client.go | 83 + .../internal/integration/roomclient/client.go | 174 ++ .../internal/modules/roomadmin/handler.go | 70 +- .../internal/modules/roomadmin/request.go | 23 + .../internal/modules/roomadmin/robot_room.go | 300 +++ .../internal/modules/roomadmin/routes.go | 5 + .../internal/modules/roomadmin/service.go | 10 +- server/admin/internal/repository/seed.go | 13 +- .../migrations/054_robot_room_navigation.sql | 41 + .../internal/service/broadcast/service.go | 3 + .../internal/service/growth/service.go | 3 + .../service/roomturnoverreward/service.go | 3 + .../internal/service/task/service.go | 3 + .../internal/service/weeklystar/service.go | 3 + .../deploy/mysql/initdb/001_room_service.sql | 25 + services/room-service/internal/app/app.go | 3 + .../internal/integration/clients.go | 2 + .../internal/integration/clients_grpc.go | 5 + .../internal/integration/tencent_im.go | 32 + .../internal/room/command/command.go | 25 + .../internal/room/service/admin_robot_room.go | 566 +++++ .../internal/room/service/create_room.go | 49 + .../internal/room/service/follow_test.go | 4 + .../internal/room/service/gift.go | 177 +- .../internal/room/service/recovery.go | 15 + .../internal/room/service/repository.go | 48 + .../internal/room/service/robot_mic.go | 126 + .../internal/room/service/room_rocket_test.go | 9 + .../internal/room/service/service.go | 7 + .../internal/storage/mysql/repository.go | 340 +++ .../internal/transport/grpc/server.go | 20 + .../internal/transport/grpc/server_test.go | 5 + .../statistics-service/internal/app/app.go | 3 + .../internal/domain/ledger/ledger.go | 6 +- .../internal/service/wallet/service.go | 14 + .../internal/storage/mysql/repository.go | 80 +- .../internal/transport/grpc/server.go | 21 + tools/robot-room-api-test/main.go | 484 ++++ 64 files changed, 6341 insertions(+), 1699 deletions(-) create mode 100644 docs/机器人房间产品文档.md create mode 100644 docs/机器人房间技术架构文档.md create mode 100644 server/admin/internal/integration/robotclient/client.go create mode 100644 server/admin/internal/modules/roomadmin/robot_room.go create mode 100644 server/admin/migrations/054_robot_room_navigation.sql create mode 100644 services/room-service/internal/room/service/admin_robot_room.go create mode 100644 services/room-service/internal/room/service/robot_mic.go create mode 100644 tools/robot-room-api-test/main.go diff --git a/api/proto/activity/v1/activity.pb.go b/api/proto/activity/v1/activity.pb.go index 373bdecc..a4f90bd6 100644 --- a/api/proto/activity/v1/activity.pb.go +++ b/api/proto/activity/v1/activity.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.35.0 +// protoc v5.29.2 // source: proto/activity/v1/activity.proto package activityv1 diff --git a/api/proto/activity/v1/activity_grpc.pb.go b/api/proto/activity/v1/activity_grpc.pb.go index ce61176e..d7b3be19 100644 --- a/api/proto/activity/v1/activity_grpc.pb.go +++ b/api/proto/activity/v1/activity_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.2 -// - protoc v7.35.0 +// - protoc v5.29.2 // source: proto/activity/v1/activity.proto package activityv1 diff --git a/api/proto/events/room/v1/events.pb.go b/api/proto/events/room/v1/events.pb.go index 7c062d7e..0f4b3f06 100644 --- a/api/proto/events/room/v1/events.pb.go +++ b/api/proto/events/room/v1/events.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.35.0 +// protoc v5.29.2 // source: proto/events/room/v1/events.proto package roomeventsv1 @@ -1209,8 +1209,12 @@ type RoomGiftSent struct { GiftAnimationUrl string `protobuf:"bytes,17,opt,name=gift_animation_url,json=giftAnimationUrl,proto3" json:"gift_animation_url,omitempty"` TargetGiftValue int64 `protobuf:"varint,18,opt,name=target_gift_value,json=targetGiftValue,proto3" json:"target_gift_value,omitempty"` GiftEffectTypes []string `protobuf:"bytes,19,rep,name=gift_effect_types,json=giftEffectTypes,proto3" json:"gift_effect_types,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // is_robot_gift 标记机器人房间展示用礼物事实;下游真实统计、任务和结算消费者必须跳过。 + IsRobotGift bool `protobuf:"varint,20,opt,name=is_robot_gift,json=isRobotGift,proto3" json:"is_robot_gift,omitempty"` + // synthetic_lucky_gift 标记幸运礼物只用于房间表现,不写真实抽奖流水、不扣真实奖池、不发真实奖励。 + SyntheticLuckyGift bool `protobuf:"varint,21,opt,name=synthetic_lucky_gift,json=syntheticLuckyGift,proto3" json:"synthetic_lucky_gift,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RoomGiftSent) Reset() { @@ -1376,6 +1380,186 @@ func (x *RoomGiftSent) GetGiftEffectTypes() []string { return nil } +func (x *RoomGiftSent) GetIsRobotGift() bool { + if x != nil { + return x.IsRobotGift + } + return false +} + +func (x *RoomGiftSent) GetSyntheticLuckyGift() bool { + if x != nil { + return x.SyntheticLuckyGift + } + return false +} + +// RoomRobotLuckyGiftDrawn 是机器人房间专用幸运礼物展示事件。 +// 它复用客户端 lucky_gift_drawn 表现协议,但不代表真实奖池抽奖和钱包返奖事实。 +type RoomRobotLuckyGiftDrawn struct { + state protoimpl.MessageState `protogen:"open.v1"` + DrawId string `protobuf:"bytes,1,opt,name=draw_id,json=drawId,proto3" json:"draw_id,omitempty"` + CommandId string `protobuf:"bytes,2,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"` + SenderUserId int64 `protobuf:"varint,3,opt,name=sender_user_id,json=senderUserId,proto3" json:"sender_user_id,omitempty"` + TargetUserId int64 `protobuf:"varint,4,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"` + GiftId string `protobuf:"bytes,5,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"` + GiftCount int32 `protobuf:"varint,6,opt,name=gift_count,json=giftCount,proto3" json:"gift_count,omitempty"` + PoolId string `protobuf:"bytes,7,opt,name=pool_id,json=poolId,proto3" json:"pool_id,omitempty"` + MultiplierPpm int64 `protobuf:"varint,8,opt,name=multiplier_ppm,json=multiplierPpm,proto3" json:"multiplier_ppm,omitempty"` + BaseRewardCoins int64 `protobuf:"varint,9,opt,name=base_reward_coins,json=baseRewardCoins,proto3" json:"base_reward_coins,omitempty"` + RoomAtmosphereRewardCoins int64 `protobuf:"varint,10,opt,name=room_atmosphere_reward_coins,json=roomAtmosphereRewardCoins,proto3" json:"room_atmosphere_reward_coins,omitempty"` + ActivitySubsidyCoins int64 `protobuf:"varint,11,opt,name=activity_subsidy_coins,json=activitySubsidyCoins,proto3" json:"activity_subsidy_coins,omitempty"` + EffectiveRewardCoins int64 `protobuf:"varint,12,opt,name=effective_reward_coins,json=effectiveRewardCoins,proto3" json:"effective_reward_coins,omitempty"` + CreatedAtMs int64 `protobuf:"varint,13,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"` + VisibleRegionId int64 `protobuf:"varint,14,opt,name=visible_region_id,json=visibleRegionId,proto3" json:"visible_region_id,omitempty"` + IsRobot bool `protobuf:"varint,15,opt,name=is_robot,json=isRobot,proto3" json:"is_robot,omitempty"` + Synthetic bool `protobuf:"varint,16,opt,name=synthetic,proto3" json:"synthetic,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RoomRobotLuckyGiftDrawn) Reset() { + *x = RoomRobotLuckyGiftDrawn{} + mi := &file_proto_events_room_v1_events_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RoomRobotLuckyGiftDrawn) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RoomRobotLuckyGiftDrawn) ProtoMessage() {} + +func (x *RoomRobotLuckyGiftDrawn) ProtoReflect() protoreflect.Message { + mi := &file_proto_events_room_v1_events_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RoomRobotLuckyGiftDrawn.ProtoReflect.Descriptor instead. +func (*RoomRobotLuckyGiftDrawn) Descriptor() ([]byte, []int) { + return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{17} +} + +func (x *RoomRobotLuckyGiftDrawn) GetDrawId() string { + if x != nil { + return x.DrawId + } + return "" +} + +func (x *RoomRobotLuckyGiftDrawn) GetCommandId() string { + if x != nil { + return x.CommandId + } + return "" +} + +func (x *RoomRobotLuckyGiftDrawn) GetSenderUserId() int64 { + if x != nil { + return x.SenderUserId + } + return 0 +} + +func (x *RoomRobotLuckyGiftDrawn) GetTargetUserId() int64 { + if x != nil { + return x.TargetUserId + } + return 0 +} + +func (x *RoomRobotLuckyGiftDrawn) GetGiftId() string { + if x != nil { + return x.GiftId + } + return "" +} + +func (x *RoomRobotLuckyGiftDrawn) GetGiftCount() int32 { + if x != nil { + return x.GiftCount + } + return 0 +} + +func (x *RoomRobotLuckyGiftDrawn) GetPoolId() string { + if x != nil { + return x.PoolId + } + return "" +} + +func (x *RoomRobotLuckyGiftDrawn) GetMultiplierPpm() int64 { + if x != nil { + return x.MultiplierPpm + } + return 0 +} + +func (x *RoomRobotLuckyGiftDrawn) GetBaseRewardCoins() int64 { + if x != nil { + return x.BaseRewardCoins + } + return 0 +} + +func (x *RoomRobotLuckyGiftDrawn) GetRoomAtmosphereRewardCoins() int64 { + if x != nil { + return x.RoomAtmosphereRewardCoins + } + return 0 +} + +func (x *RoomRobotLuckyGiftDrawn) GetActivitySubsidyCoins() int64 { + if x != nil { + return x.ActivitySubsidyCoins + } + return 0 +} + +func (x *RoomRobotLuckyGiftDrawn) GetEffectiveRewardCoins() int64 { + if x != nil { + return x.EffectiveRewardCoins + } + return 0 +} + +func (x *RoomRobotLuckyGiftDrawn) GetCreatedAtMs() int64 { + if x != nil { + return x.CreatedAtMs + } + return 0 +} + +func (x *RoomRobotLuckyGiftDrawn) GetVisibleRegionId() int64 { + if x != nil { + return x.VisibleRegionId + } + return 0 +} + +func (x *RoomRobotLuckyGiftDrawn) GetIsRobot() bool { + if x != nil { + return x.IsRobot + } + return false +} + +func (x *RoomRobotLuckyGiftDrawn) GetSynthetic() bool { + if x != nil { + return x.Synthetic + } + return false +} + // RoomHeatChanged 表达热度变化结果。 type RoomHeatChanged struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -1387,7 +1571,7 @@ type RoomHeatChanged struct { func (x *RoomHeatChanged) Reset() { *x = RoomHeatChanged{} - mi := &file_proto_events_room_v1_events_proto_msgTypes[17] + mi := &file_proto_events_room_v1_events_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1399,7 +1583,7 @@ func (x *RoomHeatChanged) String() string { func (*RoomHeatChanged) ProtoMessage() {} func (x *RoomHeatChanged) ProtoReflect() protoreflect.Message { - mi := &file_proto_events_room_v1_events_proto_msgTypes[17] + mi := &file_proto_events_room_v1_events_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1412,7 +1596,7 @@ func (x *RoomHeatChanged) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomHeatChanged.ProtoReflect.Descriptor instead. func (*RoomHeatChanged) Descriptor() ([]byte, []int) { - return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{17} + return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{18} } func (x *RoomHeatChanged) GetDelta() int64 { @@ -1441,7 +1625,7 @@ type RoomRankChanged struct { func (x *RoomRankChanged) Reset() { *x = RoomRankChanged{} - mi := &file_proto_events_room_v1_events_proto_msgTypes[18] + mi := &file_proto_events_room_v1_events_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1453,7 +1637,7 @@ func (x *RoomRankChanged) String() string { func (*RoomRankChanged) ProtoMessage() {} func (x *RoomRankChanged) ProtoReflect() protoreflect.Message { - mi := &file_proto_events_room_v1_events_proto_msgTypes[18] + mi := &file_proto_events_room_v1_events_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1466,7 +1650,7 @@ func (x *RoomRankChanged) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomRankChanged.ProtoReflect.Descriptor instead. func (*RoomRankChanged) Descriptor() ([]byte, []int) { - return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{18} + return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{19} } func (x *RoomRankChanged) GetUserId() int64 { @@ -1506,7 +1690,7 @@ type RoomRocketRewardGrant struct { func (x *RoomRocketRewardGrant) Reset() { *x = RoomRocketRewardGrant{} - mi := &file_proto_events_room_v1_events_proto_msgTypes[19] + mi := &file_proto_events_room_v1_events_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1518,7 +1702,7 @@ func (x *RoomRocketRewardGrant) String() string { func (*RoomRocketRewardGrant) ProtoMessage() {} func (x *RoomRocketRewardGrant) ProtoReflect() protoreflect.Message { - mi := &file_proto_events_room_v1_events_proto_msgTypes[19] + mi := &file_proto_events_room_v1_events_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1531,7 +1715,7 @@ func (x *RoomRocketRewardGrant) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomRocketRewardGrant.ProtoReflect.Descriptor instead. func (*RoomRocketRewardGrant) Descriptor() ([]byte, []int) { - return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{19} + return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{20} } func (x *RoomRocketRewardGrant) GetRewardRole() string { @@ -1613,7 +1797,7 @@ type RoomRocketFuelChanged struct { func (x *RoomRocketFuelChanged) Reset() { *x = RoomRocketFuelChanged{} - mi := &file_proto_events_room_v1_events_proto_msgTypes[20] + mi := &file_proto_events_room_v1_events_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1625,7 +1809,7 @@ func (x *RoomRocketFuelChanged) String() string { func (*RoomRocketFuelChanged) ProtoMessage() {} func (x *RoomRocketFuelChanged) ProtoReflect() protoreflect.Message { - mi := &file_proto_events_room_v1_events_proto_msgTypes[20] + mi := &file_proto_events_room_v1_events_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1638,7 +1822,7 @@ func (x *RoomRocketFuelChanged) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomRocketFuelChanged.ProtoReflect.Descriptor instead. func (*RoomRocketFuelChanged) Descriptor() ([]byte, []int) { - return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{20} + return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{21} } func (x *RoomRocketFuelChanged) GetRocketId() string { @@ -1762,7 +1946,7 @@ type RoomRocketIgnited struct { func (x *RoomRocketIgnited) Reset() { *x = RoomRocketIgnited{} - mi := &file_proto_events_room_v1_events_proto_msgTypes[21] + mi := &file_proto_events_room_v1_events_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1774,7 +1958,7 @@ func (x *RoomRocketIgnited) String() string { func (*RoomRocketIgnited) ProtoMessage() {} func (x *RoomRocketIgnited) ProtoReflect() protoreflect.Message { - mi := &file_proto_events_room_v1_events_proto_msgTypes[21] + mi := &file_proto_events_room_v1_events_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1787,7 +1971,7 @@ func (x *RoomRocketIgnited) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomRocketIgnited.ProtoReflect.Descriptor instead. func (*RoomRocketIgnited) Descriptor() ([]byte, []int) { - return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{21} + return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{22} } func (x *RoomRocketIgnited) GetRocketId() string { @@ -1906,7 +2090,7 @@ type RoomRocketLaunched struct { func (x *RoomRocketLaunched) Reset() { *x = RoomRocketLaunched{} - mi := &file_proto_events_room_v1_events_proto_msgTypes[22] + mi := &file_proto_events_room_v1_events_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1918,7 +2102,7 @@ func (x *RoomRocketLaunched) String() string { func (*RoomRocketLaunched) ProtoMessage() {} func (x *RoomRocketLaunched) ProtoReflect() protoreflect.Message { - mi := &file_proto_events_room_v1_events_proto_msgTypes[22] + mi := &file_proto_events_room_v1_events_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1931,7 +2115,7 @@ func (x *RoomRocketLaunched) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomRocketLaunched.ProtoReflect.Descriptor instead. func (*RoomRocketLaunched) Descriptor() ([]byte, []int) { - return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{22} + return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{23} } func (x *RoomRocketLaunched) GetRocketId() string { @@ -2009,7 +2193,7 @@ type RoomRocketRewardGranted struct { func (x *RoomRocketRewardGranted) Reset() { *x = RoomRocketRewardGranted{} - mi := &file_proto_events_room_v1_events_proto_msgTypes[23] + mi := &file_proto_events_room_v1_events_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2021,7 +2205,7 @@ func (x *RoomRocketRewardGranted) String() string { func (*RoomRocketRewardGranted) ProtoMessage() {} func (x *RoomRocketRewardGranted) ProtoReflect() protoreflect.Message { - mi := &file_proto_events_room_v1_events_proto_msgTypes[23] + mi := &file_proto_events_room_v1_events_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2034,7 +2218,7 @@ func (x *RoomRocketRewardGranted) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomRocketRewardGranted.ProtoReflect.Descriptor instead. func (*RoomRocketRewardGranted) Descriptor() ([]byte, []int) { - return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{23} + return file_proto_events_room_v1_events_proto_rawDescGZIP(), []int{24} } func (x *RoomRocketRewardGranted) GetRocketId() string { @@ -2160,7 +2344,7 @@ const file_proto_events_room_v1_events_proto_rawDesc = "" + "\x0etarget_user_id\x18\x02 \x01(\x03R\ftargetUserId\"\\\n" + "\x10RoomUserUnbanned\x12\"\n" + "\ractor_user_id\x18\x01 \x01(\x03R\vactorUserId\x12$\n" + - "\x0etarget_user_id\x18\x02 \x01(\x03R\ftargetUserId\"\xb5\x05\n" + + "\x0etarget_user_id\x18\x02 \x01(\x03R\ftargetUserId\"\x8b\x06\n" + "\fRoomGiftSent\x12$\n" + "\x0esender_user_id\x18\x01 \x01(\x03R\fsenderUserId\x12$\n" + "\x0etarget_user_id\x18\x02 \x01(\x03R\ftargetUserId\x12\x17\n" + @@ -2186,7 +2370,29 @@ const file_proto_events_room_v1_events_proto_rawDesc = "" + "\rgift_icon_url\x18\x10 \x01(\tR\vgiftIconUrl\x12,\n" + "\x12gift_animation_url\x18\x11 \x01(\tR\x10giftAnimationUrl\x12*\n" + "\x11target_gift_value\x18\x12 \x01(\x03R\x0ftargetGiftValue\x12*\n" + - "\x11gift_effect_types\x18\x13 \x03(\tR\x0fgiftEffectTypes\"J\n" + + "\x11gift_effect_types\x18\x13 \x03(\tR\x0fgiftEffectTypes\x12\"\n" + + "\ris_robot_gift\x18\x14 \x01(\bR\visRobotGift\x120\n" + + "\x14synthetic_lucky_gift\x18\x15 \x01(\bR\x12syntheticLuckyGift\"\xf7\x04\n" + + "\x17RoomRobotLuckyGiftDrawn\x12\x17\n" + + "\adraw_id\x18\x01 \x01(\tR\x06drawId\x12\x1d\n" + + "\n" + + "command_id\x18\x02 \x01(\tR\tcommandId\x12$\n" + + "\x0esender_user_id\x18\x03 \x01(\x03R\fsenderUserId\x12$\n" + + "\x0etarget_user_id\x18\x04 \x01(\x03R\ftargetUserId\x12\x17\n" + + "\agift_id\x18\x05 \x01(\tR\x06giftId\x12\x1d\n" + + "\n" + + "gift_count\x18\x06 \x01(\x05R\tgiftCount\x12\x17\n" + + "\apool_id\x18\a \x01(\tR\x06poolId\x12%\n" + + "\x0emultiplier_ppm\x18\b \x01(\x03R\rmultiplierPpm\x12*\n" + + "\x11base_reward_coins\x18\t \x01(\x03R\x0fbaseRewardCoins\x12?\n" + + "\x1croom_atmosphere_reward_coins\x18\n" + + " \x01(\x03R\x19roomAtmosphereRewardCoins\x124\n" + + "\x16activity_subsidy_coins\x18\v \x01(\x03R\x14activitySubsidyCoins\x124\n" + + "\x16effective_reward_coins\x18\f \x01(\x03R\x14effectiveRewardCoins\x12\"\n" + + "\rcreated_at_ms\x18\r \x01(\x03R\vcreatedAtMs\x12*\n" + + "\x11visible_region_id\x18\x0e \x01(\x03R\x0fvisibleRegionId\x12\x19\n" + + "\bis_robot\x18\x0f \x01(\bR\aisRobot\x12\x1c\n" + + "\tsynthetic\x18\x10 \x01(\bR\tsynthetic\"J\n" + "\x0fRoomHeatChanged\x12\x14\n" + "\x05delta\x18\x01 \x01(\x03R\x05delta\x12!\n" + "\fcurrent_heat\x18\x02 \x01(\x03R\vcurrentHeat\"_\n" + @@ -2272,7 +2478,7 @@ func file_proto_events_room_v1_events_proto_rawDescGZIP() []byte { return file_proto_events_room_v1_events_proto_rawDescData } -var file_proto_events_room_v1_events_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_proto_events_room_v1_events_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_proto_events_room_v1_events_proto_goTypes = []any{ (*EventEnvelope)(nil), // 0: hyapp.events.room.v1.EventEnvelope (*RoomCreated)(nil), // 1: hyapp.events.room.v1.RoomCreated @@ -2291,18 +2497,19 @@ var file_proto_events_room_v1_events_proto_goTypes = []any{ (*RoomUserKicked)(nil), // 14: hyapp.events.room.v1.RoomUserKicked (*RoomUserUnbanned)(nil), // 15: hyapp.events.room.v1.RoomUserUnbanned (*RoomGiftSent)(nil), // 16: hyapp.events.room.v1.RoomGiftSent - (*RoomHeatChanged)(nil), // 17: hyapp.events.room.v1.RoomHeatChanged - (*RoomRankChanged)(nil), // 18: hyapp.events.room.v1.RoomRankChanged - (*RoomRocketRewardGrant)(nil), // 19: hyapp.events.room.v1.RoomRocketRewardGrant - (*RoomRocketFuelChanged)(nil), // 20: hyapp.events.room.v1.RoomRocketFuelChanged - (*RoomRocketIgnited)(nil), // 21: hyapp.events.room.v1.RoomRocketIgnited - (*RoomRocketLaunched)(nil), // 22: hyapp.events.room.v1.RoomRocketLaunched - (*RoomRocketRewardGranted)(nil), // 23: hyapp.events.room.v1.RoomRocketRewardGranted + (*RoomRobotLuckyGiftDrawn)(nil), // 17: hyapp.events.room.v1.RoomRobotLuckyGiftDrawn + (*RoomHeatChanged)(nil), // 18: hyapp.events.room.v1.RoomHeatChanged + (*RoomRankChanged)(nil), // 19: hyapp.events.room.v1.RoomRankChanged + (*RoomRocketRewardGrant)(nil), // 20: hyapp.events.room.v1.RoomRocketRewardGrant + (*RoomRocketFuelChanged)(nil), // 21: hyapp.events.room.v1.RoomRocketFuelChanged + (*RoomRocketIgnited)(nil), // 22: hyapp.events.room.v1.RoomRocketIgnited + (*RoomRocketLaunched)(nil), // 23: hyapp.events.room.v1.RoomRocketLaunched + (*RoomRocketRewardGranted)(nil), // 24: hyapp.events.room.v1.RoomRocketRewardGranted } var file_proto_events_room_v1_events_proto_depIdxs = []int32{ 4, // 0: hyapp.events.room.v1.RoomUserJoined.entry_vehicle:type_name -> hyapp.events.room.v1.RoomEntryVehicleSnapshot - 19, // 1: hyapp.events.room.v1.RoomRocketLaunched.rewards:type_name -> hyapp.events.room.v1.RoomRocketRewardGrant - 19, // 2: hyapp.events.room.v1.RoomRocketRewardGranted.rewards:type_name -> hyapp.events.room.v1.RoomRocketRewardGrant + 20, // 1: hyapp.events.room.v1.RoomRocketLaunched.rewards:type_name -> hyapp.events.room.v1.RoomRocketRewardGrant + 20, // 2: hyapp.events.room.v1.RoomRocketRewardGranted.rewards:type_name -> hyapp.events.room.v1.RoomRocketRewardGrant 3, // [3:3] is the sub-list for method output_type 3, // [3:3] is the sub-list for method input_type 3, // [3:3] is the sub-list for extension type_name @@ -2321,7 +2528,7 @@ func file_proto_events_room_v1_events_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_events_room_v1_events_proto_rawDesc), len(file_proto_events_room_v1_events_proto_rawDesc)), NumEnums: 0, - NumMessages: 24, + NumMessages: 25, NumExtensions: 0, NumServices: 0, }, diff --git a/api/proto/events/room/v1/events.proto b/api/proto/events/room/v1/events.proto index f0519de2..441c1cd2 100644 --- a/api/proto/events/room/v1/events.proto +++ b/api/proto/events/room/v1/events.proto @@ -166,6 +166,31 @@ message RoomGiftSent { string gift_animation_url = 17; int64 target_gift_value = 18; repeated string gift_effect_types = 19; + // is_robot_gift 标记机器人房间展示用礼物事实;下游真实统计、任务和结算消费者必须跳过。 + bool is_robot_gift = 20; + // synthetic_lucky_gift 标记幸运礼物只用于房间表现,不写真实抽奖流水、不扣真实奖池、不发真实奖励。 + bool synthetic_lucky_gift = 21; +} + +// RoomRobotLuckyGiftDrawn 是机器人房间专用幸运礼物展示事件。 +// 它复用客户端 lucky_gift_drawn 表现协议,但不代表真实奖池抽奖和钱包返奖事实。 +message RoomRobotLuckyGiftDrawn { + string draw_id = 1; + string command_id = 2; + int64 sender_user_id = 3; + int64 target_user_id = 4; + string gift_id = 5; + int32 gift_count = 6; + string pool_id = 7; + int64 multiplier_ppm = 8; + int64 base_reward_coins = 9; + int64 room_atmosphere_reward_coins = 10; + int64 activity_subsidy_coins = 11; + int64 effective_reward_coins = 12; + int64 created_at_ms = 13; + int64 visible_region_id = 14; + bool is_robot = 15; + bool synthetic = 16; } // RoomHeatChanged 表达热度变化结果。 diff --git a/api/proto/game/v1/game.pb.go b/api/proto/game/v1/game.pb.go index 9f5a1b13..db50f6e9 100644 --- a/api/proto/game/v1/game.pb.go +++ b/api/proto/game/v1/game.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.35.0 +// protoc v5.29.2 // source: proto/game/v1/game.proto package gamev1 diff --git a/api/proto/game/v1/game_grpc.pb.go b/api/proto/game/v1/game_grpc.pb.go index 76133669..0377695f 100644 --- a/api/proto/game/v1/game_grpc.pb.go +++ b/api/proto/game/v1/game_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.2 -// - protoc v7.35.0 +// - protoc v5.29.2 // source: proto/game/v1/game.proto package gamev1 diff --git a/api/proto/robot/v1/robot.pb.go b/api/proto/robot/v1/robot.pb.go index a5f2f5de..becc325c 100644 --- a/api/proto/robot/v1/robot.pb.go +++ b/api/proto/robot/v1/robot.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.35.0 +// protoc v5.29.2 // source: proto/robot/v1/robot.proto package robotv1 diff --git a/api/proto/robot/v1/robot_grpc.pb.go b/api/proto/robot/v1/robot_grpc.pb.go index 3cf9ceb8..c1bb2b2e 100644 --- a/api/proto/robot/v1/robot_grpc.pb.go +++ b/api/proto/robot/v1/robot_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.2 -// - protoc v7.35.0 +// - protoc v5.29.2 // source: proto/robot/v1/robot.proto package robotv1 diff --git a/api/proto/room/v1/room.pb.go b/api/proto/room/v1/room.pb.go index fe133b89..a9657c1e 100644 --- a/api/proto/room/v1/room.pb.go +++ b/api/proto/room/v1/room.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.35.0 +// protoc v5.29.2 // source: proto/room/v1/room.proto package roomv1 @@ -2872,6 +2872,758 @@ func (x *AdminCancelRoomPinResponse) GetServerTimeMs() int64 { return 0 } +type AdminRobotRoomGiftRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + GiftIds []string `protobuf:"bytes,1,rep,name=gift_ids,json=giftIds,proto3" json:"gift_ids,omitempty"` + LuckyGiftIds []string `protobuf:"bytes,2,rep,name=lucky_gift_ids,json=luckyGiftIds,proto3" json:"lucky_gift_ids,omitempty"` + NormalGiftIntervalMs int64 `protobuf:"varint,3,opt,name=normal_gift_interval_ms,json=normalGiftIntervalMs,proto3" json:"normal_gift_interval_ms,omitempty"` + LuckyComboMin int64 `protobuf:"varint,4,opt,name=lucky_combo_min,json=luckyComboMin,proto3" json:"lucky_combo_min,omitempty"` + LuckyComboMax int64 `protobuf:"varint,5,opt,name=lucky_combo_max,json=luckyComboMax,proto3" json:"lucky_combo_max,omitempty"` + LuckyPauseMinMs int64 `protobuf:"varint,6,opt,name=lucky_pause_min_ms,json=luckyPauseMinMs,proto3" json:"lucky_pause_min_ms,omitempty"` + LuckyPauseMaxMs int64 `protobuf:"varint,7,opt,name=lucky_pause_max_ms,json=luckyPauseMaxMs,proto3" json:"lucky_pause_max_ms,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminRobotRoomGiftRule) Reset() { + *x = AdminRobotRoomGiftRule{} + mi := &file_proto_room_v1_room_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminRobotRoomGiftRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminRobotRoomGiftRule) ProtoMessage() {} + +func (x *AdminRobotRoomGiftRule) ProtoReflect() protoreflect.Message { + mi := &file_proto_room_v1_room_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminRobotRoomGiftRule.ProtoReflect.Descriptor instead. +func (*AdminRobotRoomGiftRule) Descriptor() ([]byte, []int) { + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{33} +} + +func (x *AdminRobotRoomGiftRule) GetGiftIds() []string { + if x != nil { + return x.GiftIds + } + return nil +} + +func (x *AdminRobotRoomGiftRule) GetLuckyGiftIds() []string { + if x != nil { + return x.LuckyGiftIds + } + return nil +} + +func (x *AdminRobotRoomGiftRule) GetNormalGiftIntervalMs() int64 { + if x != nil { + return x.NormalGiftIntervalMs + } + return 0 +} + +func (x *AdminRobotRoomGiftRule) GetLuckyComboMin() int64 { + if x != nil { + return x.LuckyComboMin + } + return 0 +} + +func (x *AdminRobotRoomGiftRule) GetLuckyComboMax() int64 { + if x != nil { + return x.LuckyComboMax + } + return 0 +} + +func (x *AdminRobotRoomGiftRule) GetLuckyPauseMinMs() int64 { + if x != nil { + return x.LuckyPauseMinMs + } + return 0 +} + +func (x *AdminRobotRoomGiftRule) GetLuckyPauseMaxMs() int64 { + if x != nil { + return x.LuckyPauseMaxMs + } + return 0 +} + +type AdminRobotRoom struct { + state protoimpl.MessageState `protogen:"open.v1"` + AppCode string `protobuf:"bytes,1,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"` + RoomId string `protobuf:"bytes,2,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"` + RoomShortId string `protobuf:"bytes,3,opt,name=room_short_id,json=roomShortId,proto3" json:"room_short_id,omitempty"` + Title string `protobuf:"bytes,4,opt,name=title,proto3" json:"title,omitempty"` + CoverUrl string `protobuf:"bytes,5,opt,name=cover_url,json=coverUrl,proto3" json:"cover_url,omitempty"` + VisibleRegionId int64 `protobuf:"varint,6,opt,name=visible_region_id,json=visibleRegionId,proto3" json:"visible_region_id,omitempty"` + Status string `protobuf:"bytes,7,opt,name=status,proto3" json:"status,omitempty"` + OwnerRobotUserId int64 `protobuf:"varint,8,opt,name=owner_robot_user_id,json=ownerRobotUserId,proto3" json:"owner_robot_user_id,omitempty"` + RobotUserIds []int64 `protobuf:"varint,9,rep,packed,name=robot_user_ids,json=robotUserIds,proto3" json:"robot_user_ids,omitempty"` + GiftRule *AdminRobotRoomGiftRule `protobuf:"bytes,10,opt,name=gift_rule,json=giftRule,proto3" json:"gift_rule,omitempty"` + CreatedByAdminId uint64 `protobuf:"varint,11,opt,name=created_by_admin_id,json=createdByAdminId,proto3" json:"created_by_admin_id,omitempty"` + CreatedAtMs int64 `protobuf:"varint,12,opt,name=created_at_ms,json=createdAtMs,proto3" json:"created_at_ms,omitempty"` + UpdatedAtMs int64 `protobuf:"varint,13,opt,name=updated_at_ms,json=updatedAtMs,proto3" json:"updated_at_ms,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminRobotRoom) Reset() { + *x = AdminRobotRoom{} + mi := &file_proto_room_v1_room_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminRobotRoom) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminRobotRoom) ProtoMessage() {} + +func (x *AdminRobotRoom) ProtoReflect() protoreflect.Message { + mi := &file_proto_room_v1_room_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminRobotRoom.ProtoReflect.Descriptor instead. +func (*AdminRobotRoom) Descriptor() ([]byte, []int) { + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{34} +} + +func (x *AdminRobotRoom) GetAppCode() string { + if x != nil { + return x.AppCode + } + return "" +} + +func (x *AdminRobotRoom) GetRoomId() string { + if x != nil { + return x.RoomId + } + return "" +} + +func (x *AdminRobotRoom) GetRoomShortId() string { + if x != nil { + return x.RoomShortId + } + return "" +} + +func (x *AdminRobotRoom) GetTitle() string { + if x != nil { + return x.Title + } + return "" +} + +func (x *AdminRobotRoom) GetCoverUrl() string { + if x != nil { + return x.CoverUrl + } + return "" +} + +func (x *AdminRobotRoom) GetVisibleRegionId() int64 { + if x != nil { + return x.VisibleRegionId + } + return 0 +} + +func (x *AdminRobotRoom) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *AdminRobotRoom) GetOwnerRobotUserId() int64 { + if x != nil { + return x.OwnerRobotUserId + } + return 0 +} + +func (x *AdminRobotRoom) GetRobotUserIds() []int64 { + if x != nil { + return x.RobotUserIds + } + return nil +} + +func (x *AdminRobotRoom) GetGiftRule() *AdminRobotRoomGiftRule { + if x != nil { + return x.GiftRule + } + return nil +} + +func (x *AdminRobotRoom) GetCreatedByAdminId() uint64 { + if x != nil { + return x.CreatedByAdminId + } + return 0 +} + +func (x *AdminRobotRoom) GetCreatedAtMs() int64 { + if x != nil { + return x.CreatedAtMs + } + return 0 +} + +func (x *AdminRobotRoom) GetUpdatedAtMs() int64 { + if x != nil { + return x.UpdatedAtMs + } + return 0 +} + +type AdminListRobotRoomsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` + Page int32 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"` + PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + Status string `protobuf:"bytes,4,opt,name=status,proto3" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListRobotRoomsRequest) Reset() { + *x = AdminListRobotRoomsRequest{} + mi := &file_proto_room_v1_room_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListRobotRoomsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListRobotRoomsRequest) ProtoMessage() {} + +func (x *AdminListRobotRoomsRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_room_v1_room_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListRobotRoomsRequest.ProtoReflect.Descriptor instead. +func (*AdminListRobotRoomsRequest) Descriptor() ([]byte, []int) { + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{35} +} + +func (x *AdminListRobotRoomsRequest) GetMeta() *RequestMeta { + if x != nil { + return x.Meta + } + return nil +} + +func (x *AdminListRobotRoomsRequest) GetPage() int32 { + if x != nil { + return x.Page + } + return 0 +} + +func (x *AdminListRobotRoomsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *AdminListRobotRoomsRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +type AdminListRobotRoomsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Rooms []*AdminRobotRoom `protobuf:"bytes,1,rep,name=rooms,proto3" json:"rooms,omitempty"` + Total int64 `protobuf:"varint,2,opt,name=total,proto3" json:"total,omitempty"` + ServerTimeMs int64 `protobuf:"varint,3,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminListRobotRoomsResponse) Reset() { + *x = AdminListRobotRoomsResponse{} + mi := &file_proto_room_v1_room_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminListRobotRoomsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminListRobotRoomsResponse) ProtoMessage() {} + +func (x *AdminListRobotRoomsResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_room_v1_room_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminListRobotRoomsResponse.ProtoReflect.Descriptor instead. +func (*AdminListRobotRoomsResponse) Descriptor() ([]byte, []int) { + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{36} +} + +func (x *AdminListRobotRoomsResponse) GetRooms() []*AdminRobotRoom { + if x != nil { + return x.Rooms + } + return nil +} + +func (x *AdminListRobotRoomsResponse) GetTotal() int64 { + if x != nil { + return x.Total + } + return 0 +} + +func (x *AdminListRobotRoomsResponse) GetServerTimeMs() int64 { + if x != nil { + return x.ServerTimeMs + } + return 0 +} + +type AdminCreateRobotRoomRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` + OwnerRobotUserId int64 `protobuf:"varint,2,opt,name=owner_robot_user_id,json=ownerRobotUserId,proto3" json:"owner_robot_user_id,omitempty"` + CandidateRobotUserIds []int64 `protobuf:"varint,3,rep,packed,name=candidate_robot_user_ids,json=candidateRobotUserIds,proto3" json:"candidate_robot_user_ids,omitempty"` + MinRobotCount int32 `protobuf:"varint,4,opt,name=min_robot_count,json=minRobotCount,proto3" json:"min_robot_count,omitempty"` + MaxRobotCount int32 `protobuf:"varint,5,opt,name=max_robot_count,json=maxRobotCount,proto3" json:"max_robot_count,omitempty"` + RoomName string `protobuf:"bytes,6,opt,name=room_name,json=roomName,proto3" json:"room_name,omitempty"` + RoomAvatar string `protobuf:"bytes,7,opt,name=room_avatar,json=roomAvatar,proto3" json:"room_avatar,omitempty"` + VisibleRegionId int64 `protobuf:"varint,8,opt,name=visible_region_id,json=visibleRegionId,proto3" json:"visible_region_id,omitempty"` + GiftRule *AdminRobotRoomGiftRule `protobuf:"bytes,9,opt,name=gift_rule,json=giftRule,proto3" json:"gift_rule,omitempty"` + AdminId uint64 `protobuf:"varint,10,opt,name=admin_id,json=adminId,proto3" json:"admin_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminCreateRobotRoomRequest) Reset() { + *x = AdminCreateRobotRoomRequest{} + mi := &file_proto_room_v1_room_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminCreateRobotRoomRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminCreateRobotRoomRequest) ProtoMessage() {} + +func (x *AdminCreateRobotRoomRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_room_v1_room_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminCreateRobotRoomRequest.ProtoReflect.Descriptor instead. +func (*AdminCreateRobotRoomRequest) Descriptor() ([]byte, []int) { + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{37} +} + +func (x *AdminCreateRobotRoomRequest) GetMeta() *RequestMeta { + if x != nil { + return x.Meta + } + return nil +} + +func (x *AdminCreateRobotRoomRequest) GetOwnerRobotUserId() int64 { + if x != nil { + return x.OwnerRobotUserId + } + return 0 +} + +func (x *AdminCreateRobotRoomRequest) GetCandidateRobotUserIds() []int64 { + if x != nil { + return x.CandidateRobotUserIds + } + return nil +} + +func (x *AdminCreateRobotRoomRequest) GetMinRobotCount() int32 { + if x != nil { + return x.MinRobotCount + } + return 0 +} + +func (x *AdminCreateRobotRoomRequest) GetMaxRobotCount() int32 { + if x != nil { + return x.MaxRobotCount + } + return 0 +} + +func (x *AdminCreateRobotRoomRequest) GetRoomName() string { + if x != nil { + return x.RoomName + } + return "" +} + +func (x *AdminCreateRobotRoomRequest) GetRoomAvatar() string { + if x != nil { + return x.RoomAvatar + } + return "" +} + +func (x *AdminCreateRobotRoomRequest) GetVisibleRegionId() int64 { + if x != nil { + return x.VisibleRegionId + } + return 0 +} + +func (x *AdminCreateRobotRoomRequest) GetGiftRule() *AdminRobotRoomGiftRule { + if x != nil { + return x.GiftRule + } + return nil +} + +func (x *AdminCreateRobotRoomRequest) GetAdminId() uint64 { + if x != nil { + return x.AdminId + } + return 0 +} + +type AdminCreateRobotRoomResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Room *AdminRobotRoom `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"` + ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminCreateRobotRoomResponse) Reset() { + *x = AdminCreateRobotRoomResponse{} + mi := &file_proto_room_v1_room_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminCreateRobotRoomResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminCreateRobotRoomResponse) ProtoMessage() {} + +func (x *AdminCreateRobotRoomResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_room_v1_room_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminCreateRobotRoomResponse.ProtoReflect.Descriptor instead. +func (*AdminCreateRobotRoomResponse) Descriptor() ([]byte, []int) { + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{38} +} + +func (x *AdminCreateRobotRoomResponse) GetRoom() *AdminRobotRoom { + if x != nil { + return x.Room + } + return nil +} + +func (x *AdminCreateRobotRoomResponse) GetServerTimeMs() int64 { + if x != nil { + return x.ServerTimeMs + } + return 0 +} + +type AdminSetRobotRoomStatusRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` + Status string `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` + AdminId uint64 `protobuf:"varint,3,opt,name=admin_id,json=adminId,proto3" json:"admin_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminSetRobotRoomStatusRequest) Reset() { + *x = AdminSetRobotRoomStatusRequest{} + mi := &file_proto_room_v1_room_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminSetRobotRoomStatusRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminSetRobotRoomStatusRequest) ProtoMessage() {} + +func (x *AdminSetRobotRoomStatusRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_room_v1_room_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminSetRobotRoomStatusRequest.ProtoReflect.Descriptor instead. +func (*AdminSetRobotRoomStatusRequest) Descriptor() ([]byte, []int) { + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{39} +} + +func (x *AdminSetRobotRoomStatusRequest) GetMeta() *RequestMeta { + if x != nil { + return x.Meta + } + return nil +} + +func (x *AdminSetRobotRoomStatusRequest) GetStatus() string { + if x != nil { + return x.Status + } + return "" +} + +func (x *AdminSetRobotRoomStatusRequest) GetAdminId() uint64 { + if x != nil { + return x.AdminId + } + return 0 +} + +type AdminSetRobotRoomStatusResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Room *AdminRobotRoom `protobuf:"bytes,1,opt,name=room,proto3" json:"room,omitempty"` + ServerTimeMs int64 `protobuf:"varint,2,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminSetRobotRoomStatusResponse) Reset() { + *x = AdminSetRobotRoomStatusResponse{} + mi := &file_proto_room_v1_room_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminSetRobotRoomStatusResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminSetRobotRoomStatusResponse) ProtoMessage() {} + +func (x *AdminSetRobotRoomStatusResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_room_v1_room_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminSetRobotRoomStatusResponse.ProtoReflect.Descriptor instead. +func (*AdminSetRobotRoomStatusResponse) Descriptor() ([]byte, []int) { + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{40} +} + +func (x *AdminSetRobotRoomStatusResponse) GetRoom() *AdminRobotRoom { + if x != nil { + return x.Room + } + return nil +} + +func (x *AdminSetRobotRoomStatusResponse) GetServerTimeMs() int64 { + if x != nil { + return x.ServerTimeMs + } + return 0 +} + +type AdminFilterAvailableRoomRobotsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` + UserIds []int64 `protobuf:"varint,2,rep,packed,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminFilterAvailableRoomRobotsRequest) Reset() { + *x = AdminFilterAvailableRoomRobotsRequest{} + mi := &file_proto_room_v1_room_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminFilterAvailableRoomRobotsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminFilterAvailableRoomRobotsRequest) ProtoMessage() {} + +func (x *AdminFilterAvailableRoomRobotsRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_room_v1_room_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminFilterAvailableRoomRobotsRequest.ProtoReflect.Descriptor instead. +func (*AdminFilterAvailableRoomRobotsRequest) Descriptor() ([]byte, []int) { + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{41} +} + +func (x *AdminFilterAvailableRoomRobotsRequest) GetMeta() *RequestMeta { + if x != nil { + return x.Meta + } + return nil +} + +func (x *AdminFilterAvailableRoomRobotsRequest) GetUserIds() []int64 { + if x != nil { + return x.UserIds + } + return nil +} + +type AdminFilterAvailableRoomRobotsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + AvailableUserIds []int64 `protobuf:"varint,1,rep,packed,name=available_user_ids,json=availableUserIds,proto3" json:"available_user_ids,omitempty"` + OccupiedUserIds []int64 `protobuf:"varint,2,rep,packed,name=occupied_user_ids,json=occupiedUserIds,proto3" json:"occupied_user_ids,omitempty"` + ServerTimeMs int64 `protobuf:"varint,3,opt,name=server_time_ms,json=serverTimeMs,proto3" json:"server_time_ms,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AdminFilterAvailableRoomRobotsResponse) Reset() { + *x = AdminFilterAvailableRoomRobotsResponse{} + mi := &file_proto_room_v1_room_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AdminFilterAvailableRoomRobotsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AdminFilterAvailableRoomRobotsResponse) ProtoMessage() {} + +func (x *AdminFilterAvailableRoomRobotsResponse) ProtoReflect() protoreflect.Message { + mi := &file_proto_room_v1_room_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AdminFilterAvailableRoomRobotsResponse.ProtoReflect.Descriptor instead. +func (*AdminFilterAvailableRoomRobotsResponse) Descriptor() ([]byte, []int) { + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{42} +} + +func (x *AdminFilterAvailableRoomRobotsResponse) GetAvailableUserIds() []int64 { + if x != nil { + return x.AvailableUserIds + } + return nil +} + +func (x *AdminFilterAvailableRoomRobotsResponse) GetOccupiedUserIds() []int64 { + if x != nil { + return x.OccupiedUserIds + } + return nil +} + +func (x *AdminFilterAvailableRoomRobotsResponse) GetServerTimeMs() int64 { + if x != nil { + return x.ServerTimeMs + } + return 0 +} + // RoomBanState 表达单个房间 ban 的治理状态。 type RoomBanState struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -2886,7 +3638,7 @@ type RoomBanState struct { func (x *RoomBanState) Reset() { *x = RoomBanState{} - mi := &file_proto_room_v1_room_proto_msgTypes[33] + mi := &file_proto_room_v1_room_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2898,7 +3650,7 @@ func (x *RoomBanState) String() string { func (*RoomBanState) ProtoMessage() {} func (x *RoomBanState) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[33] + mi := &file_proto_room_v1_room_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2911,7 +3663,7 @@ func (x *RoomBanState) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomBanState.ProtoReflect.Descriptor instead. func (*RoomBanState) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{33} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{43} } func (x *RoomBanState) GetUserId() int64 { @@ -2974,7 +3726,7 @@ type RoomSnapshot struct { func (x *RoomSnapshot) Reset() { *x = RoomSnapshot{} - mi := &file_proto_room_v1_room_proto_msgTypes[34] + mi := &file_proto_room_v1_room_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2986,7 +3738,7 @@ func (x *RoomSnapshot) String() string { func (*RoomSnapshot) ProtoMessage() {} func (x *RoomSnapshot) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[34] + mi := &file_proto_room_v1_room_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2999,7 +3751,7 @@ func (x *RoomSnapshot) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomSnapshot.ProtoReflect.Descriptor instead. func (*RoomSnapshot) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{34} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{44} } func (x *RoomSnapshot) GetRoomId() string { @@ -3158,7 +3910,7 @@ type RoomBackgroundImage struct { func (x *RoomBackgroundImage) Reset() { *x = RoomBackgroundImage{} - mi := &file_proto_room_v1_room_proto_msgTypes[35] + mi := &file_proto_room_v1_room_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3170,7 +3922,7 @@ func (x *RoomBackgroundImage) String() string { func (*RoomBackgroundImage) ProtoMessage() {} func (x *RoomBackgroundImage) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[35] + mi := &file_proto_room_v1_room_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3183,7 +3935,7 @@ func (x *RoomBackgroundImage) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomBackgroundImage.ProtoReflect.Descriptor instead. func (*RoomBackgroundImage) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{35} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{45} } func (x *RoomBackgroundImage) GetBackgroundId() int64 { @@ -3239,7 +3991,7 @@ type SaveRoomBackgroundRequest struct { func (x *SaveRoomBackgroundRequest) Reset() { *x = SaveRoomBackgroundRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[36] + mi := &file_proto_room_v1_room_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3251,7 +4003,7 @@ func (x *SaveRoomBackgroundRequest) String() string { func (*SaveRoomBackgroundRequest) ProtoMessage() {} func (x *SaveRoomBackgroundRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[36] + mi := &file_proto_room_v1_room_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3264,7 +4016,7 @@ func (x *SaveRoomBackgroundRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SaveRoomBackgroundRequest.ProtoReflect.Descriptor instead. func (*SaveRoomBackgroundRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{36} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{46} } func (x *SaveRoomBackgroundRequest) GetMeta() *RequestMeta { @@ -3298,7 +4050,7 @@ type SaveRoomBackgroundResponse struct { func (x *SaveRoomBackgroundResponse) Reset() { *x = SaveRoomBackgroundResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[37] + mi := &file_proto_room_v1_room_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3310,7 +4062,7 @@ func (x *SaveRoomBackgroundResponse) String() string { func (*SaveRoomBackgroundResponse) ProtoMessage() {} func (x *SaveRoomBackgroundResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[37] + mi := &file_proto_room_v1_room_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3323,7 +4075,7 @@ func (x *SaveRoomBackgroundResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SaveRoomBackgroundResponse.ProtoReflect.Descriptor instead. func (*SaveRoomBackgroundResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{37} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{47} } func (x *SaveRoomBackgroundResponse) GetBackground() *RoomBackgroundImage { @@ -3351,7 +4103,7 @@ type ListRoomBackgroundsRequest struct { func (x *ListRoomBackgroundsRequest) Reset() { *x = ListRoomBackgroundsRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[38] + mi := &file_proto_room_v1_room_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3363,7 +4115,7 @@ func (x *ListRoomBackgroundsRequest) String() string { func (*ListRoomBackgroundsRequest) ProtoMessage() {} func (x *ListRoomBackgroundsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[38] + mi := &file_proto_room_v1_room_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3376,7 +4128,7 @@ func (x *ListRoomBackgroundsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoomBackgroundsRequest.ProtoReflect.Descriptor instead. func (*ListRoomBackgroundsRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{38} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{48} } func (x *ListRoomBackgroundsRequest) GetMeta() *RequestMeta { @@ -3411,7 +4163,7 @@ type ListRoomBackgroundsResponse struct { func (x *ListRoomBackgroundsResponse) Reset() { *x = ListRoomBackgroundsResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[39] + mi := &file_proto_room_v1_room_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3423,7 +4175,7 @@ func (x *ListRoomBackgroundsResponse) String() string { func (*ListRoomBackgroundsResponse) ProtoMessage() {} func (x *ListRoomBackgroundsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[39] + mi := &file_proto_room_v1_room_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3436,7 +4188,7 @@ func (x *ListRoomBackgroundsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoomBackgroundsResponse.ProtoReflect.Descriptor instead. func (*ListRoomBackgroundsResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{39} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{49} } func (x *ListRoomBackgroundsResponse) GetBackgrounds() []*RoomBackgroundImage { @@ -3470,7 +4222,7 @@ type SetRoomBackgroundRequest struct { func (x *SetRoomBackgroundRequest) Reset() { *x = SetRoomBackgroundRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[40] + mi := &file_proto_room_v1_room_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3482,7 +4234,7 @@ func (x *SetRoomBackgroundRequest) String() string { func (*SetRoomBackgroundRequest) ProtoMessage() {} func (x *SetRoomBackgroundRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[40] + mi := &file_proto_room_v1_room_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3495,7 +4247,7 @@ func (x *SetRoomBackgroundRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetRoomBackgroundRequest.ProtoReflect.Descriptor instead. func (*SetRoomBackgroundRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{40} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{50} } func (x *SetRoomBackgroundRequest) GetMeta() *RequestMeta { @@ -3523,7 +4275,7 @@ type SetRoomBackgroundResponse struct { func (x *SetRoomBackgroundResponse) Reset() { *x = SetRoomBackgroundResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[41] + mi := &file_proto_room_v1_room_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3535,7 +4287,7 @@ func (x *SetRoomBackgroundResponse) String() string { func (*SetRoomBackgroundResponse) ProtoMessage() {} func (x *SetRoomBackgroundResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[41] + mi := &file_proto_room_v1_room_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3548,7 +4300,7 @@ func (x *SetRoomBackgroundResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetRoomBackgroundResponse.ProtoReflect.Descriptor instead. func (*SetRoomBackgroundResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{41} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{51} } func (x *SetRoomBackgroundResponse) GetResult() *CommandResult { @@ -3594,13 +4346,17 @@ type CreateRoomRequest struct { RoomShortId string `protobuf:"bytes,8,opt,name=room_short_id,json=roomShortId,proto3" json:"room_short_id,omitempty"` // owner_country_code 由 gateway 按创建者 user-service 当前国家填充,用于发现页国家分类筛选。 OwnerCountryCode string `protobuf:"bytes,9,opt,name=owner_country_code,json=ownerCountryCode,proto3" json:"owner_country_code,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + // robot_room 只供内部机器人房间编排器设置;gateway 不接受客户端提交该字段。 + RobotRoom bool `protobuf:"varint,10,opt,name=robot_room,json=robotRoom,proto3" json:"robot_room,omitempty"` + // robot_user_ids 是该机器人房间允许参与机器人送礼和虚拟上麦的用户集合。 + RobotUserIds []int64 `protobuf:"varint,11,rep,packed,name=robot_user_ids,json=robotUserIds,proto3" json:"robot_user_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *CreateRoomRequest) Reset() { *x = CreateRoomRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[42] + mi := &file_proto_room_v1_room_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3612,7 +4368,7 @@ func (x *CreateRoomRequest) String() string { func (*CreateRoomRequest) ProtoMessage() {} func (x *CreateRoomRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[42] + mi := &file_proto_room_v1_room_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3625,7 +4381,7 @@ func (x *CreateRoomRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateRoomRequest.ProtoReflect.Descriptor instead. func (*CreateRoomRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{42} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{52} } func (x *CreateRoomRequest) GetMeta() *RequestMeta { @@ -3691,6 +4447,20 @@ func (x *CreateRoomRequest) GetOwnerCountryCode() string { return "" } +func (x *CreateRoomRequest) GetRobotRoom() bool { + if x != nil { + return x.RobotRoom + } + return false +} + +func (x *CreateRoomRequest) GetRobotUserIds() []int64 { + if x != nil { + return x.RobotUserIds + } + return nil +} + // CreateRoomResponse 返回新建后的房间快照。 type CreateRoomResponse struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -3702,7 +4472,7 @@ type CreateRoomResponse struct { func (x *CreateRoomResponse) Reset() { *x = CreateRoomResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[43] + mi := &file_proto_room_v1_room_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3714,7 +4484,7 @@ func (x *CreateRoomResponse) String() string { func (*CreateRoomResponse) ProtoMessage() {} func (x *CreateRoomResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[43] + mi := &file_proto_room_v1_room_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3727,7 +4497,7 @@ func (x *CreateRoomResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateRoomResponse.ProtoReflect.Descriptor instead. func (*CreateRoomResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{43} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{53} } func (x *CreateRoomResponse) GetResult() *CommandResult { @@ -3759,7 +4529,7 @@ type UpdateRoomProfileRequest struct { func (x *UpdateRoomProfileRequest) Reset() { *x = UpdateRoomProfileRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[44] + mi := &file_proto_room_v1_room_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3771,7 +4541,7 @@ func (x *UpdateRoomProfileRequest) String() string { func (*UpdateRoomProfileRequest) ProtoMessage() {} func (x *UpdateRoomProfileRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[44] + mi := &file_proto_room_v1_room_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3784,7 +4554,7 @@ func (x *UpdateRoomProfileRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRoomProfileRequest.ProtoReflect.Descriptor instead. func (*UpdateRoomProfileRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{44} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{54} } func (x *UpdateRoomProfileRequest) GetMeta() *RequestMeta { @@ -3833,7 +4603,7 @@ type UpdateRoomProfileResponse struct { func (x *UpdateRoomProfileResponse) Reset() { *x = UpdateRoomProfileResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[45] + mi := &file_proto_room_v1_room_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3845,7 +4615,7 @@ func (x *UpdateRoomProfileResponse) String() string { func (*UpdateRoomProfileResponse) ProtoMessage() {} func (x *UpdateRoomProfileResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[45] + mi := &file_proto_room_v1_room_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3858,7 +4628,7 @@ func (x *UpdateRoomProfileResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRoomProfileResponse.ProtoReflect.Descriptor instead. func (*UpdateRoomProfileResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{45} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{55} } func (x *UpdateRoomProfileResponse) GetResult() *CommandResult { @@ -3893,7 +4663,7 @@ type RoomEntryVehicleSnapshot struct { func (x *RoomEntryVehicleSnapshot) Reset() { *x = RoomEntryVehicleSnapshot{} - mi := &file_proto_room_v1_room_proto_msgTypes[46] + mi := &file_proto_room_v1_room_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3905,7 +4675,7 @@ func (x *RoomEntryVehicleSnapshot) String() string { func (*RoomEntryVehicleSnapshot) ProtoMessage() {} func (x *RoomEntryVehicleSnapshot) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[46] + mi := &file_proto_room_v1_room_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3918,7 +4688,7 @@ func (x *RoomEntryVehicleSnapshot) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomEntryVehicleSnapshot.ProtoReflect.Descriptor instead. func (*RoomEntryVehicleSnapshot) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{46} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{56} } func (x *RoomEntryVehicleSnapshot) GetResourceId() int64 { @@ -3999,7 +4769,7 @@ type JoinRoomRequest struct { func (x *JoinRoomRequest) Reset() { *x = JoinRoomRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[47] + mi := &file_proto_room_v1_room_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4011,7 +4781,7 @@ func (x *JoinRoomRequest) String() string { func (*JoinRoomRequest) ProtoMessage() {} func (x *JoinRoomRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[47] + mi := &file_proto_room_v1_room_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4024,7 +4794,7 @@ func (x *JoinRoomRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use JoinRoomRequest.ProtoReflect.Descriptor instead. func (*JoinRoomRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{47} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{57} } func (x *JoinRoomRequest) GetMeta() *RequestMeta { @@ -4081,7 +4851,7 @@ type JoinRoomResponse struct { func (x *JoinRoomResponse) Reset() { *x = JoinRoomResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[48] + mi := &file_proto_room_v1_room_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4093,7 +4863,7 @@ func (x *JoinRoomResponse) String() string { func (*JoinRoomResponse) ProtoMessage() {} func (x *JoinRoomResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[48] + mi := &file_proto_room_v1_room_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4106,7 +4876,7 @@ func (x *JoinRoomResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use JoinRoomResponse.ProtoReflect.Descriptor instead. func (*JoinRoomResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{48} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{58} } func (x *JoinRoomResponse) GetResult() *CommandResult { @@ -4141,7 +4911,7 @@ type RoomHeartbeatRequest struct { func (x *RoomHeartbeatRequest) Reset() { *x = RoomHeartbeatRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[49] + mi := &file_proto_room_v1_room_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4153,7 +4923,7 @@ func (x *RoomHeartbeatRequest) String() string { func (*RoomHeartbeatRequest) ProtoMessage() {} func (x *RoomHeartbeatRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[49] + mi := &file_proto_room_v1_room_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4166,7 +4936,7 @@ func (x *RoomHeartbeatRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomHeartbeatRequest.ProtoReflect.Descriptor instead. func (*RoomHeartbeatRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{49} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{59} } func (x *RoomHeartbeatRequest) GetMeta() *RequestMeta { @@ -4188,7 +4958,7 @@ type RoomHeartbeatResponse struct { func (x *RoomHeartbeatResponse) Reset() { *x = RoomHeartbeatResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[50] + mi := &file_proto_room_v1_room_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4200,7 +4970,7 @@ func (x *RoomHeartbeatResponse) String() string { func (*RoomHeartbeatResponse) ProtoMessage() {} func (x *RoomHeartbeatResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[50] + mi := &file_proto_room_v1_room_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4213,7 +4983,7 @@ func (x *RoomHeartbeatResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomHeartbeatResponse.ProtoReflect.Descriptor instead. func (*RoomHeartbeatResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{50} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{60} } func (x *RoomHeartbeatResponse) GetResult() *CommandResult { @@ -4247,7 +5017,7 @@ type LeaveRoomRequest struct { func (x *LeaveRoomRequest) Reset() { *x = LeaveRoomRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[51] + mi := &file_proto_room_v1_room_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4259,7 +5029,7 @@ func (x *LeaveRoomRequest) String() string { func (*LeaveRoomRequest) ProtoMessage() {} func (x *LeaveRoomRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[51] + mi := &file_proto_room_v1_room_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4272,7 +5042,7 @@ func (x *LeaveRoomRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use LeaveRoomRequest.ProtoReflect.Descriptor instead. func (*LeaveRoomRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{51} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{61} } func (x *LeaveRoomRequest) GetMeta() *RequestMeta { @@ -4293,7 +5063,7 @@ type LeaveRoomResponse struct { func (x *LeaveRoomResponse) Reset() { *x = LeaveRoomResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[52] + mi := &file_proto_room_v1_room_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4305,7 +5075,7 @@ func (x *LeaveRoomResponse) String() string { func (*LeaveRoomResponse) ProtoMessage() {} func (x *LeaveRoomResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[52] + mi := &file_proto_room_v1_room_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4318,7 +5088,7 @@ func (x *LeaveRoomResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use LeaveRoomResponse.ProtoReflect.Descriptor instead. func (*LeaveRoomResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{52} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{62} } func (x *LeaveRoomResponse) GetResult() *CommandResult { @@ -4346,7 +5116,7 @@ type CloseRoomRequest struct { func (x *CloseRoomRequest) Reset() { *x = CloseRoomRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[53] + mi := &file_proto_room_v1_room_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4358,7 +5128,7 @@ func (x *CloseRoomRequest) String() string { func (*CloseRoomRequest) ProtoMessage() {} func (x *CloseRoomRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[53] + mi := &file_proto_room_v1_room_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4371,7 +5141,7 @@ func (x *CloseRoomRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CloseRoomRequest.ProtoReflect.Descriptor instead. func (*CloseRoomRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{53} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{63} } func (x *CloseRoomRequest) GetMeta() *RequestMeta { @@ -4399,7 +5169,7 @@ type CloseRoomResponse struct { func (x *CloseRoomResponse) Reset() { *x = CloseRoomResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[54] + mi := &file_proto_room_v1_room_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4411,7 +5181,7 @@ func (x *CloseRoomResponse) String() string { func (*CloseRoomResponse) ProtoMessage() {} func (x *CloseRoomResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[54] + mi := &file_proto_room_v1_room_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4424,7 +5194,7 @@ func (x *CloseRoomResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CloseRoomResponse.ProtoReflect.Descriptor instead. func (*CloseRoomResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{54} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{64} } func (x *CloseRoomResponse) GetResult() *CommandResult { @@ -4469,7 +5239,7 @@ type AdminRoomListItem struct { func (x *AdminRoomListItem) Reset() { *x = AdminRoomListItem{} - mi := &file_proto_room_v1_room_proto_msgTypes[55] + mi := &file_proto_room_v1_room_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4481,7 +5251,7 @@ func (x *AdminRoomListItem) String() string { func (*AdminRoomListItem) ProtoMessage() {} func (x *AdminRoomListItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[55] + mi := &file_proto_room_v1_room_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4494,7 +5264,7 @@ func (x *AdminRoomListItem) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminRoomListItem.ProtoReflect.Descriptor instead. func (*AdminRoomListItem) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{55} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{65} } func (x *AdminRoomListItem) GetRoomId() string { @@ -4647,7 +5417,7 @@ type AdminListRoomsRequest struct { func (x *AdminListRoomsRequest) Reset() { *x = AdminListRoomsRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[56] + mi := &file_proto_room_v1_room_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4659,7 +5429,7 @@ func (x *AdminListRoomsRequest) String() string { func (*AdminListRoomsRequest) ProtoMessage() {} func (x *AdminListRoomsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[56] + mi := &file_proto_room_v1_room_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4672,7 +5442,7 @@ func (x *AdminListRoomsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminListRoomsRequest.ProtoReflect.Descriptor instead. func (*AdminListRoomsRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{56} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{66} } func (x *AdminListRoomsRequest) GetMeta() *RequestMeta { @@ -4749,7 +5519,7 @@ type AdminListRoomsResponse struct { func (x *AdminListRoomsResponse) Reset() { *x = AdminListRoomsResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[57] + mi := &file_proto_room_v1_room_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4761,7 +5531,7 @@ func (x *AdminListRoomsResponse) String() string { func (*AdminListRoomsResponse) ProtoMessage() {} func (x *AdminListRoomsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[57] + mi := &file_proto_room_v1_room_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4774,7 +5544,7 @@ func (x *AdminListRoomsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminListRoomsResponse.ProtoReflect.Descriptor instead. func (*AdminListRoomsResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{57} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{67} } func (x *AdminListRoomsResponse) GetRooms() []*AdminRoomListItem { @@ -4808,7 +5578,7 @@ type AdminGetRoomRequest struct { func (x *AdminGetRoomRequest) Reset() { *x = AdminGetRoomRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[58] + mi := &file_proto_room_v1_room_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4820,7 +5590,7 @@ func (x *AdminGetRoomRequest) String() string { func (*AdminGetRoomRequest) ProtoMessage() {} func (x *AdminGetRoomRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[58] + mi := &file_proto_room_v1_room_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4833,7 +5603,7 @@ func (x *AdminGetRoomRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminGetRoomRequest.ProtoReflect.Descriptor instead. func (*AdminGetRoomRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{58} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{68} } func (x *AdminGetRoomRequest) GetMeta() *RequestMeta { @@ -4860,7 +5630,7 @@ type AdminGetRoomResponse struct { func (x *AdminGetRoomResponse) Reset() { *x = AdminGetRoomResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[59] + mi := &file_proto_room_v1_room_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4872,7 +5642,7 @@ func (x *AdminGetRoomResponse) String() string { func (*AdminGetRoomResponse) ProtoMessage() {} func (x *AdminGetRoomResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[59] + mi := &file_proto_room_v1_room_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4885,7 +5655,7 @@ func (x *AdminGetRoomResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminGetRoomResponse.ProtoReflect.Descriptor instead. func (*AdminGetRoomResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{59} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{69} } func (x *AdminGetRoomResponse) GetRoom() *AdminRoomListItem { @@ -4922,7 +5692,7 @@ type AdminUpdateRoomRequest struct { func (x *AdminUpdateRoomRequest) Reset() { *x = AdminUpdateRoomRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[60] + mi := &file_proto_room_v1_room_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4934,7 +5704,7 @@ func (x *AdminUpdateRoomRequest) String() string { func (*AdminUpdateRoomRequest) ProtoMessage() {} func (x *AdminUpdateRoomRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[60] + mi := &file_proto_room_v1_room_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4947,7 +5717,7 @@ func (x *AdminUpdateRoomRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminUpdateRoomRequest.ProtoReflect.Descriptor instead. func (*AdminUpdateRoomRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{60} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{70} } func (x *AdminUpdateRoomRequest) GetMeta() *RequestMeta { @@ -5037,7 +5807,7 @@ type AdminUpdateRoomResponse struct { func (x *AdminUpdateRoomResponse) Reset() { *x = AdminUpdateRoomResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[61] + mi := &file_proto_room_v1_room_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5049,7 +5819,7 @@ func (x *AdminUpdateRoomResponse) String() string { func (*AdminUpdateRoomResponse) ProtoMessage() {} func (x *AdminUpdateRoomResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[61] + mi := &file_proto_room_v1_room_proto_msgTypes[71] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5062,7 +5832,7 @@ func (x *AdminUpdateRoomResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminUpdateRoomResponse.ProtoReflect.Descriptor instead. func (*AdminUpdateRoomResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{61} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{71} } func (x *AdminUpdateRoomResponse) GetResult() *CommandResult { @@ -5090,7 +5860,7 @@ type AdminDeleteRoomRequest struct { func (x *AdminDeleteRoomRequest) Reset() { *x = AdminDeleteRoomRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[62] + mi := &file_proto_room_v1_room_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5102,7 +5872,7 @@ func (x *AdminDeleteRoomRequest) String() string { func (*AdminDeleteRoomRequest) ProtoMessage() {} func (x *AdminDeleteRoomRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[62] + mi := &file_proto_room_v1_room_proto_msgTypes[72] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5115,7 +5885,7 @@ func (x *AdminDeleteRoomRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminDeleteRoomRequest.ProtoReflect.Descriptor instead. func (*AdminDeleteRoomRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{62} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{72} } func (x *AdminDeleteRoomRequest) GetMeta() *RequestMeta { @@ -5149,7 +5919,7 @@ type AdminDeleteRoomResponse struct { func (x *AdminDeleteRoomResponse) Reset() { *x = AdminDeleteRoomResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[63] + mi := &file_proto_room_v1_room_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5161,7 +5931,7 @@ func (x *AdminDeleteRoomResponse) String() string { func (*AdminDeleteRoomResponse) ProtoMessage() {} func (x *AdminDeleteRoomResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[63] + mi := &file_proto_room_v1_room_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5174,7 +5944,7 @@ func (x *AdminDeleteRoomResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminDeleteRoomResponse.ProtoReflect.Descriptor instead. func (*AdminDeleteRoomResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{63} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{73} } func (x *AdminDeleteRoomResponse) GetResult() *CommandResult { @@ -5202,7 +5972,7 @@ type MicUpRequest struct { func (x *MicUpRequest) Reset() { *x = MicUpRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[64] + mi := &file_proto_room_v1_room_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5214,7 +5984,7 @@ func (x *MicUpRequest) String() string { func (*MicUpRequest) ProtoMessage() {} func (x *MicUpRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[64] + mi := &file_proto_room_v1_room_proto_msgTypes[74] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5227,7 +5997,7 @@ func (x *MicUpRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MicUpRequest.ProtoReflect.Descriptor instead. func (*MicUpRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{64} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{74} } func (x *MicUpRequest) GetMeta() *RequestMeta { @@ -5258,7 +6028,7 @@ type MicUpResponse struct { func (x *MicUpResponse) Reset() { *x = MicUpResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[65] + mi := &file_proto_room_v1_room_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5270,7 +6040,7 @@ func (x *MicUpResponse) String() string { func (*MicUpResponse) ProtoMessage() {} func (x *MicUpResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[65] + mi := &file_proto_room_v1_room_proto_msgTypes[75] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5283,7 +6053,7 @@ func (x *MicUpResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MicUpResponse.ProtoReflect.Descriptor instead. func (*MicUpResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{65} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{75} } func (x *MicUpResponse) GetResult() *CommandResult { @@ -5334,7 +6104,7 @@ type MicDownRequest struct { func (x *MicDownRequest) Reset() { *x = MicDownRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[66] + mi := &file_proto_room_v1_room_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5346,7 +6116,7 @@ func (x *MicDownRequest) String() string { func (*MicDownRequest) ProtoMessage() {} func (x *MicDownRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[66] + mi := &file_proto_room_v1_room_proto_msgTypes[76] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5359,7 +6129,7 @@ func (x *MicDownRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MicDownRequest.ProtoReflect.Descriptor instead. func (*MicDownRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{66} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{76} } func (x *MicDownRequest) GetMeta() *RequestMeta { @@ -5395,7 +6165,7 @@ type MicDownResponse struct { func (x *MicDownResponse) Reset() { *x = MicDownResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[67] + mi := &file_proto_room_v1_room_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5407,7 +6177,7 @@ func (x *MicDownResponse) String() string { func (*MicDownResponse) ProtoMessage() {} func (x *MicDownResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[67] + mi := &file_proto_room_v1_room_proto_msgTypes[77] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5420,7 +6190,7 @@ func (x *MicDownResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MicDownResponse.ProtoReflect.Descriptor instead. func (*MicDownResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{67} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{77} } func (x *MicDownResponse) GetResult() *CommandResult { @@ -5456,7 +6226,7 @@ type ChangeMicSeatRequest struct { func (x *ChangeMicSeatRequest) Reset() { *x = ChangeMicSeatRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[68] + mi := &file_proto_room_v1_room_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5468,7 +6238,7 @@ func (x *ChangeMicSeatRequest) String() string { func (*ChangeMicSeatRequest) ProtoMessage() {} func (x *ChangeMicSeatRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[68] + mi := &file_proto_room_v1_room_proto_msgTypes[78] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5481,7 +6251,7 @@ func (x *ChangeMicSeatRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ChangeMicSeatRequest.ProtoReflect.Descriptor instead. func (*ChangeMicSeatRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{68} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{78} } func (x *ChangeMicSeatRequest) GetMeta() *RequestMeta { @@ -5516,7 +6286,7 @@ type ChangeMicSeatResponse struct { func (x *ChangeMicSeatResponse) Reset() { *x = ChangeMicSeatResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[69] + mi := &file_proto_room_v1_room_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5528,7 +6298,7 @@ func (x *ChangeMicSeatResponse) String() string { func (*ChangeMicSeatResponse) ProtoMessage() {} func (x *ChangeMicSeatResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[69] + mi := &file_proto_room_v1_room_proto_msgTypes[79] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5541,7 +6311,7 @@ func (x *ChangeMicSeatResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ChangeMicSeatResponse.ProtoReflect.Descriptor instead. func (*ChangeMicSeatResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{69} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{79} } func (x *ChangeMicSeatResponse) GetResult() *CommandResult { @@ -5575,7 +6345,7 @@ type ConfirmMicPublishingRequest struct { func (x *ConfirmMicPublishingRequest) Reset() { *x = ConfirmMicPublishingRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[70] + mi := &file_proto_room_v1_room_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5587,7 +6357,7 @@ func (x *ConfirmMicPublishingRequest) String() string { func (*ConfirmMicPublishingRequest) ProtoMessage() {} func (x *ConfirmMicPublishingRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[70] + mi := &file_proto_room_v1_room_proto_msgTypes[80] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5600,7 +6370,7 @@ func (x *ConfirmMicPublishingRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfirmMicPublishingRequest.ProtoReflect.Descriptor instead. func (*ConfirmMicPublishingRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{70} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{80} } func (x *ConfirmMicPublishingRequest) GetMeta() *RequestMeta { @@ -5657,7 +6427,7 @@ type ConfirmMicPublishingResponse struct { func (x *ConfirmMicPublishingResponse) Reset() { *x = ConfirmMicPublishingResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[71] + mi := &file_proto_room_v1_room_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5669,7 +6439,7 @@ func (x *ConfirmMicPublishingResponse) String() string { func (*ConfirmMicPublishingResponse) ProtoMessage() {} func (x *ConfirmMicPublishingResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[71] + mi := &file_proto_room_v1_room_proto_msgTypes[81] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5682,7 +6452,7 @@ func (x *ConfirmMicPublishingResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfirmMicPublishingResponse.ProtoReflect.Descriptor instead. func (*ConfirmMicPublishingResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{71} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{81} } func (x *ConfirmMicPublishingResponse) GetResult() *CommandResult { @@ -5720,7 +6490,7 @@ type MicHeartbeatRequest struct { func (x *MicHeartbeatRequest) Reset() { *x = MicHeartbeatRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[72] + mi := &file_proto_room_v1_room_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5732,7 +6502,7 @@ func (x *MicHeartbeatRequest) String() string { func (*MicHeartbeatRequest) ProtoMessage() {} func (x *MicHeartbeatRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[72] + mi := &file_proto_room_v1_room_proto_msgTypes[82] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5745,7 +6515,7 @@ func (x *MicHeartbeatRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MicHeartbeatRequest.ProtoReflect.Descriptor instead. func (*MicHeartbeatRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{72} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{82} } func (x *MicHeartbeatRequest) GetMeta() *RequestMeta { @@ -5782,7 +6552,7 @@ type MicHeartbeatResponse struct { func (x *MicHeartbeatResponse) Reset() { *x = MicHeartbeatResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[73] + mi := &file_proto_room_v1_room_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5794,7 +6564,7 @@ func (x *MicHeartbeatResponse) String() string { func (*MicHeartbeatResponse) ProtoMessage() {} func (x *MicHeartbeatResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[73] + mi := &file_proto_room_v1_room_proto_msgTypes[83] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5807,7 +6577,7 @@ func (x *MicHeartbeatResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MicHeartbeatResponse.ProtoReflect.Descriptor instead. func (*MicHeartbeatResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{73} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{83} } func (x *MicHeartbeatResponse) GetResult() *CommandResult { @@ -5851,7 +6621,7 @@ type SetMicMuteRequest struct { func (x *SetMicMuteRequest) Reset() { *x = SetMicMuteRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[74] + mi := &file_proto_room_v1_room_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5863,7 +6633,7 @@ func (x *SetMicMuteRequest) String() string { func (*SetMicMuteRequest) ProtoMessage() {} func (x *SetMicMuteRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[74] + mi := &file_proto_room_v1_room_proto_msgTypes[84] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5876,7 +6646,7 @@ func (x *SetMicMuteRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetMicMuteRequest.ProtoReflect.Descriptor instead. func (*SetMicMuteRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{74} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{84} } func (x *SetMicMuteRequest) GetMeta() *RequestMeta { @@ -5912,7 +6682,7 @@ type SetMicMuteResponse struct { func (x *SetMicMuteResponse) Reset() { *x = SetMicMuteResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[75] + mi := &file_proto_room_v1_room_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5924,7 +6694,7 @@ func (x *SetMicMuteResponse) String() string { func (*SetMicMuteResponse) ProtoMessage() {} func (x *SetMicMuteResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[75] + mi := &file_proto_room_v1_room_proto_msgTypes[85] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5937,7 +6707,7 @@ func (x *SetMicMuteResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetMicMuteResponse.ProtoReflect.Descriptor instead. func (*SetMicMuteResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{75} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{85} } func (x *SetMicMuteResponse) GetResult() *CommandResult { @@ -5978,7 +6748,7 @@ type ApplyRTCEventRequest struct { func (x *ApplyRTCEventRequest) Reset() { *x = ApplyRTCEventRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[76] + mi := &file_proto_room_v1_room_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5990,7 +6760,7 @@ func (x *ApplyRTCEventRequest) String() string { func (*ApplyRTCEventRequest) ProtoMessage() {} func (x *ApplyRTCEventRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[76] + mi := &file_proto_room_v1_room_proto_msgTypes[86] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6003,7 +6773,7 @@ func (x *ApplyRTCEventRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplyRTCEventRequest.ProtoReflect.Descriptor instead. func (*ApplyRTCEventRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{76} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{86} } func (x *ApplyRTCEventRequest) GetMeta() *RequestMeta { @@ -6067,7 +6837,7 @@ type ApplyRTCEventResponse struct { func (x *ApplyRTCEventResponse) Reset() { *x = ApplyRTCEventResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[77] + mi := &file_proto_room_v1_room_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6079,7 +6849,7 @@ func (x *ApplyRTCEventResponse) String() string { func (*ApplyRTCEventResponse) ProtoMessage() {} func (x *ApplyRTCEventResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[77] + mi := &file_proto_room_v1_room_proto_msgTypes[87] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6092,7 +6862,7 @@ func (x *ApplyRTCEventResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplyRTCEventResponse.ProtoReflect.Descriptor instead. func (*ApplyRTCEventResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{77} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{87} } func (x *ApplyRTCEventResponse) GetResult() *CommandResult { @@ -6128,7 +6898,7 @@ type SetMicSeatLockRequest struct { func (x *SetMicSeatLockRequest) Reset() { *x = SetMicSeatLockRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[78] + mi := &file_proto_room_v1_room_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6140,7 +6910,7 @@ func (x *SetMicSeatLockRequest) String() string { func (*SetMicSeatLockRequest) ProtoMessage() {} func (x *SetMicSeatLockRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[78] + mi := &file_proto_room_v1_room_proto_msgTypes[88] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6153,7 +6923,7 @@ func (x *SetMicSeatLockRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetMicSeatLockRequest.ProtoReflect.Descriptor instead. func (*SetMicSeatLockRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{78} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{88} } func (x *SetMicSeatLockRequest) GetMeta() *RequestMeta { @@ -6188,7 +6958,7 @@ type SetMicSeatLockResponse struct { func (x *SetMicSeatLockResponse) Reset() { *x = SetMicSeatLockResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[79] + mi := &file_proto_room_v1_room_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6200,7 +6970,7 @@ func (x *SetMicSeatLockResponse) String() string { func (*SetMicSeatLockResponse) ProtoMessage() {} func (x *SetMicSeatLockResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[79] + mi := &file_proto_room_v1_room_proto_msgTypes[89] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6213,7 +6983,7 @@ func (x *SetMicSeatLockResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetMicSeatLockResponse.ProtoReflect.Descriptor instead. func (*SetMicSeatLockResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{79} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{89} } func (x *SetMicSeatLockResponse) GetResult() *CommandResult { @@ -6241,7 +7011,7 @@ type SetChatEnabledRequest struct { func (x *SetChatEnabledRequest) Reset() { *x = SetChatEnabledRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[80] + mi := &file_proto_room_v1_room_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6253,7 +7023,7 @@ func (x *SetChatEnabledRequest) String() string { func (*SetChatEnabledRequest) ProtoMessage() {} func (x *SetChatEnabledRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[80] + mi := &file_proto_room_v1_room_proto_msgTypes[90] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6266,7 +7036,7 @@ func (x *SetChatEnabledRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetChatEnabledRequest.ProtoReflect.Descriptor instead. func (*SetChatEnabledRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{80} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{90} } func (x *SetChatEnabledRequest) GetMeta() *RequestMeta { @@ -6294,7 +7064,7 @@ type SetChatEnabledResponse struct { func (x *SetChatEnabledResponse) Reset() { *x = SetChatEnabledResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[81] + mi := &file_proto_room_v1_room_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6306,7 +7076,7 @@ func (x *SetChatEnabledResponse) String() string { func (*SetChatEnabledResponse) ProtoMessage() {} func (x *SetChatEnabledResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[81] + mi := &file_proto_room_v1_room_proto_msgTypes[91] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6319,7 +7089,7 @@ func (x *SetChatEnabledResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetChatEnabledResponse.ProtoReflect.Descriptor instead. func (*SetChatEnabledResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{81} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{91} } func (x *SetChatEnabledResponse) GetResult() *CommandResult { @@ -6349,7 +7119,7 @@ type SetRoomPasswordRequest struct { func (x *SetRoomPasswordRequest) Reset() { *x = SetRoomPasswordRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[82] + mi := &file_proto_room_v1_room_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6361,7 +7131,7 @@ func (x *SetRoomPasswordRequest) String() string { func (*SetRoomPasswordRequest) ProtoMessage() {} func (x *SetRoomPasswordRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[82] + mi := &file_proto_room_v1_room_proto_msgTypes[92] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6374,7 +7144,7 @@ func (x *SetRoomPasswordRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetRoomPasswordRequest.ProtoReflect.Descriptor instead. func (*SetRoomPasswordRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{82} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{92} } func (x *SetRoomPasswordRequest) GetMeta() *RequestMeta { @@ -6409,7 +7179,7 @@ type SetRoomPasswordResponse struct { func (x *SetRoomPasswordResponse) Reset() { *x = SetRoomPasswordResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[83] + mi := &file_proto_room_v1_room_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6421,7 +7191,7 @@ func (x *SetRoomPasswordResponse) String() string { func (*SetRoomPasswordResponse) ProtoMessage() {} func (x *SetRoomPasswordResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[83] + mi := &file_proto_room_v1_room_proto_msgTypes[93] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6434,7 +7204,7 @@ func (x *SetRoomPasswordResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetRoomPasswordResponse.ProtoReflect.Descriptor instead. func (*SetRoomPasswordResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{83} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{93} } func (x *SetRoomPasswordResponse) GetResult() *CommandResult { @@ -6463,7 +7233,7 @@ type SetRoomAdminRequest struct { func (x *SetRoomAdminRequest) Reset() { *x = SetRoomAdminRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[84] + mi := &file_proto_room_v1_room_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6475,7 +7245,7 @@ func (x *SetRoomAdminRequest) String() string { func (*SetRoomAdminRequest) ProtoMessage() {} func (x *SetRoomAdminRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[84] + mi := &file_proto_room_v1_room_proto_msgTypes[94] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6488,7 +7258,7 @@ func (x *SetRoomAdminRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetRoomAdminRequest.ProtoReflect.Descriptor instead. func (*SetRoomAdminRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{84} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{94} } func (x *SetRoomAdminRequest) GetMeta() *RequestMeta { @@ -6523,7 +7293,7 @@ type SetRoomAdminResponse struct { func (x *SetRoomAdminResponse) Reset() { *x = SetRoomAdminResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[85] + mi := &file_proto_room_v1_room_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6535,7 +7305,7 @@ func (x *SetRoomAdminResponse) String() string { func (*SetRoomAdminResponse) ProtoMessage() {} func (x *SetRoomAdminResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[85] + mi := &file_proto_room_v1_room_proto_msgTypes[95] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6548,7 +7318,7 @@ func (x *SetRoomAdminResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SetRoomAdminResponse.ProtoReflect.Descriptor instead. func (*SetRoomAdminResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{85} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{95} } func (x *SetRoomAdminResponse) GetResult() *CommandResult { @@ -6577,7 +7347,7 @@ type MuteUserRequest struct { func (x *MuteUserRequest) Reset() { *x = MuteUserRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[86] + mi := &file_proto_room_v1_room_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6589,7 +7359,7 @@ func (x *MuteUserRequest) String() string { func (*MuteUserRequest) ProtoMessage() {} func (x *MuteUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[86] + mi := &file_proto_room_v1_room_proto_msgTypes[96] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6602,7 +7372,7 @@ func (x *MuteUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use MuteUserRequest.ProtoReflect.Descriptor instead. func (*MuteUserRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{86} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{96} } func (x *MuteUserRequest) GetMeta() *RequestMeta { @@ -6637,7 +7407,7 @@ type MuteUserResponse struct { func (x *MuteUserResponse) Reset() { *x = MuteUserResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[87] + mi := &file_proto_room_v1_room_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6649,7 +7419,7 @@ func (x *MuteUserResponse) String() string { func (*MuteUserResponse) ProtoMessage() {} func (x *MuteUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[87] + mi := &file_proto_room_v1_room_proto_msgTypes[97] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6662,7 +7432,7 @@ func (x *MuteUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use MuteUserResponse.ProtoReflect.Descriptor instead. func (*MuteUserResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{87} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{97} } func (x *MuteUserResponse) GetResult() *CommandResult { @@ -6692,7 +7462,7 @@ type KickUserRequest struct { func (x *KickUserRequest) Reset() { *x = KickUserRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[88] + mi := &file_proto_room_v1_room_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6704,7 +7474,7 @@ func (x *KickUserRequest) String() string { func (*KickUserRequest) ProtoMessage() {} func (x *KickUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[88] + mi := &file_proto_room_v1_room_proto_msgTypes[98] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6717,7 +7487,7 @@ func (x *KickUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use KickUserRequest.ProtoReflect.Descriptor instead. func (*KickUserRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{88} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{98} } func (x *KickUserRequest) GetMeta() *RequestMeta { @@ -6756,7 +7526,7 @@ type KickUserResponse struct { func (x *KickUserResponse) Reset() { *x = KickUserResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[89] + mi := &file_proto_room_v1_room_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6768,7 +7538,7 @@ func (x *KickUserResponse) String() string { func (*KickUserResponse) ProtoMessage() {} func (x *KickUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[89] + mi := &file_proto_room_v1_room_proto_msgTypes[99] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6781,7 +7551,7 @@ func (x *KickUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use KickUserResponse.ProtoReflect.Descriptor instead. func (*KickUserResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{89} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{99} } func (x *KickUserResponse) GetResult() *CommandResult { @@ -6823,7 +7593,7 @@ type UnbanUserRequest struct { func (x *UnbanUserRequest) Reset() { *x = UnbanUserRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[90] + mi := &file_proto_room_v1_room_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6835,7 +7605,7 @@ func (x *UnbanUserRequest) String() string { func (*UnbanUserRequest) ProtoMessage() {} func (x *UnbanUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[90] + mi := &file_proto_room_v1_room_proto_msgTypes[100] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6848,7 +7618,7 @@ func (x *UnbanUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UnbanUserRequest.ProtoReflect.Descriptor instead. func (*UnbanUserRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{90} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{100} } func (x *UnbanUserRequest) GetMeta() *RequestMeta { @@ -6876,7 +7646,7 @@ type UnbanUserResponse struct { func (x *UnbanUserResponse) Reset() { *x = UnbanUserResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[91] + mi := &file_proto_room_v1_room_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6888,7 +7658,7 @@ func (x *UnbanUserResponse) String() string { func (*UnbanUserResponse) ProtoMessage() {} func (x *UnbanUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[91] + mi := &file_proto_room_v1_room_proto_msgTypes[101] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6901,7 +7671,7 @@ func (x *UnbanUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UnbanUserResponse.ProtoReflect.Descriptor instead. func (*UnbanUserResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{91} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{101} } func (x *UnbanUserResponse) GetResult() *CommandResult { @@ -6934,7 +7704,7 @@ type SystemEvictUserRequest struct { func (x *SystemEvictUserRequest) Reset() { *x = SystemEvictUserRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[92] + mi := &file_proto_room_v1_room_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6946,7 +7716,7 @@ func (x *SystemEvictUserRequest) String() string { func (*SystemEvictUserRequest) ProtoMessage() {} func (x *SystemEvictUserRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[92] + mi := &file_proto_room_v1_room_proto_msgTypes[102] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6959,7 +7729,7 @@ func (x *SystemEvictUserRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SystemEvictUserRequest.ProtoReflect.Descriptor instead. func (*SystemEvictUserRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{92} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{102} } func (x *SystemEvictUserRequest) GetMeta() *RequestMeta { @@ -7012,7 +7782,7 @@ type SystemEvictUserResponse struct { func (x *SystemEvictUserResponse) Reset() { *x = SystemEvictUserResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[93] + mi := &file_proto_room_v1_room_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7024,7 +7794,7 @@ func (x *SystemEvictUserResponse) String() string { func (*SystemEvictUserResponse) ProtoMessage() {} func (x *SystemEvictUserResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[93] + mi := &file_proto_room_v1_room_proto_msgTypes[103] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7037,7 +7807,7 @@ func (x *SystemEvictUserResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SystemEvictUserResponse.ProtoReflect.Descriptor instead. func (*SystemEvictUserResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{93} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{103} } func (x *SystemEvictUserResponse) GetHadCurrentRoom() bool { @@ -7110,7 +7880,7 @@ type SendGiftRequest struct { func (x *SendGiftRequest) Reset() { *x = SendGiftRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[94] + mi := &file_proto_room_v1_room_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7122,7 +7892,7 @@ func (x *SendGiftRequest) String() string { func (*SendGiftRequest) ProtoMessage() {} func (x *SendGiftRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[94] + mi := &file_proto_room_v1_room_proto_msgTypes[104] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7135,7 +7905,7 @@ func (x *SendGiftRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SendGiftRequest.ProtoReflect.Descriptor instead. func (*SendGiftRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{94} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{104} } func (x *SendGiftRequest) GetMeta() *RequestMeta { @@ -7241,7 +8011,7 @@ type SendGiftResponse struct { func (x *SendGiftResponse) Reset() { *x = SendGiftResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[95] + mi := &file_proto_room_v1_room_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7253,7 +8023,7 @@ func (x *SendGiftResponse) String() string { func (*SendGiftResponse) ProtoMessage() {} func (x *SendGiftResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[95] + mi := &file_proto_room_v1_room_proto_msgTypes[105] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7266,7 +8036,7 @@ func (x *SendGiftResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use SendGiftResponse.ProtoReflect.Descriptor instead. func (*SendGiftResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{95} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{105} } func (x *SendGiftResponse) GetResult() *CommandResult { @@ -7337,7 +8107,7 @@ type CheckSpeakPermissionRequest struct { func (x *CheckSpeakPermissionRequest) Reset() { *x = CheckSpeakPermissionRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[96] + mi := &file_proto_room_v1_room_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7349,7 +8119,7 @@ func (x *CheckSpeakPermissionRequest) String() string { func (*CheckSpeakPermissionRequest) ProtoMessage() {} func (x *CheckSpeakPermissionRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[96] + mi := &file_proto_room_v1_room_proto_msgTypes[106] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7362,7 +8132,7 @@ func (x *CheckSpeakPermissionRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CheckSpeakPermissionRequest.ProtoReflect.Descriptor instead. func (*CheckSpeakPermissionRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{96} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{106} } func (x *CheckSpeakPermissionRequest) GetRoomId() string { @@ -7398,7 +8168,7 @@ type CheckSpeakPermissionResponse struct { func (x *CheckSpeakPermissionResponse) Reset() { *x = CheckSpeakPermissionResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[97] + mi := &file_proto_room_v1_room_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7410,7 +8180,7 @@ func (x *CheckSpeakPermissionResponse) String() string { func (*CheckSpeakPermissionResponse) ProtoMessage() {} func (x *CheckSpeakPermissionResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[97] + mi := &file_proto_room_v1_room_proto_msgTypes[107] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7423,7 +8193,7 @@ func (x *CheckSpeakPermissionResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CheckSpeakPermissionResponse.ProtoReflect.Descriptor instead. func (*CheckSpeakPermissionResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{97} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{107} } func (x *CheckSpeakPermissionResponse) GetAllowed() bool { @@ -7461,7 +8231,7 @@ type VerifyRoomPresenceRequest struct { func (x *VerifyRoomPresenceRequest) Reset() { *x = VerifyRoomPresenceRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[98] + mi := &file_proto_room_v1_room_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7473,7 +8243,7 @@ func (x *VerifyRoomPresenceRequest) String() string { func (*VerifyRoomPresenceRequest) ProtoMessage() {} func (x *VerifyRoomPresenceRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[98] + mi := &file_proto_room_v1_room_proto_msgTypes[108] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7486,7 +8256,7 @@ func (x *VerifyRoomPresenceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use VerifyRoomPresenceRequest.ProtoReflect.Descriptor instead. func (*VerifyRoomPresenceRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{98} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{108} } func (x *VerifyRoomPresenceRequest) GetRoomId() string { @@ -7536,7 +8306,7 @@ type VerifyRoomPresenceResponse struct { func (x *VerifyRoomPresenceResponse) Reset() { *x = VerifyRoomPresenceResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[99] + mi := &file_proto_room_v1_room_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7548,7 +8318,7 @@ func (x *VerifyRoomPresenceResponse) String() string { func (*VerifyRoomPresenceResponse) ProtoMessage() {} func (x *VerifyRoomPresenceResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[99] + mi := &file_proto_room_v1_room_proto_msgTypes[109] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7561,7 +8331,7 @@ func (x *VerifyRoomPresenceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use VerifyRoomPresenceResponse.ProtoReflect.Descriptor instead. func (*VerifyRoomPresenceResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{99} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{109} } func (x *VerifyRoomPresenceResponse) GetPresent() bool { @@ -7604,7 +8374,7 @@ type ListRoomsRequest struct { func (x *ListRoomsRequest) Reset() { *x = ListRoomsRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[100] + mi := &file_proto_room_v1_room_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7616,7 +8386,7 @@ func (x *ListRoomsRequest) String() string { func (*ListRoomsRequest) ProtoMessage() {} func (x *ListRoomsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[100] + mi := &file_proto_room_v1_room_proto_msgTypes[110] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7629,7 +8399,7 @@ func (x *ListRoomsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoomsRequest.ProtoReflect.Descriptor instead. func (*ListRoomsRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{100} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{110} } func (x *ListRoomsRequest) GetMeta() *RequestMeta { @@ -7707,7 +8477,7 @@ type ListRoomFeedsRequest struct { func (x *ListRoomFeedsRequest) Reset() { *x = ListRoomFeedsRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[101] + mi := &file_proto_room_v1_room_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7719,7 +8489,7 @@ func (x *ListRoomFeedsRequest) String() string { func (*ListRoomFeedsRequest) ProtoMessage() {} func (x *ListRoomFeedsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[101] + mi := &file_proto_room_v1_room_proto_msgTypes[111] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7732,7 +8502,7 @@ func (x *ListRoomFeedsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoomFeedsRequest.ProtoReflect.Descriptor instead. func (*ListRoomFeedsRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{101} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{111} } func (x *ListRoomFeedsRequest) GetMeta() *RequestMeta { @@ -7804,7 +8574,7 @@ type ListRoomGiftLeaderboardRequest struct { func (x *ListRoomGiftLeaderboardRequest) Reset() { *x = ListRoomGiftLeaderboardRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[102] + mi := &file_proto_room_v1_room_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7816,7 +8586,7 @@ func (x *ListRoomGiftLeaderboardRequest) String() string { func (*ListRoomGiftLeaderboardRequest) ProtoMessage() {} func (x *ListRoomGiftLeaderboardRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[102] + mi := &file_proto_room_v1_room_proto_msgTypes[112] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7829,7 +8599,7 @@ func (x *ListRoomGiftLeaderboardRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoomGiftLeaderboardRequest.ProtoReflect.Descriptor instead. func (*ListRoomGiftLeaderboardRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{102} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{112} } func (x *ListRoomGiftLeaderboardRequest) GetMeta() *RequestMeta { @@ -7871,7 +8641,7 @@ type RoomFeedRelatedUser struct { func (x *RoomFeedRelatedUser) Reset() { *x = RoomFeedRelatedUser{} - mi := &file_proto_room_v1_room_proto_msgTypes[103] + mi := &file_proto_room_v1_room_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7883,7 +8653,7 @@ func (x *RoomFeedRelatedUser) String() string { func (*RoomFeedRelatedUser) ProtoMessage() {} func (x *RoomFeedRelatedUser) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[103] + mi := &file_proto_room_v1_room_proto_msgTypes[113] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7896,7 +8666,7 @@ func (x *RoomFeedRelatedUser) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomFeedRelatedUser.ProtoReflect.Descriptor instead. func (*RoomFeedRelatedUser) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{103} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{113} } func (x *RoomFeedRelatedUser) GetUserId() int64 { @@ -7937,7 +8707,7 @@ type RoomListItem struct { func (x *RoomListItem) Reset() { *x = RoomListItem{} - mi := &file_proto_room_v1_room_proto_msgTypes[104] + mi := &file_proto_room_v1_room_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7949,7 +8719,7 @@ func (x *RoomListItem) String() string { func (*RoomListItem) ProtoMessage() {} func (x *RoomListItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[104] + mi := &file_proto_room_v1_room_proto_msgTypes[114] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7962,7 +8732,7 @@ func (x *RoomListItem) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomListItem.ProtoReflect.Descriptor instead. func (*RoomListItem) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{104} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{114} } func (x *RoomListItem) GetRoomId() string { @@ -8081,7 +8851,7 @@ type ListRoomsResponse struct { func (x *ListRoomsResponse) Reset() { *x = ListRoomsResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[105] + mi := &file_proto_room_v1_room_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8093,7 +8863,7 @@ func (x *ListRoomsResponse) String() string { func (*ListRoomsResponse) ProtoMessage() {} func (x *ListRoomsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[105] + mi := &file_proto_room_v1_room_proto_msgTypes[115] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8106,7 +8876,7 @@ func (x *ListRoomsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoomsResponse.ProtoReflect.Descriptor instead. func (*ListRoomsResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{105} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{115} } func (x *ListRoomsResponse) GetRooms() []*RoomListItem { @@ -8136,7 +8906,7 @@ type RoomGiftLeaderboardItem struct { func (x *RoomGiftLeaderboardItem) Reset() { *x = RoomGiftLeaderboardItem{} - mi := &file_proto_room_v1_room_proto_msgTypes[106] + mi := &file_proto_room_v1_room_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8148,7 +8918,7 @@ func (x *RoomGiftLeaderboardItem) String() string { func (*RoomGiftLeaderboardItem) ProtoMessage() {} func (x *RoomGiftLeaderboardItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[106] + mi := &file_proto_room_v1_room_proto_msgTypes[116] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8161,7 +8931,7 @@ func (x *RoomGiftLeaderboardItem) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomGiftLeaderboardItem.ProtoReflect.Descriptor instead. func (*RoomGiftLeaderboardItem) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{106} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{116} } func (x *RoomGiftLeaderboardItem) GetRank() int64 { @@ -8207,7 +8977,7 @@ type ListRoomGiftLeaderboardResponse struct { func (x *ListRoomGiftLeaderboardResponse) Reset() { *x = ListRoomGiftLeaderboardResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[107] + mi := &file_proto_room_v1_room_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8219,7 +8989,7 @@ func (x *ListRoomGiftLeaderboardResponse) String() string { func (*ListRoomGiftLeaderboardResponse) ProtoMessage() {} func (x *ListRoomGiftLeaderboardResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[107] + mi := &file_proto_room_v1_room_proto_msgTypes[117] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8232,7 +9002,7 @@ func (x *ListRoomGiftLeaderboardResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoomGiftLeaderboardResponse.ProtoReflect.Descriptor instead. func (*ListRoomGiftLeaderboardResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{107} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{117} } func (x *ListRoomGiftLeaderboardResponse) GetItems() []*RoomGiftLeaderboardItem { @@ -8289,7 +9059,7 @@ type GetMyRoomRequest struct { func (x *GetMyRoomRequest) Reset() { *x = GetMyRoomRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[108] + mi := &file_proto_room_v1_room_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8301,7 +9071,7 @@ func (x *GetMyRoomRequest) String() string { func (*GetMyRoomRequest) ProtoMessage() {} func (x *GetMyRoomRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[108] + mi := &file_proto_room_v1_room_proto_msgTypes[118] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8314,7 +9084,7 @@ func (x *GetMyRoomRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyRoomRequest.ProtoReflect.Descriptor instead. func (*GetMyRoomRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{108} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{118} } func (x *GetMyRoomRequest) GetMeta() *RequestMeta { @@ -8344,7 +9114,7 @@ type GetMyRoomResponse struct { func (x *GetMyRoomResponse) Reset() { *x = GetMyRoomResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[109] + mi := &file_proto_room_v1_room_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8356,7 +9126,7 @@ func (x *GetMyRoomResponse) String() string { func (*GetMyRoomResponse) ProtoMessage() {} func (x *GetMyRoomResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[109] + mi := &file_proto_room_v1_room_proto_msgTypes[119] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8369,7 +9139,7 @@ func (x *GetMyRoomResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyRoomResponse.ProtoReflect.Descriptor instead. func (*GetMyRoomResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{109} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{119} } func (x *GetMyRoomResponse) GetHasRoom() bool { @@ -8405,7 +9175,7 @@ type GetCurrentRoomRequest struct { func (x *GetCurrentRoomRequest) Reset() { *x = GetCurrentRoomRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[110] + mi := &file_proto_room_v1_room_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8417,7 +9187,7 @@ func (x *GetCurrentRoomRequest) String() string { func (*GetCurrentRoomRequest) ProtoMessage() {} func (x *GetCurrentRoomRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[110] + mi := &file_proto_room_v1_room_proto_msgTypes[120] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8430,7 +9200,7 @@ func (x *GetCurrentRoomRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCurrentRoomRequest.ProtoReflect.Descriptor instead. func (*GetCurrentRoomRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{110} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{120} } func (x *GetCurrentRoomRequest) GetMeta() *RequestMeta { @@ -8466,7 +9236,7 @@ type GetCurrentRoomResponse struct { func (x *GetCurrentRoomResponse) Reset() { *x = GetCurrentRoomResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[111] + mi := &file_proto_room_v1_room_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8478,7 +9248,7 @@ func (x *GetCurrentRoomResponse) String() string { func (*GetCurrentRoomResponse) ProtoMessage() {} func (x *GetCurrentRoomResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[111] + mi := &file_proto_room_v1_room_proto_msgTypes[121] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8491,7 +9261,7 @@ func (x *GetCurrentRoomResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCurrentRoomResponse.ProtoReflect.Descriptor instead. func (*GetCurrentRoomResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{111} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{121} } func (x *GetCurrentRoomResponse) GetHasCurrentRoom() bool { @@ -8570,7 +9340,7 @@ type GetRoomSnapshotRequest struct { func (x *GetRoomSnapshotRequest) Reset() { *x = GetRoomSnapshotRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[112] + mi := &file_proto_room_v1_room_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8582,7 +9352,7 @@ func (x *GetRoomSnapshotRequest) String() string { func (*GetRoomSnapshotRequest) ProtoMessage() {} func (x *GetRoomSnapshotRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[112] + mi := &file_proto_room_v1_room_proto_msgTypes[122] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8595,7 +9365,7 @@ func (x *GetRoomSnapshotRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRoomSnapshotRequest.ProtoReflect.Descriptor instead. func (*GetRoomSnapshotRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{112} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{122} } func (x *GetRoomSnapshotRequest) GetMeta() *RequestMeta { @@ -8632,7 +9402,7 @@ type GetRoomSnapshotResponse struct { func (x *GetRoomSnapshotResponse) Reset() { *x = GetRoomSnapshotResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[113] + mi := &file_proto_room_v1_room_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8644,7 +9414,7 @@ func (x *GetRoomSnapshotResponse) String() string { func (*GetRoomSnapshotResponse) ProtoMessage() {} func (x *GetRoomSnapshotResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[113] + mi := &file_proto_room_v1_room_proto_msgTypes[123] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8657,7 +9427,7 @@ func (x *GetRoomSnapshotResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRoomSnapshotResponse.ProtoReflect.Descriptor instead. func (*GetRoomSnapshotResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{113} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{123} } func (x *GetRoomSnapshotResponse) GetRoom() *RoomSnapshot { @@ -8694,7 +9464,7 @@ type GetRoomRocketRequest struct { func (x *GetRoomRocketRequest) Reset() { *x = GetRoomRocketRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[114] + mi := &file_proto_room_v1_room_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8706,7 +9476,7 @@ func (x *GetRoomRocketRequest) String() string { func (*GetRoomRocketRequest) ProtoMessage() {} func (x *GetRoomRocketRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[114] + mi := &file_proto_room_v1_room_proto_msgTypes[124] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8719,7 +9489,7 @@ func (x *GetRoomRocketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRoomRocketRequest.ProtoReflect.Descriptor instead. func (*GetRoomRocketRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{114} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{124} } func (x *GetRoomRocketRequest) GetMeta() *RequestMeta { @@ -8753,7 +9523,7 @@ type GetRoomRocketResponse struct { func (x *GetRoomRocketResponse) Reset() { *x = GetRoomRocketResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[115] + mi := &file_proto_room_v1_room_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8765,7 +9535,7 @@ func (x *GetRoomRocketResponse) String() string { func (*GetRoomRocketResponse) ProtoMessage() {} func (x *GetRoomRocketResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[115] + mi := &file_proto_room_v1_room_proto_msgTypes[125] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8778,7 +9548,7 @@ func (x *GetRoomRocketResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRoomRocketResponse.ProtoReflect.Descriptor instead. func (*GetRoomRocketResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{115} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{125} } func (x *GetRoomRocketResponse) GetRocket() *RoomRocketInfo { @@ -8810,7 +9580,7 @@ type ListRoomOnlineUsersRequest struct { func (x *ListRoomOnlineUsersRequest) Reset() { *x = ListRoomOnlineUsersRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[116] + mi := &file_proto_room_v1_room_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8822,7 +9592,7 @@ func (x *ListRoomOnlineUsersRequest) String() string { func (*ListRoomOnlineUsersRequest) ProtoMessage() {} func (x *ListRoomOnlineUsersRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[116] + mi := &file_proto_room_v1_room_proto_msgTypes[126] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8835,7 +9605,7 @@ func (x *ListRoomOnlineUsersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoomOnlineUsersRequest.ProtoReflect.Descriptor instead. func (*ListRoomOnlineUsersRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{116} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{126} } func (x *ListRoomOnlineUsersRequest) GetMeta() *RequestMeta { @@ -8894,7 +9664,7 @@ type ListRoomOnlineUsersResponse struct { func (x *ListRoomOnlineUsersResponse) Reset() { *x = ListRoomOnlineUsersResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[117] + mi := &file_proto_room_v1_room_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8906,7 +9676,7 @@ func (x *ListRoomOnlineUsersResponse) String() string { func (*ListRoomOnlineUsersResponse) ProtoMessage() {} func (x *ListRoomOnlineUsersResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[117] + mi := &file_proto_room_v1_room_proto_msgTypes[127] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8919,7 +9689,7 @@ func (x *ListRoomOnlineUsersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoomOnlineUsersResponse.ProtoReflect.Descriptor instead. func (*ListRoomOnlineUsersResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{117} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{127} } func (x *ListRoomOnlineUsersResponse) GetUsers() []*RoomUser { @@ -8980,7 +9750,7 @@ type RoomBannedUser struct { func (x *RoomBannedUser) Reset() { *x = RoomBannedUser{} - mi := &file_proto_room_v1_room_proto_msgTypes[118] + mi := &file_proto_room_v1_room_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8992,7 +9762,7 @@ func (x *RoomBannedUser) String() string { func (*RoomBannedUser) ProtoMessage() {} func (x *RoomBannedUser) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[118] + mi := &file_proto_room_v1_room_proto_msgTypes[128] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9005,7 +9775,7 @@ func (x *RoomBannedUser) ProtoReflect() protoreflect.Message { // Deprecated: Use RoomBannedUser.ProtoReflect.Descriptor instead. func (*RoomBannedUser) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{118} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{128} } func (x *RoomBannedUser) GetUserId() int64 { @@ -9064,7 +9834,7 @@ type ListRoomBannedUsersRequest struct { func (x *ListRoomBannedUsersRequest) Reset() { *x = ListRoomBannedUsersRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[119] + mi := &file_proto_room_v1_room_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9076,7 +9846,7 @@ func (x *ListRoomBannedUsersRequest) String() string { func (*ListRoomBannedUsersRequest) ProtoMessage() {} func (x *ListRoomBannedUsersRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[119] + mi := &file_proto_room_v1_room_proto_msgTypes[129] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9089,7 +9859,7 @@ func (x *ListRoomBannedUsersRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoomBannedUsersRequest.ProtoReflect.Descriptor instead. func (*ListRoomBannedUsersRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{119} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{129} } func (x *ListRoomBannedUsersRequest) GetMeta() *RequestMeta { @@ -9140,7 +9910,7 @@ type ListRoomBannedUsersResponse struct { func (x *ListRoomBannedUsersResponse) Reset() { *x = ListRoomBannedUsersResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[120] + mi := &file_proto_room_v1_room_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9152,7 +9922,7 @@ func (x *ListRoomBannedUsersResponse) String() string { func (*ListRoomBannedUsersResponse) ProtoMessage() {} func (x *ListRoomBannedUsersResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[120] + mi := &file_proto_room_v1_room_proto_msgTypes[130] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9165,7 +9935,7 @@ func (x *ListRoomBannedUsersResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRoomBannedUsersResponse.ProtoReflect.Descriptor instead. func (*ListRoomBannedUsersResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{120} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{130} } func (x *ListRoomBannedUsersResponse) GetItems() []*RoomBannedUser { @@ -9216,7 +9986,7 @@ type FollowRoomRequest struct { func (x *FollowRoomRequest) Reset() { *x = FollowRoomRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[121] + mi := &file_proto_room_v1_room_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9228,7 +9998,7 @@ func (x *FollowRoomRequest) String() string { func (*FollowRoomRequest) ProtoMessage() {} func (x *FollowRoomRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[121] + mi := &file_proto_room_v1_room_proto_msgTypes[131] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9241,7 +10011,7 @@ func (x *FollowRoomRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use FollowRoomRequest.ProtoReflect.Descriptor instead. func (*FollowRoomRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{121} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{131} } func (x *FollowRoomRequest) GetMeta() *RequestMeta { @@ -9277,7 +10047,7 @@ type FollowRoomResponse struct { func (x *FollowRoomResponse) Reset() { *x = FollowRoomResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[122] + mi := &file_proto_room_v1_room_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9289,7 +10059,7 @@ func (x *FollowRoomResponse) String() string { func (*FollowRoomResponse) ProtoMessage() {} func (x *FollowRoomResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[122] + mi := &file_proto_room_v1_room_proto_msgTypes[132] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9302,7 +10072,7 @@ func (x *FollowRoomResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use FollowRoomResponse.ProtoReflect.Descriptor instead. func (*FollowRoomResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{122} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{132} } func (x *FollowRoomResponse) GetRoomId() string { @@ -9345,7 +10115,7 @@ type UnfollowRoomRequest struct { func (x *UnfollowRoomRequest) Reset() { *x = UnfollowRoomRequest{} - mi := &file_proto_room_v1_room_proto_msgTypes[123] + mi := &file_proto_room_v1_room_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9357,7 +10127,7 @@ func (x *UnfollowRoomRequest) String() string { func (*UnfollowRoomRequest) ProtoMessage() {} func (x *UnfollowRoomRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[123] + mi := &file_proto_room_v1_room_proto_msgTypes[133] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9370,7 +10140,7 @@ func (x *UnfollowRoomRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UnfollowRoomRequest.ProtoReflect.Descriptor instead. func (*UnfollowRoomRequest) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{123} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{133} } func (x *UnfollowRoomRequest) GetMeta() *RequestMeta { @@ -9405,7 +10175,7 @@ type UnfollowRoomResponse struct { func (x *UnfollowRoomResponse) Reset() { *x = UnfollowRoomResponse{} - mi := &file_proto_room_v1_room_proto_msgTypes[124] + mi := &file_proto_room_v1_room_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9417,7 +10187,7 @@ func (x *UnfollowRoomResponse) String() string { func (*UnfollowRoomResponse) ProtoMessage() {} func (x *UnfollowRoomResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_room_v1_room_proto_msgTypes[124] + mi := &file_proto_room_v1_room_proto_msgTypes[134] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9430,7 +10200,7 @@ func (x *UnfollowRoomResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UnfollowRoomResponse.ProtoReflect.Descriptor instead. func (*UnfollowRoomResponse) Descriptor() ([]byte, []int) { - return file_proto_room_v1_room_proto_rawDescGZIP(), []int{124} + return file_proto_room_v1_room_proto_rawDescGZIP(), []int{134} } func (x *UnfollowRoomResponse) GetRoomId() string { @@ -9722,7 +10492,69 @@ const file_proto_room_v1_room_proto_rawDesc = "" + "\badmin_id\x18\x03 \x01(\x04R\aadminId\"q\n" + "\x1aAdminCancelRoomPinResponse\x12-\n" + "\x03pin\x18\x01 \x01(\v2\x1b.hyapp.room.v1.AdminRoomPinR\x03pin\x12$\n" + - "\x0eserver_time_ms\x18\x02 \x01(\x03R\fserverTimeMs\"\x93\x01\n" + + "\x0eserver_time_ms\x18\x02 \x01(\x03R\fserverTimeMs\"\xba\x02\n" + + "\x16AdminRobotRoomGiftRule\x12\x19\n" + + "\bgift_ids\x18\x01 \x03(\tR\agiftIds\x12$\n" + + "\x0elucky_gift_ids\x18\x02 \x03(\tR\fluckyGiftIds\x125\n" + + "\x17normal_gift_interval_ms\x18\x03 \x01(\x03R\x14normalGiftIntervalMs\x12&\n" + + "\x0flucky_combo_min\x18\x04 \x01(\x03R\rluckyComboMin\x12&\n" + + "\x0flucky_combo_max\x18\x05 \x01(\x03R\rluckyComboMax\x12+\n" + + "\x12lucky_pause_min_ms\x18\x06 \x01(\x03R\x0fluckyPauseMinMs\x12+\n" + + "\x12lucky_pause_max_ms\x18\a \x01(\x03R\x0fluckyPauseMaxMs\"\xef\x03\n" + + "\x0eAdminRobotRoom\x12\x19\n" + + "\bapp_code\x18\x01 \x01(\tR\aappCode\x12\x17\n" + + "\aroom_id\x18\x02 \x01(\tR\x06roomId\x12\"\n" + + "\rroom_short_id\x18\x03 \x01(\tR\vroomShortId\x12\x14\n" + + "\x05title\x18\x04 \x01(\tR\x05title\x12\x1b\n" + + "\tcover_url\x18\x05 \x01(\tR\bcoverUrl\x12*\n" + + "\x11visible_region_id\x18\x06 \x01(\x03R\x0fvisibleRegionId\x12\x16\n" + + "\x06status\x18\a \x01(\tR\x06status\x12-\n" + + "\x13owner_robot_user_id\x18\b \x01(\x03R\x10ownerRobotUserId\x12$\n" + + "\x0erobot_user_ids\x18\t \x03(\x03R\frobotUserIds\x12B\n" + + "\tgift_rule\x18\n" + + " \x01(\v2%.hyapp.room.v1.AdminRobotRoomGiftRuleR\bgiftRule\x12-\n" + + "\x13created_by_admin_id\x18\v \x01(\x04R\x10createdByAdminId\x12\"\n" + + "\rcreated_at_ms\x18\f \x01(\x03R\vcreatedAtMs\x12\"\n" + + "\rupdated_at_ms\x18\r \x01(\x03R\vupdatedAtMs\"\x95\x01\n" + + "\x1aAdminListRobotRoomsRequest\x12.\n" + + "\x04meta\x18\x01 \x01(\v2\x1a.hyapp.room.v1.RequestMetaR\x04meta\x12\x12\n" + + "\x04page\x18\x02 \x01(\x05R\x04page\x12\x1b\n" + + "\tpage_size\x18\x03 \x01(\x05R\bpageSize\x12\x16\n" + + "\x06status\x18\x04 \x01(\tR\x06status\"\x8e\x01\n" + + "\x1bAdminListRobotRoomsResponse\x123\n" + + "\x05rooms\x18\x01 \x03(\v2\x1d.hyapp.room.v1.AdminRobotRoomR\x05rooms\x12\x14\n" + + "\x05total\x18\x02 \x01(\x03R\x05total\x12$\n" + + "\x0eserver_time_ms\x18\x03 \x01(\x03R\fserverTimeMs\"\xce\x03\n" + + "\x1bAdminCreateRobotRoomRequest\x12.\n" + + "\x04meta\x18\x01 \x01(\v2\x1a.hyapp.room.v1.RequestMetaR\x04meta\x12-\n" + + "\x13owner_robot_user_id\x18\x02 \x01(\x03R\x10ownerRobotUserId\x127\n" + + "\x18candidate_robot_user_ids\x18\x03 \x03(\x03R\x15candidateRobotUserIds\x12&\n" + + "\x0fmin_robot_count\x18\x04 \x01(\x05R\rminRobotCount\x12&\n" + + "\x0fmax_robot_count\x18\x05 \x01(\x05R\rmaxRobotCount\x12\x1b\n" + + "\troom_name\x18\x06 \x01(\tR\broomName\x12\x1f\n" + + "\vroom_avatar\x18\a \x01(\tR\n" + + "roomAvatar\x12*\n" + + "\x11visible_region_id\x18\b \x01(\x03R\x0fvisibleRegionId\x12B\n" + + "\tgift_rule\x18\t \x01(\v2%.hyapp.room.v1.AdminRobotRoomGiftRuleR\bgiftRule\x12\x19\n" + + "\badmin_id\x18\n" + + " \x01(\x04R\aadminId\"w\n" + + "\x1cAdminCreateRobotRoomResponse\x121\n" + + "\x04room\x18\x01 \x01(\v2\x1d.hyapp.room.v1.AdminRobotRoomR\x04room\x12$\n" + + "\x0eserver_time_ms\x18\x02 \x01(\x03R\fserverTimeMs\"\x83\x01\n" + + "\x1eAdminSetRobotRoomStatusRequest\x12.\n" + + "\x04meta\x18\x01 \x01(\v2\x1a.hyapp.room.v1.RequestMetaR\x04meta\x12\x16\n" + + "\x06status\x18\x02 \x01(\tR\x06status\x12\x19\n" + + "\badmin_id\x18\x03 \x01(\x04R\aadminId\"z\n" + + "\x1fAdminSetRobotRoomStatusResponse\x121\n" + + "\x04room\x18\x01 \x01(\v2\x1d.hyapp.room.v1.AdminRobotRoomR\x04room\x12$\n" + + "\x0eserver_time_ms\x18\x02 \x01(\x03R\fserverTimeMs\"r\n" + + "%AdminFilterAvailableRoomRobotsRequest\x12.\n" + + "\x04meta\x18\x01 \x01(\v2\x1a.hyapp.room.v1.RequestMetaR\x04meta\x12\x19\n" + + "\buser_ids\x18\x02 \x03(\x03R\auserIds\"\xa8\x01\n" + + "&AdminFilterAvailableRoomRobotsResponse\x12,\n" + + "\x12available_user_ids\x18\x01 \x03(\x03R\x10availableUserIds\x12*\n" + + "\x11occupied_user_ids\x18\x02 \x03(\x03R\x0foccupiedUserIds\x12$\n" + + "\x0eserver_time_ms\x18\x03 \x01(\x03R\fserverTimeMs\"\x93\x01\n" + "\fRoomBanState\x12\x17\n" + "\auser_id\x18\x01 \x01(\x03R\x06userId\x12\"\n" + "\ractor_user_id\x18\x02 \x01(\x03R\vactorUserId\x12\"\n" + @@ -9787,7 +10619,7 @@ const file_proto_room_v1_room_proto_rawDesc = "" + "\x04room\x18\x02 \x01(\v2\x1b.hyapp.room.v1.RoomSnapshotR\x04room\x12B\n" + "\n" + "background\x18\x03 \x01(\v2\".hyapp.room.v1.RoomBackgroundImageR\n" + - "background\"\xdd\x02\n" + + "background\"\xa2\x03\n" + "\x11CreateRoomRequest\x12.\n" + "\x04meta\x18\x01 \x01(\v2\x1a.hyapp.room.v1.RequestMetaR\x04meta\x12\x1d\n" + "\n" + @@ -9799,7 +10631,11 @@ const file_proto_room_v1_room_proto_rawDesc = "" + "roomAvatar\x12)\n" + "\x10room_description\x18\a \x01(\tR\x0froomDescription\x12\"\n" + "\rroom_short_id\x18\b \x01(\tR\vroomShortId\x12,\n" + - "\x12owner_country_code\x18\t \x01(\tR\x10ownerCountryCode\"{\n" + + "\x12owner_country_code\x18\t \x01(\tR\x10ownerCountryCode\x12\x1d\n" + + "\n" + + "robot_room\x18\n" + + " \x01(\bR\trobotRoom\x12$\n" + + "\x0erobot_user_ids\x18\v \x03(\x03R\frobotUserIds\"{\n" + "\x12CreateRoomResponse\x124\n" + "\x06result\x18\x01 \x01(\v2\x1c.hyapp.room.v1.CommandResultR\x06result\x12/\n" + "\x04room\x18\x02 \x01(\v2\x1b.hyapp.room.v1.RoomSnapshotR\x04room\"\xa8\x02\n" + @@ -10259,7 +11095,7 @@ const file_proto_room_v1_room_proto_rawDesc = "" + "\x14UnfollowRoomResponse\x12\x17\n" + "\aroom_id\x18\x01 \x01(\tR\x06roomId\x12\x1a\n" + "\bfollowed\x18\x02 \x01(\bR\bfollowed\x12$\n" + - "\x0eserver_time_ms\x18\x03 \x01(\x03R\fserverTimeMs2\xad\x17\n" + + "\x0eserver_time_ms\x18\x03 \x01(\x03R\fserverTimeMs2\x98\x19\n" + "\x12RoomCommandService\x12Q\n" + "\n" + "CreateRoom\x12 .hyapp.room.v1.CreateRoomRequest\x1a!.hyapp.room.v1.CreateRoomResponse\x12f\n" + @@ -10275,7 +11111,9 @@ const file_proto_room_v1_room_proto_rawDesc = "" + "\x1bAdminUpdateRoomRocketConfig\x121.hyapp.room.v1.AdminUpdateRoomRocketConfigRequest\x1a2.hyapp.room.v1.AdminUpdateRoomRocketConfigResponse\x12~\n" + "\x19AdminUpdateRoomSeatConfig\x12/.hyapp.room.v1.AdminUpdateRoomSeatConfigRequest\x1a0.hyapp.room.v1.AdminUpdateRoomSeatConfigResponse\x12i\n" + "\x12AdminCreateRoomPin\x12(.hyapp.room.v1.AdminCreateRoomPinRequest\x1a).hyapp.room.v1.AdminCreateRoomPinResponse\x12i\n" + - "\x12AdminCancelRoomPin\x12(.hyapp.room.v1.AdminCancelRoomPinRequest\x1a).hyapp.room.v1.AdminCancelRoomPinResponse\x12B\n" + + "\x12AdminCancelRoomPin\x12(.hyapp.room.v1.AdminCancelRoomPinRequest\x1a).hyapp.room.v1.AdminCancelRoomPinResponse\x12o\n" + + "\x14AdminCreateRobotRoom\x12*.hyapp.room.v1.AdminCreateRobotRoomRequest\x1a+.hyapp.room.v1.AdminCreateRobotRoomResponse\x12x\n" + + "\x17AdminSetRobotRoomStatus\x12-.hyapp.room.v1.AdminSetRobotRoomStatusRequest\x1a..hyapp.room.v1.AdminSetRobotRoomStatusResponse\x12B\n" + "\x05MicUp\x12\x1b.hyapp.room.v1.MicUpRequest\x1a\x1c.hyapp.room.v1.MicUpResponse\x12H\n" + "\aMicDown\x12\x1d.hyapp.room.v1.MicDownRequest\x1a\x1e.hyapp.room.v1.MicDownResponse\x12Z\n" + "\rChangeMicSeat\x12#.hyapp.room.v1.ChangeMicSeatRequest\x1a$.hyapp.room.v1.ChangeMicSeatResponse\x12o\n" + @@ -10298,13 +11136,15 @@ const file_proto_room_v1_room_proto_rawDesc = "" + "\fUnfollowRoom\x12\".hyapp.room.v1.UnfollowRoomRequest\x1a#.hyapp.room.v1.UnfollowRoomResponse2\xee\x01\n" + "\x10RoomGuardService\x12o\n" + "\x14CheckSpeakPermission\x12*.hyapp.room.v1.CheckSpeakPermissionRequest\x1a+.hyapp.room.v1.CheckSpeakPermissionResponse\x12i\n" + - "\x12VerifyRoomPresence\x12(.hyapp.room.v1.VerifyRoomPresenceRequest\x1a).hyapp.room.v1.VerifyRoomPresenceResponse2\xff\v\n" + + "\x12VerifyRoomPresence\x12(.hyapp.room.v1.VerifyRoomPresenceRequest\x1a).hyapp.room.v1.VerifyRoomPresenceResponse2\xfd\r\n" + "\x10RoomQueryService\x12]\n" + "\x0eAdminListRooms\x12$.hyapp.room.v1.AdminListRoomsRequest\x1a%.hyapp.room.v1.AdminListRoomsResponse\x12W\n" + "\fAdminGetRoom\x12\".hyapp.room.v1.AdminGetRoomRequest\x1a#.hyapp.room.v1.AdminGetRoomResponse\x12{\n" + "\x18AdminGetRoomRocketConfig\x12..hyapp.room.v1.AdminGetRoomRocketConfigRequest\x1a/.hyapp.room.v1.AdminGetRoomRocketConfigResponse\x12u\n" + "\x16AdminGetRoomSeatConfig\x12,.hyapp.room.v1.AdminGetRoomSeatConfigRequest\x1a-.hyapp.room.v1.AdminGetRoomSeatConfigResponse\x12f\n" + - "\x11AdminListRoomPins\x12'.hyapp.room.v1.AdminListRoomPinsRequest\x1a(.hyapp.room.v1.AdminListRoomPinsResponse\x12N\n" + + "\x11AdminListRoomPins\x12'.hyapp.room.v1.AdminListRoomPinsRequest\x1a(.hyapp.room.v1.AdminListRoomPinsResponse\x12l\n" + + "\x13AdminListRobotRooms\x12).hyapp.room.v1.AdminListRobotRoomsRequest\x1a*.hyapp.room.v1.AdminListRobotRoomsResponse\x12\x8d\x01\n" + + "\x1eAdminFilterAvailableRoomRobots\x124.hyapp.room.v1.AdminFilterAvailableRoomRobotsRequest\x1a5.hyapp.room.v1.AdminFilterAvailableRoomRobotsResponse\x12N\n" + "\tListRooms\x12\x1f.hyapp.room.v1.ListRoomsRequest\x1a .hyapp.room.v1.ListRoomsResponse\x12V\n" + "\rListRoomFeeds\x12#.hyapp.room.v1.ListRoomFeedsRequest\x1a .hyapp.room.v1.ListRoomsResponse\x12x\n" + "\x17ListRoomGiftLeaderboard\x12-.hyapp.room.v1.ListRoomGiftLeaderboardRequest\x1a..hyapp.room.v1.ListRoomGiftLeaderboardResponse\x12N\n" + @@ -10328,134 +11168,144 @@ func file_proto_room_v1_room_proto_rawDescGZIP() []byte { return file_proto_room_v1_room_proto_rawDescData } -var file_proto_room_v1_room_proto_msgTypes = make([]protoimpl.MessageInfo, 126) +var file_proto_room_v1_room_proto_msgTypes = make([]protoimpl.MessageInfo, 136) var file_proto_room_v1_room_proto_goTypes = []any{ - (*RequestMeta)(nil), // 0: hyapp.room.v1.RequestMeta - (*CommandResult)(nil), // 1: hyapp.room.v1.CommandResult - (*RoomUser)(nil), // 2: hyapp.room.v1.RoomUser - (*RoomOnlineUser)(nil), // 3: hyapp.room.v1.RoomOnlineUser - (*SeatState)(nil), // 4: hyapp.room.v1.SeatState - (*RankItem)(nil), // 5: hyapp.room.v1.RankItem - (*LuckyGiftDrawResult)(nil), // 6: hyapp.room.v1.LuckyGiftDrawResult - (*RoomRocketRewardItem)(nil), // 7: hyapp.room.v1.RoomRocketRewardItem - (*RoomRocketLevel)(nil), // 8: hyapp.room.v1.RoomRocketLevel - (*RoomRocketRewardGrant)(nil), // 9: hyapp.room.v1.RoomRocketRewardGrant - (*RoomRocketContribution)(nil), // 10: hyapp.room.v1.RoomRocketContribution - (*RoomRocketPendingLaunch)(nil), // 11: hyapp.room.v1.RoomRocketPendingLaunch - (*RoomRocketState)(nil), // 12: hyapp.room.v1.RoomRocketState - (*RoomRocketInfo)(nil), // 13: hyapp.room.v1.RoomRocketInfo - (*RoomRocketGiftFuelRule)(nil), // 14: hyapp.room.v1.RoomRocketGiftFuelRule - (*AdminRoomRocketConfig)(nil), // 15: hyapp.room.v1.AdminRoomRocketConfig - (*AdminGetRoomRocketConfigRequest)(nil), // 16: hyapp.room.v1.AdminGetRoomRocketConfigRequest - (*AdminGetRoomRocketConfigResponse)(nil), // 17: hyapp.room.v1.AdminGetRoomRocketConfigResponse - (*AdminUpdateRoomRocketConfigRequest)(nil), // 18: hyapp.room.v1.AdminUpdateRoomRocketConfigRequest - (*AdminUpdateRoomRocketConfigResponse)(nil), // 19: hyapp.room.v1.AdminUpdateRoomRocketConfigResponse - (*AdminRoomSeatConfig)(nil), // 20: hyapp.room.v1.AdminRoomSeatConfig - (*AdminGetRoomSeatConfigRequest)(nil), // 21: hyapp.room.v1.AdminGetRoomSeatConfigRequest - (*AdminGetRoomSeatConfigResponse)(nil), // 22: hyapp.room.v1.AdminGetRoomSeatConfigResponse - (*AdminUpdateRoomSeatConfigRequest)(nil), // 23: hyapp.room.v1.AdminUpdateRoomSeatConfigRequest - (*AdminUpdateRoomSeatConfigResponse)(nil), // 24: hyapp.room.v1.AdminUpdateRoomSeatConfigResponse - (*AdminRoomPinRoom)(nil), // 25: hyapp.room.v1.AdminRoomPinRoom - (*AdminRoomPin)(nil), // 26: hyapp.room.v1.AdminRoomPin - (*AdminListRoomPinsRequest)(nil), // 27: hyapp.room.v1.AdminListRoomPinsRequest - (*AdminListRoomPinsResponse)(nil), // 28: hyapp.room.v1.AdminListRoomPinsResponse - (*AdminCreateRoomPinRequest)(nil), // 29: hyapp.room.v1.AdminCreateRoomPinRequest - (*AdminCreateRoomPinResponse)(nil), // 30: hyapp.room.v1.AdminCreateRoomPinResponse - (*AdminCancelRoomPinRequest)(nil), // 31: hyapp.room.v1.AdminCancelRoomPinRequest - (*AdminCancelRoomPinResponse)(nil), // 32: hyapp.room.v1.AdminCancelRoomPinResponse - (*RoomBanState)(nil), // 33: hyapp.room.v1.RoomBanState - (*RoomSnapshot)(nil), // 34: hyapp.room.v1.RoomSnapshot - (*RoomBackgroundImage)(nil), // 35: hyapp.room.v1.RoomBackgroundImage - (*SaveRoomBackgroundRequest)(nil), // 36: hyapp.room.v1.SaveRoomBackgroundRequest - (*SaveRoomBackgroundResponse)(nil), // 37: hyapp.room.v1.SaveRoomBackgroundResponse - (*ListRoomBackgroundsRequest)(nil), // 38: hyapp.room.v1.ListRoomBackgroundsRequest - (*ListRoomBackgroundsResponse)(nil), // 39: hyapp.room.v1.ListRoomBackgroundsResponse - (*SetRoomBackgroundRequest)(nil), // 40: hyapp.room.v1.SetRoomBackgroundRequest - (*SetRoomBackgroundResponse)(nil), // 41: hyapp.room.v1.SetRoomBackgroundResponse - (*CreateRoomRequest)(nil), // 42: hyapp.room.v1.CreateRoomRequest - (*CreateRoomResponse)(nil), // 43: hyapp.room.v1.CreateRoomResponse - (*UpdateRoomProfileRequest)(nil), // 44: hyapp.room.v1.UpdateRoomProfileRequest - (*UpdateRoomProfileResponse)(nil), // 45: hyapp.room.v1.UpdateRoomProfileResponse - (*RoomEntryVehicleSnapshot)(nil), // 46: hyapp.room.v1.RoomEntryVehicleSnapshot - (*JoinRoomRequest)(nil), // 47: hyapp.room.v1.JoinRoomRequest - (*JoinRoomResponse)(nil), // 48: hyapp.room.v1.JoinRoomResponse - (*RoomHeartbeatRequest)(nil), // 49: hyapp.room.v1.RoomHeartbeatRequest - (*RoomHeartbeatResponse)(nil), // 50: hyapp.room.v1.RoomHeartbeatResponse - (*LeaveRoomRequest)(nil), // 51: hyapp.room.v1.LeaveRoomRequest - (*LeaveRoomResponse)(nil), // 52: hyapp.room.v1.LeaveRoomResponse - (*CloseRoomRequest)(nil), // 53: hyapp.room.v1.CloseRoomRequest - (*CloseRoomResponse)(nil), // 54: hyapp.room.v1.CloseRoomResponse - (*AdminRoomListItem)(nil), // 55: hyapp.room.v1.AdminRoomListItem - (*AdminListRoomsRequest)(nil), // 56: hyapp.room.v1.AdminListRoomsRequest - (*AdminListRoomsResponse)(nil), // 57: hyapp.room.v1.AdminListRoomsResponse - (*AdminGetRoomRequest)(nil), // 58: hyapp.room.v1.AdminGetRoomRequest - (*AdminGetRoomResponse)(nil), // 59: hyapp.room.v1.AdminGetRoomResponse - (*AdminUpdateRoomRequest)(nil), // 60: hyapp.room.v1.AdminUpdateRoomRequest - (*AdminUpdateRoomResponse)(nil), // 61: hyapp.room.v1.AdminUpdateRoomResponse - (*AdminDeleteRoomRequest)(nil), // 62: hyapp.room.v1.AdminDeleteRoomRequest - (*AdminDeleteRoomResponse)(nil), // 63: hyapp.room.v1.AdminDeleteRoomResponse - (*MicUpRequest)(nil), // 64: hyapp.room.v1.MicUpRequest - (*MicUpResponse)(nil), // 65: hyapp.room.v1.MicUpResponse - (*MicDownRequest)(nil), // 66: hyapp.room.v1.MicDownRequest - (*MicDownResponse)(nil), // 67: hyapp.room.v1.MicDownResponse - (*ChangeMicSeatRequest)(nil), // 68: hyapp.room.v1.ChangeMicSeatRequest - (*ChangeMicSeatResponse)(nil), // 69: hyapp.room.v1.ChangeMicSeatResponse - (*ConfirmMicPublishingRequest)(nil), // 70: hyapp.room.v1.ConfirmMicPublishingRequest - (*ConfirmMicPublishingResponse)(nil), // 71: hyapp.room.v1.ConfirmMicPublishingResponse - (*MicHeartbeatRequest)(nil), // 72: hyapp.room.v1.MicHeartbeatRequest - (*MicHeartbeatResponse)(nil), // 73: hyapp.room.v1.MicHeartbeatResponse - (*SetMicMuteRequest)(nil), // 74: hyapp.room.v1.SetMicMuteRequest - (*SetMicMuteResponse)(nil), // 75: hyapp.room.v1.SetMicMuteResponse - (*ApplyRTCEventRequest)(nil), // 76: hyapp.room.v1.ApplyRTCEventRequest - (*ApplyRTCEventResponse)(nil), // 77: hyapp.room.v1.ApplyRTCEventResponse - (*SetMicSeatLockRequest)(nil), // 78: hyapp.room.v1.SetMicSeatLockRequest - (*SetMicSeatLockResponse)(nil), // 79: hyapp.room.v1.SetMicSeatLockResponse - (*SetChatEnabledRequest)(nil), // 80: hyapp.room.v1.SetChatEnabledRequest - (*SetChatEnabledResponse)(nil), // 81: hyapp.room.v1.SetChatEnabledResponse - (*SetRoomPasswordRequest)(nil), // 82: hyapp.room.v1.SetRoomPasswordRequest - (*SetRoomPasswordResponse)(nil), // 83: hyapp.room.v1.SetRoomPasswordResponse - (*SetRoomAdminRequest)(nil), // 84: hyapp.room.v1.SetRoomAdminRequest - (*SetRoomAdminResponse)(nil), // 85: hyapp.room.v1.SetRoomAdminResponse - (*MuteUserRequest)(nil), // 86: hyapp.room.v1.MuteUserRequest - (*MuteUserResponse)(nil), // 87: hyapp.room.v1.MuteUserResponse - (*KickUserRequest)(nil), // 88: hyapp.room.v1.KickUserRequest - (*KickUserResponse)(nil), // 89: hyapp.room.v1.KickUserResponse - (*UnbanUserRequest)(nil), // 90: hyapp.room.v1.UnbanUserRequest - (*UnbanUserResponse)(nil), // 91: hyapp.room.v1.UnbanUserResponse - (*SystemEvictUserRequest)(nil), // 92: hyapp.room.v1.SystemEvictUserRequest - (*SystemEvictUserResponse)(nil), // 93: hyapp.room.v1.SystemEvictUserResponse - (*SendGiftRequest)(nil), // 94: hyapp.room.v1.SendGiftRequest - (*SendGiftResponse)(nil), // 95: hyapp.room.v1.SendGiftResponse - (*CheckSpeakPermissionRequest)(nil), // 96: hyapp.room.v1.CheckSpeakPermissionRequest - (*CheckSpeakPermissionResponse)(nil), // 97: hyapp.room.v1.CheckSpeakPermissionResponse - (*VerifyRoomPresenceRequest)(nil), // 98: hyapp.room.v1.VerifyRoomPresenceRequest - (*VerifyRoomPresenceResponse)(nil), // 99: hyapp.room.v1.VerifyRoomPresenceResponse - (*ListRoomsRequest)(nil), // 100: hyapp.room.v1.ListRoomsRequest - (*ListRoomFeedsRequest)(nil), // 101: hyapp.room.v1.ListRoomFeedsRequest - (*ListRoomGiftLeaderboardRequest)(nil), // 102: hyapp.room.v1.ListRoomGiftLeaderboardRequest - (*RoomFeedRelatedUser)(nil), // 103: hyapp.room.v1.RoomFeedRelatedUser - (*RoomListItem)(nil), // 104: hyapp.room.v1.RoomListItem - (*ListRoomsResponse)(nil), // 105: hyapp.room.v1.ListRoomsResponse - (*RoomGiftLeaderboardItem)(nil), // 106: hyapp.room.v1.RoomGiftLeaderboardItem - (*ListRoomGiftLeaderboardResponse)(nil), // 107: hyapp.room.v1.ListRoomGiftLeaderboardResponse - (*GetMyRoomRequest)(nil), // 108: hyapp.room.v1.GetMyRoomRequest - (*GetMyRoomResponse)(nil), // 109: hyapp.room.v1.GetMyRoomResponse - (*GetCurrentRoomRequest)(nil), // 110: hyapp.room.v1.GetCurrentRoomRequest - (*GetCurrentRoomResponse)(nil), // 111: hyapp.room.v1.GetCurrentRoomResponse - (*GetRoomSnapshotRequest)(nil), // 112: hyapp.room.v1.GetRoomSnapshotRequest - (*GetRoomSnapshotResponse)(nil), // 113: hyapp.room.v1.GetRoomSnapshotResponse - (*GetRoomRocketRequest)(nil), // 114: hyapp.room.v1.GetRoomRocketRequest - (*GetRoomRocketResponse)(nil), // 115: hyapp.room.v1.GetRoomRocketResponse - (*ListRoomOnlineUsersRequest)(nil), // 116: hyapp.room.v1.ListRoomOnlineUsersRequest - (*ListRoomOnlineUsersResponse)(nil), // 117: hyapp.room.v1.ListRoomOnlineUsersResponse - (*RoomBannedUser)(nil), // 118: hyapp.room.v1.RoomBannedUser - (*ListRoomBannedUsersRequest)(nil), // 119: hyapp.room.v1.ListRoomBannedUsersRequest - (*ListRoomBannedUsersResponse)(nil), // 120: hyapp.room.v1.ListRoomBannedUsersResponse - (*FollowRoomRequest)(nil), // 121: hyapp.room.v1.FollowRoomRequest - (*FollowRoomResponse)(nil), // 122: hyapp.room.v1.FollowRoomResponse - (*UnfollowRoomRequest)(nil), // 123: hyapp.room.v1.UnfollowRoomRequest - (*UnfollowRoomResponse)(nil), // 124: hyapp.room.v1.UnfollowRoomResponse - nil, // 125: hyapp.room.v1.RoomSnapshot.RoomExtEntry + (*RequestMeta)(nil), // 0: hyapp.room.v1.RequestMeta + (*CommandResult)(nil), // 1: hyapp.room.v1.CommandResult + (*RoomUser)(nil), // 2: hyapp.room.v1.RoomUser + (*RoomOnlineUser)(nil), // 3: hyapp.room.v1.RoomOnlineUser + (*SeatState)(nil), // 4: hyapp.room.v1.SeatState + (*RankItem)(nil), // 5: hyapp.room.v1.RankItem + (*LuckyGiftDrawResult)(nil), // 6: hyapp.room.v1.LuckyGiftDrawResult + (*RoomRocketRewardItem)(nil), // 7: hyapp.room.v1.RoomRocketRewardItem + (*RoomRocketLevel)(nil), // 8: hyapp.room.v1.RoomRocketLevel + (*RoomRocketRewardGrant)(nil), // 9: hyapp.room.v1.RoomRocketRewardGrant + (*RoomRocketContribution)(nil), // 10: hyapp.room.v1.RoomRocketContribution + (*RoomRocketPendingLaunch)(nil), // 11: hyapp.room.v1.RoomRocketPendingLaunch + (*RoomRocketState)(nil), // 12: hyapp.room.v1.RoomRocketState + (*RoomRocketInfo)(nil), // 13: hyapp.room.v1.RoomRocketInfo + (*RoomRocketGiftFuelRule)(nil), // 14: hyapp.room.v1.RoomRocketGiftFuelRule + (*AdminRoomRocketConfig)(nil), // 15: hyapp.room.v1.AdminRoomRocketConfig + (*AdminGetRoomRocketConfigRequest)(nil), // 16: hyapp.room.v1.AdminGetRoomRocketConfigRequest + (*AdminGetRoomRocketConfigResponse)(nil), // 17: hyapp.room.v1.AdminGetRoomRocketConfigResponse + (*AdminUpdateRoomRocketConfigRequest)(nil), // 18: hyapp.room.v1.AdminUpdateRoomRocketConfigRequest + (*AdminUpdateRoomRocketConfigResponse)(nil), // 19: hyapp.room.v1.AdminUpdateRoomRocketConfigResponse + (*AdminRoomSeatConfig)(nil), // 20: hyapp.room.v1.AdminRoomSeatConfig + (*AdminGetRoomSeatConfigRequest)(nil), // 21: hyapp.room.v1.AdminGetRoomSeatConfigRequest + (*AdminGetRoomSeatConfigResponse)(nil), // 22: hyapp.room.v1.AdminGetRoomSeatConfigResponse + (*AdminUpdateRoomSeatConfigRequest)(nil), // 23: hyapp.room.v1.AdminUpdateRoomSeatConfigRequest + (*AdminUpdateRoomSeatConfigResponse)(nil), // 24: hyapp.room.v1.AdminUpdateRoomSeatConfigResponse + (*AdminRoomPinRoom)(nil), // 25: hyapp.room.v1.AdminRoomPinRoom + (*AdminRoomPin)(nil), // 26: hyapp.room.v1.AdminRoomPin + (*AdminListRoomPinsRequest)(nil), // 27: hyapp.room.v1.AdminListRoomPinsRequest + (*AdminListRoomPinsResponse)(nil), // 28: hyapp.room.v1.AdminListRoomPinsResponse + (*AdminCreateRoomPinRequest)(nil), // 29: hyapp.room.v1.AdminCreateRoomPinRequest + (*AdminCreateRoomPinResponse)(nil), // 30: hyapp.room.v1.AdminCreateRoomPinResponse + (*AdminCancelRoomPinRequest)(nil), // 31: hyapp.room.v1.AdminCancelRoomPinRequest + (*AdminCancelRoomPinResponse)(nil), // 32: hyapp.room.v1.AdminCancelRoomPinResponse + (*AdminRobotRoomGiftRule)(nil), // 33: hyapp.room.v1.AdminRobotRoomGiftRule + (*AdminRobotRoom)(nil), // 34: hyapp.room.v1.AdminRobotRoom + (*AdminListRobotRoomsRequest)(nil), // 35: hyapp.room.v1.AdminListRobotRoomsRequest + (*AdminListRobotRoomsResponse)(nil), // 36: hyapp.room.v1.AdminListRobotRoomsResponse + (*AdminCreateRobotRoomRequest)(nil), // 37: hyapp.room.v1.AdminCreateRobotRoomRequest + (*AdminCreateRobotRoomResponse)(nil), // 38: hyapp.room.v1.AdminCreateRobotRoomResponse + (*AdminSetRobotRoomStatusRequest)(nil), // 39: hyapp.room.v1.AdminSetRobotRoomStatusRequest + (*AdminSetRobotRoomStatusResponse)(nil), // 40: hyapp.room.v1.AdminSetRobotRoomStatusResponse + (*AdminFilterAvailableRoomRobotsRequest)(nil), // 41: hyapp.room.v1.AdminFilterAvailableRoomRobotsRequest + (*AdminFilterAvailableRoomRobotsResponse)(nil), // 42: hyapp.room.v1.AdminFilterAvailableRoomRobotsResponse + (*RoomBanState)(nil), // 43: hyapp.room.v1.RoomBanState + (*RoomSnapshot)(nil), // 44: hyapp.room.v1.RoomSnapshot + (*RoomBackgroundImage)(nil), // 45: hyapp.room.v1.RoomBackgroundImage + (*SaveRoomBackgroundRequest)(nil), // 46: hyapp.room.v1.SaveRoomBackgroundRequest + (*SaveRoomBackgroundResponse)(nil), // 47: hyapp.room.v1.SaveRoomBackgroundResponse + (*ListRoomBackgroundsRequest)(nil), // 48: hyapp.room.v1.ListRoomBackgroundsRequest + (*ListRoomBackgroundsResponse)(nil), // 49: hyapp.room.v1.ListRoomBackgroundsResponse + (*SetRoomBackgroundRequest)(nil), // 50: hyapp.room.v1.SetRoomBackgroundRequest + (*SetRoomBackgroundResponse)(nil), // 51: hyapp.room.v1.SetRoomBackgroundResponse + (*CreateRoomRequest)(nil), // 52: hyapp.room.v1.CreateRoomRequest + (*CreateRoomResponse)(nil), // 53: hyapp.room.v1.CreateRoomResponse + (*UpdateRoomProfileRequest)(nil), // 54: hyapp.room.v1.UpdateRoomProfileRequest + (*UpdateRoomProfileResponse)(nil), // 55: hyapp.room.v1.UpdateRoomProfileResponse + (*RoomEntryVehicleSnapshot)(nil), // 56: hyapp.room.v1.RoomEntryVehicleSnapshot + (*JoinRoomRequest)(nil), // 57: hyapp.room.v1.JoinRoomRequest + (*JoinRoomResponse)(nil), // 58: hyapp.room.v1.JoinRoomResponse + (*RoomHeartbeatRequest)(nil), // 59: hyapp.room.v1.RoomHeartbeatRequest + (*RoomHeartbeatResponse)(nil), // 60: hyapp.room.v1.RoomHeartbeatResponse + (*LeaveRoomRequest)(nil), // 61: hyapp.room.v1.LeaveRoomRequest + (*LeaveRoomResponse)(nil), // 62: hyapp.room.v1.LeaveRoomResponse + (*CloseRoomRequest)(nil), // 63: hyapp.room.v1.CloseRoomRequest + (*CloseRoomResponse)(nil), // 64: hyapp.room.v1.CloseRoomResponse + (*AdminRoomListItem)(nil), // 65: hyapp.room.v1.AdminRoomListItem + (*AdminListRoomsRequest)(nil), // 66: hyapp.room.v1.AdminListRoomsRequest + (*AdminListRoomsResponse)(nil), // 67: hyapp.room.v1.AdminListRoomsResponse + (*AdminGetRoomRequest)(nil), // 68: hyapp.room.v1.AdminGetRoomRequest + (*AdminGetRoomResponse)(nil), // 69: hyapp.room.v1.AdminGetRoomResponse + (*AdminUpdateRoomRequest)(nil), // 70: hyapp.room.v1.AdminUpdateRoomRequest + (*AdminUpdateRoomResponse)(nil), // 71: hyapp.room.v1.AdminUpdateRoomResponse + (*AdminDeleteRoomRequest)(nil), // 72: hyapp.room.v1.AdminDeleteRoomRequest + (*AdminDeleteRoomResponse)(nil), // 73: hyapp.room.v1.AdminDeleteRoomResponse + (*MicUpRequest)(nil), // 74: hyapp.room.v1.MicUpRequest + (*MicUpResponse)(nil), // 75: hyapp.room.v1.MicUpResponse + (*MicDownRequest)(nil), // 76: hyapp.room.v1.MicDownRequest + (*MicDownResponse)(nil), // 77: hyapp.room.v1.MicDownResponse + (*ChangeMicSeatRequest)(nil), // 78: hyapp.room.v1.ChangeMicSeatRequest + (*ChangeMicSeatResponse)(nil), // 79: hyapp.room.v1.ChangeMicSeatResponse + (*ConfirmMicPublishingRequest)(nil), // 80: hyapp.room.v1.ConfirmMicPublishingRequest + (*ConfirmMicPublishingResponse)(nil), // 81: hyapp.room.v1.ConfirmMicPublishingResponse + (*MicHeartbeatRequest)(nil), // 82: hyapp.room.v1.MicHeartbeatRequest + (*MicHeartbeatResponse)(nil), // 83: hyapp.room.v1.MicHeartbeatResponse + (*SetMicMuteRequest)(nil), // 84: hyapp.room.v1.SetMicMuteRequest + (*SetMicMuteResponse)(nil), // 85: hyapp.room.v1.SetMicMuteResponse + (*ApplyRTCEventRequest)(nil), // 86: hyapp.room.v1.ApplyRTCEventRequest + (*ApplyRTCEventResponse)(nil), // 87: hyapp.room.v1.ApplyRTCEventResponse + (*SetMicSeatLockRequest)(nil), // 88: hyapp.room.v1.SetMicSeatLockRequest + (*SetMicSeatLockResponse)(nil), // 89: hyapp.room.v1.SetMicSeatLockResponse + (*SetChatEnabledRequest)(nil), // 90: hyapp.room.v1.SetChatEnabledRequest + (*SetChatEnabledResponse)(nil), // 91: hyapp.room.v1.SetChatEnabledResponse + (*SetRoomPasswordRequest)(nil), // 92: hyapp.room.v1.SetRoomPasswordRequest + (*SetRoomPasswordResponse)(nil), // 93: hyapp.room.v1.SetRoomPasswordResponse + (*SetRoomAdminRequest)(nil), // 94: hyapp.room.v1.SetRoomAdminRequest + (*SetRoomAdminResponse)(nil), // 95: hyapp.room.v1.SetRoomAdminResponse + (*MuteUserRequest)(nil), // 96: hyapp.room.v1.MuteUserRequest + (*MuteUserResponse)(nil), // 97: hyapp.room.v1.MuteUserResponse + (*KickUserRequest)(nil), // 98: hyapp.room.v1.KickUserRequest + (*KickUserResponse)(nil), // 99: hyapp.room.v1.KickUserResponse + (*UnbanUserRequest)(nil), // 100: hyapp.room.v1.UnbanUserRequest + (*UnbanUserResponse)(nil), // 101: hyapp.room.v1.UnbanUserResponse + (*SystemEvictUserRequest)(nil), // 102: hyapp.room.v1.SystemEvictUserRequest + (*SystemEvictUserResponse)(nil), // 103: hyapp.room.v1.SystemEvictUserResponse + (*SendGiftRequest)(nil), // 104: hyapp.room.v1.SendGiftRequest + (*SendGiftResponse)(nil), // 105: hyapp.room.v1.SendGiftResponse + (*CheckSpeakPermissionRequest)(nil), // 106: hyapp.room.v1.CheckSpeakPermissionRequest + (*CheckSpeakPermissionResponse)(nil), // 107: hyapp.room.v1.CheckSpeakPermissionResponse + (*VerifyRoomPresenceRequest)(nil), // 108: hyapp.room.v1.VerifyRoomPresenceRequest + (*VerifyRoomPresenceResponse)(nil), // 109: hyapp.room.v1.VerifyRoomPresenceResponse + (*ListRoomsRequest)(nil), // 110: hyapp.room.v1.ListRoomsRequest + (*ListRoomFeedsRequest)(nil), // 111: hyapp.room.v1.ListRoomFeedsRequest + (*ListRoomGiftLeaderboardRequest)(nil), // 112: hyapp.room.v1.ListRoomGiftLeaderboardRequest + (*RoomFeedRelatedUser)(nil), // 113: hyapp.room.v1.RoomFeedRelatedUser + (*RoomListItem)(nil), // 114: hyapp.room.v1.RoomListItem + (*ListRoomsResponse)(nil), // 115: hyapp.room.v1.ListRoomsResponse + (*RoomGiftLeaderboardItem)(nil), // 116: hyapp.room.v1.RoomGiftLeaderboardItem + (*ListRoomGiftLeaderboardResponse)(nil), // 117: hyapp.room.v1.ListRoomGiftLeaderboardResponse + (*GetMyRoomRequest)(nil), // 118: hyapp.room.v1.GetMyRoomRequest + (*GetMyRoomResponse)(nil), // 119: hyapp.room.v1.GetMyRoomResponse + (*GetCurrentRoomRequest)(nil), // 120: hyapp.room.v1.GetCurrentRoomRequest + (*GetCurrentRoomResponse)(nil), // 121: hyapp.room.v1.GetCurrentRoomResponse + (*GetRoomSnapshotRequest)(nil), // 122: hyapp.room.v1.GetRoomSnapshotRequest + (*GetRoomSnapshotResponse)(nil), // 123: hyapp.room.v1.GetRoomSnapshotResponse + (*GetRoomRocketRequest)(nil), // 124: hyapp.room.v1.GetRoomRocketRequest + (*GetRoomRocketResponse)(nil), // 125: hyapp.room.v1.GetRoomRocketResponse + (*ListRoomOnlineUsersRequest)(nil), // 126: hyapp.room.v1.ListRoomOnlineUsersRequest + (*ListRoomOnlineUsersResponse)(nil), // 127: hyapp.room.v1.ListRoomOnlineUsersResponse + (*RoomBannedUser)(nil), // 128: hyapp.room.v1.RoomBannedUser + (*ListRoomBannedUsersRequest)(nil), // 129: hyapp.room.v1.ListRoomBannedUsersRequest + (*ListRoomBannedUsersResponse)(nil), // 130: hyapp.room.v1.ListRoomBannedUsersResponse + (*FollowRoomRequest)(nil), // 131: hyapp.room.v1.FollowRoomRequest + (*FollowRoomResponse)(nil), // 132: hyapp.room.v1.FollowRoomResponse + (*UnfollowRoomRequest)(nil), // 133: hyapp.room.v1.UnfollowRoomRequest + (*UnfollowRoomResponse)(nil), // 134: hyapp.room.v1.UnfollowRoomResponse + nil, // 135: hyapp.room.v1.RoomSnapshot.RoomExtEntry } var file_proto_room_v1_room_proto_depIdxs = []int32{ 7, // 0: hyapp.room.v1.RoomRocketLevel.in_room_rewards:type_name -> hyapp.room.v1.RoomRocketRewardItem @@ -10484,227 +11334,244 @@ var file_proto_room_v1_room_proto_depIdxs = []int32{ 26, // 23: hyapp.room.v1.AdminCreateRoomPinResponse.pin:type_name -> hyapp.room.v1.AdminRoomPin 0, // 24: hyapp.room.v1.AdminCancelRoomPinRequest.meta:type_name -> hyapp.room.v1.RequestMeta 26, // 25: hyapp.room.v1.AdminCancelRoomPinResponse.pin:type_name -> hyapp.room.v1.AdminRoomPin - 4, // 26: hyapp.room.v1.RoomSnapshot.mic_seats:type_name -> hyapp.room.v1.SeatState - 2, // 27: hyapp.room.v1.RoomSnapshot.online_users:type_name -> hyapp.room.v1.RoomUser - 5, // 28: hyapp.room.v1.RoomSnapshot.gift_rank:type_name -> hyapp.room.v1.RankItem - 125, // 29: hyapp.room.v1.RoomSnapshot.room_ext:type_name -> hyapp.room.v1.RoomSnapshot.RoomExtEntry - 12, // 30: hyapp.room.v1.RoomSnapshot.rocket:type_name -> hyapp.room.v1.RoomRocketState - 33, // 31: hyapp.room.v1.RoomSnapshot.ban_states:type_name -> hyapp.room.v1.RoomBanState - 0, // 32: hyapp.room.v1.SaveRoomBackgroundRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 35, // 33: hyapp.room.v1.SaveRoomBackgroundResponse.background:type_name -> hyapp.room.v1.RoomBackgroundImage - 0, // 34: hyapp.room.v1.ListRoomBackgroundsRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 35, // 35: hyapp.room.v1.ListRoomBackgroundsResponse.backgrounds:type_name -> hyapp.room.v1.RoomBackgroundImage - 0, // 36: hyapp.room.v1.SetRoomBackgroundRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 37: hyapp.room.v1.SetRoomBackgroundResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 38: hyapp.room.v1.SetRoomBackgroundResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 35, // 39: hyapp.room.v1.SetRoomBackgroundResponse.background:type_name -> hyapp.room.v1.RoomBackgroundImage - 0, // 40: hyapp.room.v1.CreateRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 41: hyapp.room.v1.CreateRoomResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 42: hyapp.room.v1.CreateRoomResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 43: hyapp.room.v1.UpdateRoomProfileRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 44: hyapp.room.v1.UpdateRoomProfileResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 45: hyapp.room.v1.UpdateRoomProfileResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 46: hyapp.room.v1.JoinRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 46, // 47: hyapp.room.v1.JoinRoomRequest.entry_vehicle:type_name -> hyapp.room.v1.RoomEntryVehicleSnapshot - 1, // 48: hyapp.room.v1.JoinRoomResponse.result:type_name -> hyapp.room.v1.CommandResult - 2, // 49: hyapp.room.v1.JoinRoomResponse.user:type_name -> hyapp.room.v1.RoomUser - 34, // 50: hyapp.room.v1.JoinRoomResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 51: hyapp.room.v1.RoomHeartbeatRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 52: hyapp.room.v1.RoomHeartbeatResponse.result:type_name -> hyapp.room.v1.CommandResult - 2, // 53: hyapp.room.v1.RoomHeartbeatResponse.user:type_name -> hyapp.room.v1.RoomUser - 34, // 54: hyapp.room.v1.RoomHeartbeatResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 55: hyapp.room.v1.LeaveRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 56: hyapp.room.v1.LeaveRoomResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 57: hyapp.room.v1.LeaveRoomResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 58: hyapp.room.v1.CloseRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 59: hyapp.room.v1.CloseRoomResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 60: hyapp.room.v1.CloseRoomResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 61: hyapp.room.v1.AdminListRoomsRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 55, // 62: hyapp.room.v1.AdminListRoomsResponse.rooms:type_name -> hyapp.room.v1.AdminRoomListItem - 0, // 63: hyapp.room.v1.AdminGetRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 55, // 64: hyapp.room.v1.AdminGetRoomResponse.room:type_name -> hyapp.room.v1.AdminRoomListItem - 0, // 65: hyapp.room.v1.AdminUpdateRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 66: hyapp.room.v1.AdminUpdateRoomResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 67: hyapp.room.v1.AdminUpdateRoomResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 68: hyapp.room.v1.AdminDeleteRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 69: hyapp.room.v1.AdminDeleteRoomResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 70: hyapp.room.v1.AdminDeleteRoomResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 71: hyapp.room.v1.MicUpRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 72: hyapp.room.v1.MicUpResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 73: hyapp.room.v1.MicUpResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 74: hyapp.room.v1.MicDownRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 75: hyapp.room.v1.MicDownResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 76: hyapp.room.v1.MicDownResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 77: hyapp.room.v1.ChangeMicSeatRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 78: hyapp.room.v1.ChangeMicSeatResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 79: hyapp.room.v1.ChangeMicSeatResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 80: hyapp.room.v1.ConfirmMicPublishingRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 81: hyapp.room.v1.ConfirmMicPublishingResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 82: hyapp.room.v1.ConfirmMicPublishingResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 83: hyapp.room.v1.MicHeartbeatRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 84: hyapp.room.v1.MicHeartbeatResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 85: hyapp.room.v1.MicHeartbeatResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 86: hyapp.room.v1.SetMicMuteRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 87: hyapp.room.v1.SetMicMuteResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 88: hyapp.room.v1.SetMicMuteResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 89: hyapp.room.v1.ApplyRTCEventRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 90: hyapp.room.v1.ApplyRTCEventResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 91: hyapp.room.v1.ApplyRTCEventResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 92: hyapp.room.v1.SetMicSeatLockRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 93: hyapp.room.v1.SetMicSeatLockResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 94: hyapp.room.v1.SetMicSeatLockResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 95: hyapp.room.v1.SetChatEnabledRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 96: hyapp.room.v1.SetChatEnabledResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 97: hyapp.room.v1.SetChatEnabledResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 98: hyapp.room.v1.SetRoomPasswordRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 99: hyapp.room.v1.SetRoomPasswordResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 100: hyapp.room.v1.SetRoomPasswordResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 101: hyapp.room.v1.SetRoomAdminRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 102: hyapp.room.v1.SetRoomAdminResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 103: hyapp.room.v1.SetRoomAdminResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 104: hyapp.room.v1.MuteUserRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 105: hyapp.room.v1.MuteUserResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 106: hyapp.room.v1.MuteUserResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 107: hyapp.room.v1.KickUserRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 108: hyapp.room.v1.KickUserResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 109: hyapp.room.v1.KickUserResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 110: hyapp.room.v1.UnbanUserRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 111: hyapp.room.v1.UnbanUserResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 112: hyapp.room.v1.UnbanUserResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 113: hyapp.room.v1.SystemEvictUserRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 114: hyapp.room.v1.SystemEvictUserResponse.result:type_name -> hyapp.room.v1.CommandResult - 34, // 115: hyapp.room.v1.SystemEvictUserResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 116: hyapp.room.v1.SendGiftRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 1, // 117: hyapp.room.v1.SendGiftResponse.result:type_name -> hyapp.room.v1.CommandResult - 5, // 118: hyapp.room.v1.SendGiftResponse.gift_rank:type_name -> hyapp.room.v1.RankItem - 34, // 119: hyapp.room.v1.SendGiftResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 12, // 120: hyapp.room.v1.SendGiftResponse.rocket:type_name -> hyapp.room.v1.RoomRocketState - 6, // 121: hyapp.room.v1.SendGiftResponse.lucky_gift:type_name -> hyapp.room.v1.LuckyGiftDrawResult - 6, // 122: hyapp.room.v1.SendGiftResponse.lucky_gifts:type_name -> hyapp.room.v1.LuckyGiftDrawResult - 0, // 123: hyapp.room.v1.ListRoomsRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 0, // 124: hyapp.room.v1.ListRoomFeedsRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 103, // 125: hyapp.room.v1.ListRoomFeedsRequest.related_users:type_name -> hyapp.room.v1.RoomFeedRelatedUser - 0, // 126: hyapp.room.v1.ListRoomGiftLeaderboardRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 104, // 127: hyapp.room.v1.ListRoomsResponse.rooms:type_name -> hyapp.room.v1.RoomListItem - 104, // 128: hyapp.room.v1.RoomGiftLeaderboardItem.room:type_name -> hyapp.room.v1.RoomListItem - 106, // 129: hyapp.room.v1.ListRoomGiftLeaderboardResponse.items:type_name -> hyapp.room.v1.RoomGiftLeaderboardItem - 0, // 130: hyapp.room.v1.GetMyRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 104, // 131: hyapp.room.v1.GetMyRoomResponse.room:type_name -> hyapp.room.v1.RoomListItem - 0, // 132: hyapp.room.v1.GetCurrentRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 0, // 133: hyapp.room.v1.GetRoomSnapshotRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 34, // 134: hyapp.room.v1.GetRoomSnapshotResponse.room:type_name -> hyapp.room.v1.RoomSnapshot - 0, // 135: hyapp.room.v1.GetRoomRocketRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 13, // 136: hyapp.room.v1.GetRoomRocketResponse.rocket:type_name -> hyapp.room.v1.RoomRocketInfo - 0, // 137: hyapp.room.v1.ListRoomOnlineUsersRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 2, // 138: hyapp.room.v1.ListRoomOnlineUsersResponse.users:type_name -> hyapp.room.v1.RoomUser - 3, // 139: hyapp.room.v1.ListRoomOnlineUsersResponse.items:type_name -> hyapp.room.v1.RoomOnlineUser - 0, // 140: hyapp.room.v1.ListRoomBannedUsersRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 118, // 141: hyapp.room.v1.ListRoomBannedUsersResponse.items:type_name -> hyapp.room.v1.RoomBannedUser - 0, // 142: hyapp.room.v1.FollowRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 0, // 143: hyapp.room.v1.UnfollowRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta - 42, // 144: hyapp.room.v1.RoomCommandService.CreateRoom:input_type -> hyapp.room.v1.CreateRoomRequest - 44, // 145: hyapp.room.v1.RoomCommandService.UpdateRoomProfile:input_type -> hyapp.room.v1.UpdateRoomProfileRequest - 36, // 146: hyapp.room.v1.RoomCommandService.SaveRoomBackground:input_type -> hyapp.room.v1.SaveRoomBackgroundRequest - 40, // 147: hyapp.room.v1.RoomCommandService.SetRoomBackground:input_type -> hyapp.room.v1.SetRoomBackgroundRequest - 47, // 148: hyapp.room.v1.RoomCommandService.JoinRoom:input_type -> hyapp.room.v1.JoinRoomRequest - 49, // 149: hyapp.room.v1.RoomCommandService.RoomHeartbeat:input_type -> hyapp.room.v1.RoomHeartbeatRequest - 51, // 150: hyapp.room.v1.RoomCommandService.LeaveRoom:input_type -> hyapp.room.v1.LeaveRoomRequest - 53, // 151: hyapp.room.v1.RoomCommandService.CloseRoom:input_type -> hyapp.room.v1.CloseRoomRequest - 60, // 152: hyapp.room.v1.RoomCommandService.AdminUpdateRoom:input_type -> hyapp.room.v1.AdminUpdateRoomRequest - 62, // 153: hyapp.room.v1.RoomCommandService.AdminDeleteRoom:input_type -> hyapp.room.v1.AdminDeleteRoomRequest - 18, // 154: hyapp.room.v1.RoomCommandService.AdminUpdateRoomRocketConfig:input_type -> hyapp.room.v1.AdminUpdateRoomRocketConfigRequest - 23, // 155: hyapp.room.v1.RoomCommandService.AdminUpdateRoomSeatConfig:input_type -> hyapp.room.v1.AdminUpdateRoomSeatConfigRequest - 29, // 156: hyapp.room.v1.RoomCommandService.AdminCreateRoomPin:input_type -> hyapp.room.v1.AdminCreateRoomPinRequest - 31, // 157: hyapp.room.v1.RoomCommandService.AdminCancelRoomPin:input_type -> hyapp.room.v1.AdminCancelRoomPinRequest - 64, // 158: hyapp.room.v1.RoomCommandService.MicUp:input_type -> hyapp.room.v1.MicUpRequest - 66, // 159: hyapp.room.v1.RoomCommandService.MicDown:input_type -> hyapp.room.v1.MicDownRequest - 68, // 160: hyapp.room.v1.RoomCommandService.ChangeMicSeat:input_type -> hyapp.room.v1.ChangeMicSeatRequest - 70, // 161: hyapp.room.v1.RoomCommandService.ConfirmMicPublishing:input_type -> hyapp.room.v1.ConfirmMicPublishingRequest - 72, // 162: hyapp.room.v1.RoomCommandService.MicHeartbeat:input_type -> hyapp.room.v1.MicHeartbeatRequest - 74, // 163: hyapp.room.v1.RoomCommandService.SetMicMute:input_type -> hyapp.room.v1.SetMicMuteRequest - 76, // 164: hyapp.room.v1.RoomCommandService.ApplyRTCEvent:input_type -> hyapp.room.v1.ApplyRTCEventRequest - 78, // 165: hyapp.room.v1.RoomCommandService.SetMicSeatLock:input_type -> hyapp.room.v1.SetMicSeatLockRequest - 80, // 166: hyapp.room.v1.RoomCommandService.SetChatEnabled:input_type -> hyapp.room.v1.SetChatEnabledRequest - 82, // 167: hyapp.room.v1.RoomCommandService.SetRoomPassword:input_type -> hyapp.room.v1.SetRoomPasswordRequest - 84, // 168: hyapp.room.v1.RoomCommandService.SetRoomAdmin:input_type -> hyapp.room.v1.SetRoomAdminRequest - 86, // 169: hyapp.room.v1.RoomCommandService.MuteUser:input_type -> hyapp.room.v1.MuteUserRequest - 88, // 170: hyapp.room.v1.RoomCommandService.KickUser:input_type -> hyapp.room.v1.KickUserRequest - 90, // 171: hyapp.room.v1.RoomCommandService.UnbanUser:input_type -> hyapp.room.v1.UnbanUserRequest - 92, // 172: hyapp.room.v1.RoomCommandService.SystemEvictUser:input_type -> hyapp.room.v1.SystemEvictUserRequest - 94, // 173: hyapp.room.v1.RoomCommandService.SendGift:input_type -> hyapp.room.v1.SendGiftRequest - 121, // 174: hyapp.room.v1.RoomCommandService.FollowRoom:input_type -> hyapp.room.v1.FollowRoomRequest - 123, // 175: hyapp.room.v1.RoomCommandService.UnfollowRoom:input_type -> hyapp.room.v1.UnfollowRoomRequest - 96, // 176: hyapp.room.v1.RoomGuardService.CheckSpeakPermission:input_type -> hyapp.room.v1.CheckSpeakPermissionRequest - 98, // 177: hyapp.room.v1.RoomGuardService.VerifyRoomPresence:input_type -> hyapp.room.v1.VerifyRoomPresenceRequest - 56, // 178: hyapp.room.v1.RoomQueryService.AdminListRooms:input_type -> hyapp.room.v1.AdminListRoomsRequest - 58, // 179: hyapp.room.v1.RoomQueryService.AdminGetRoom:input_type -> hyapp.room.v1.AdminGetRoomRequest - 16, // 180: hyapp.room.v1.RoomQueryService.AdminGetRoomRocketConfig:input_type -> hyapp.room.v1.AdminGetRoomRocketConfigRequest - 21, // 181: hyapp.room.v1.RoomQueryService.AdminGetRoomSeatConfig:input_type -> hyapp.room.v1.AdminGetRoomSeatConfigRequest - 27, // 182: hyapp.room.v1.RoomQueryService.AdminListRoomPins:input_type -> hyapp.room.v1.AdminListRoomPinsRequest - 100, // 183: hyapp.room.v1.RoomQueryService.ListRooms:input_type -> hyapp.room.v1.ListRoomsRequest - 101, // 184: hyapp.room.v1.RoomQueryService.ListRoomFeeds:input_type -> hyapp.room.v1.ListRoomFeedsRequest - 102, // 185: hyapp.room.v1.RoomQueryService.ListRoomGiftLeaderboard:input_type -> hyapp.room.v1.ListRoomGiftLeaderboardRequest - 108, // 186: hyapp.room.v1.RoomQueryService.GetMyRoom:input_type -> hyapp.room.v1.GetMyRoomRequest - 110, // 187: hyapp.room.v1.RoomQueryService.GetCurrentRoom:input_type -> hyapp.room.v1.GetCurrentRoomRequest - 112, // 188: hyapp.room.v1.RoomQueryService.GetRoomSnapshot:input_type -> hyapp.room.v1.GetRoomSnapshotRequest - 38, // 189: hyapp.room.v1.RoomQueryService.ListRoomBackgrounds:input_type -> hyapp.room.v1.ListRoomBackgroundsRequest - 114, // 190: hyapp.room.v1.RoomQueryService.GetRoomRocket:input_type -> hyapp.room.v1.GetRoomRocketRequest - 116, // 191: hyapp.room.v1.RoomQueryService.ListRoomOnlineUsers:input_type -> hyapp.room.v1.ListRoomOnlineUsersRequest - 119, // 192: hyapp.room.v1.RoomQueryService.ListRoomBannedUsers:input_type -> hyapp.room.v1.ListRoomBannedUsersRequest - 43, // 193: hyapp.room.v1.RoomCommandService.CreateRoom:output_type -> hyapp.room.v1.CreateRoomResponse - 45, // 194: hyapp.room.v1.RoomCommandService.UpdateRoomProfile:output_type -> hyapp.room.v1.UpdateRoomProfileResponse - 37, // 195: hyapp.room.v1.RoomCommandService.SaveRoomBackground:output_type -> hyapp.room.v1.SaveRoomBackgroundResponse - 41, // 196: hyapp.room.v1.RoomCommandService.SetRoomBackground:output_type -> hyapp.room.v1.SetRoomBackgroundResponse - 48, // 197: hyapp.room.v1.RoomCommandService.JoinRoom:output_type -> hyapp.room.v1.JoinRoomResponse - 50, // 198: hyapp.room.v1.RoomCommandService.RoomHeartbeat:output_type -> hyapp.room.v1.RoomHeartbeatResponse - 52, // 199: hyapp.room.v1.RoomCommandService.LeaveRoom:output_type -> hyapp.room.v1.LeaveRoomResponse - 54, // 200: hyapp.room.v1.RoomCommandService.CloseRoom:output_type -> hyapp.room.v1.CloseRoomResponse - 61, // 201: hyapp.room.v1.RoomCommandService.AdminUpdateRoom:output_type -> hyapp.room.v1.AdminUpdateRoomResponse - 63, // 202: hyapp.room.v1.RoomCommandService.AdminDeleteRoom:output_type -> hyapp.room.v1.AdminDeleteRoomResponse - 19, // 203: hyapp.room.v1.RoomCommandService.AdminUpdateRoomRocketConfig:output_type -> hyapp.room.v1.AdminUpdateRoomRocketConfigResponse - 24, // 204: hyapp.room.v1.RoomCommandService.AdminUpdateRoomSeatConfig:output_type -> hyapp.room.v1.AdminUpdateRoomSeatConfigResponse - 30, // 205: hyapp.room.v1.RoomCommandService.AdminCreateRoomPin:output_type -> hyapp.room.v1.AdminCreateRoomPinResponse - 32, // 206: hyapp.room.v1.RoomCommandService.AdminCancelRoomPin:output_type -> hyapp.room.v1.AdminCancelRoomPinResponse - 65, // 207: hyapp.room.v1.RoomCommandService.MicUp:output_type -> hyapp.room.v1.MicUpResponse - 67, // 208: hyapp.room.v1.RoomCommandService.MicDown:output_type -> hyapp.room.v1.MicDownResponse - 69, // 209: hyapp.room.v1.RoomCommandService.ChangeMicSeat:output_type -> hyapp.room.v1.ChangeMicSeatResponse - 71, // 210: hyapp.room.v1.RoomCommandService.ConfirmMicPublishing:output_type -> hyapp.room.v1.ConfirmMicPublishingResponse - 73, // 211: hyapp.room.v1.RoomCommandService.MicHeartbeat:output_type -> hyapp.room.v1.MicHeartbeatResponse - 75, // 212: hyapp.room.v1.RoomCommandService.SetMicMute:output_type -> hyapp.room.v1.SetMicMuteResponse - 77, // 213: hyapp.room.v1.RoomCommandService.ApplyRTCEvent:output_type -> hyapp.room.v1.ApplyRTCEventResponse - 79, // 214: hyapp.room.v1.RoomCommandService.SetMicSeatLock:output_type -> hyapp.room.v1.SetMicSeatLockResponse - 81, // 215: hyapp.room.v1.RoomCommandService.SetChatEnabled:output_type -> hyapp.room.v1.SetChatEnabledResponse - 83, // 216: hyapp.room.v1.RoomCommandService.SetRoomPassword:output_type -> hyapp.room.v1.SetRoomPasswordResponse - 85, // 217: hyapp.room.v1.RoomCommandService.SetRoomAdmin:output_type -> hyapp.room.v1.SetRoomAdminResponse - 87, // 218: hyapp.room.v1.RoomCommandService.MuteUser:output_type -> hyapp.room.v1.MuteUserResponse - 89, // 219: hyapp.room.v1.RoomCommandService.KickUser:output_type -> hyapp.room.v1.KickUserResponse - 91, // 220: hyapp.room.v1.RoomCommandService.UnbanUser:output_type -> hyapp.room.v1.UnbanUserResponse - 93, // 221: hyapp.room.v1.RoomCommandService.SystemEvictUser:output_type -> hyapp.room.v1.SystemEvictUserResponse - 95, // 222: hyapp.room.v1.RoomCommandService.SendGift:output_type -> hyapp.room.v1.SendGiftResponse - 122, // 223: hyapp.room.v1.RoomCommandService.FollowRoom:output_type -> hyapp.room.v1.FollowRoomResponse - 124, // 224: hyapp.room.v1.RoomCommandService.UnfollowRoom:output_type -> hyapp.room.v1.UnfollowRoomResponse - 97, // 225: hyapp.room.v1.RoomGuardService.CheckSpeakPermission:output_type -> hyapp.room.v1.CheckSpeakPermissionResponse - 99, // 226: hyapp.room.v1.RoomGuardService.VerifyRoomPresence:output_type -> hyapp.room.v1.VerifyRoomPresenceResponse - 57, // 227: hyapp.room.v1.RoomQueryService.AdminListRooms:output_type -> hyapp.room.v1.AdminListRoomsResponse - 59, // 228: hyapp.room.v1.RoomQueryService.AdminGetRoom:output_type -> hyapp.room.v1.AdminGetRoomResponse - 17, // 229: hyapp.room.v1.RoomQueryService.AdminGetRoomRocketConfig:output_type -> hyapp.room.v1.AdminGetRoomRocketConfigResponse - 22, // 230: hyapp.room.v1.RoomQueryService.AdminGetRoomSeatConfig:output_type -> hyapp.room.v1.AdminGetRoomSeatConfigResponse - 28, // 231: hyapp.room.v1.RoomQueryService.AdminListRoomPins:output_type -> hyapp.room.v1.AdminListRoomPinsResponse - 105, // 232: hyapp.room.v1.RoomQueryService.ListRooms:output_type -> hyapp.room.v1.ListRoomsResponse - 105, // 233: hyapp.room.v1.RoomQueryService.ListRoomFeeds:output_type -> hyapp.room.v1.ListRoomsResponse - 107, // 234: hyapp.room.v1.RoomQueryService.ListRoomGiftLeaderboard:output_type -> hyapp.room.v1.ListRoomGiftLeaderboardResponse - 109, // 235: hyapp.room.v1.RoomQueryService.GetMyRoom:output_type -> hyapp.room.v1.GetMyRoomResponse - 111, // 236: hyapp.room.v1.RoomQueryService.GetCurrentRoom:output_type -> hyapp.room.v1.GetCurrentRoomResponse - 113, // 237: hyapp.room.v1.RoomQueryService.GetRoomSnapshot:output_type -> hyapp.room.v1.GetRoomSnapshotResponse - 39, // 238: hyapp.room.v1.RoomQueryService.ListRoomBackgrounds:output_type -> hyapp.room.v1.ListRoomBackgroundsResponse - 115, // 239: hyapp.room.v1.RoomQueryService.GetRoomRocket:output_type -> hyapp.room.v1.GetRoomRocketResponse - 117, // 240: hyapp.room.v1.RoomQueryService.ListRoomOnlineUsers:output_type -> hyapp.room.v1.ListRoomOnlineUsersResponse - 120, // 241: hyapp.room.v1.RoomQueryService.ListRoomBannedUsers:output_type -> hyapp.room.v1.ListRoomBannedUsersResponse - 193, // [193:242] is the sub-list for method output_type - 144, // [144:193] is the sub-list for method input_type - 144, // [144:144] is the sub-list for extension type_name - 144, // [144:144] is the sub-list for extension extendee - 0, // [0:144] is the sub-list for field type_name + 33, // 26: hyapp.room.v1.AdminRobotRoom.gift_rule:type_name -> hyapp.room.v1.AdminRobotRoomGiftRule + 0, // 27: hyapp.room.v1.AdminListRobotRoomsRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 34, // 28: hyapp.room.v1.AdminListRobotRoomsResponse.rooms:type_name -> hyapp.room.v1.AdminRobotRoom + 0, // 29: hyapp.room.v1.AdminCreateRobotRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 33, // 30: hyapp.room.v1.AdminCreateRobotRoomRequest.gift_rule:type_name -> hyapp.room.v1.AdminRobotRoomGiftRule + 34, // 31: hyapp.room.v1.AdminCreateRobotRoomResponse.room:type_name -> hyapp.room.v1.AdminRobotRoom + 0, // 32: hyapp.room.v1.AdminSetRobotRoomStatusRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 34, // 33: hyapp.room.v1.AdminSetRobotRoomStatusResponse.room:type_name -> hyapp.room.v1.AdminRobotRoom + 0, // 34: hyapp.room.v1.AdminFilterAvailableRoomRobotsRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 4, // 35: hyapp.room.v1.RoomSnapshot.mic_seats:type_name -> hyapp.room.v1.SeatState + 2, // 36: hyapp.room.v1.RoomSnapshot.online_users:type_name -> hyapp.room.v1.RoomUser + 5, // 37: hyapp.room.v1.RoomSnapshot.gift_rank:type_name -> hyapp.room.v1.RankItem + 135, // 38: hyapp.room.v1.RoomSnapshot.room_ext:type_name -> hyapp.room.v1.RoomSnapshot.RoomExtEntry + 12, // 39: hyapp.room.v1.RoomSnapshot.rocket:type_name -> hyapp.room.v1.RoomRocketState + 43, // 40: hyapp.room.v1.RoomSnapshot.ban_states:type_name -> hyapp.room.v1.RoomBanState + 0, // 41: hyapp.room.v1.SaveRoomBackgroundRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 45, // 42: hyapp.room.v1.SaveRoomBackgroundResponse.background:type_name -> hyapp.room.v1.RoomBackgroundImage + 0, // 43: hyapp.room.v1.ListRoomBackgroundsRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 45, // 44: hyapp.room.v1.ListRoomBackgroundsResponse.backgrounds:type_name -> hyapp.room.v1.RoomBackgroundImage + 0, // 45: hyapp.room.v1.SetRoomBackgroundRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 46: hyapp.room.v1.SetRoomBackgroundResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 47: hyapp.room.v1.SetRoomBackgroundResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 45, // 48: hyapp.room.v1.SetRoomBackgroundResponse.background:type_name -> hyapp.room.v1.RoomBackgroundImage + 0, // 49: hyapp.room.v1.CreateRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 50: hyapp.room.v1.CreateRoomResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 51: hyapp.room.v1.CreateRoomResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 52: hyapp.room.v1.UpdateRoomProfileRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 53: hyapp.room.v1.UpdateRoomProfileResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 54: hyapp.room.v1.UpdateRoomProfileResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 55: hyapp.room.v1.JoinRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 56, // 56: hyapp.room.v1.JoinRoomRequest.entry_vehicle:type_name -> hyapp.room.v1.RoomEntryVehicleSnapshot + 1, // 57: hyapp.room.v1.JoinRoomResponse.result:type_name -> hyapp.room.v1.CommandResult + 2, // 58: hyapp.room.v1.JoinRoomResponse.user:type_name -> hyapp.room.v1.RoomUser + 44, // 59: hyapp.room.v1.JoinRoomResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 60: hyapp.room.v1.RoomHeartbeatRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 61: hyapp.room.v1.RoomHeartbeatResponse.result:type_name -> hyapp.room.v1.CommandResult + 2, // 62: hyapp.room.v1.RoomHeartbeatResponse.user:type_name -> hyapp.room.v1.RoomUser + 44, // 63: hyapp.room.v1.RoomHeartbeatResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 64: hyapp.room.v1.LeaveRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 65: hyapp.room.v1.LeaveRoomResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 66: hyapp.room.v1.LeaveRoomResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 67: hyapp.room.v1.CloseRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 68: hyapp.room.v1.CloseRoomResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 69: hyapp.room.v1.CloseRoomResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 70: hyapp.room.v1.AdminListRoomsRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 65, // 71: hyapp.room.v1.AdminListRoomsResponse.rooms:type_name -> hyapp.room.v1.AdminRoomListItem + 0, // 72: hyapp.room.v1.AdminGetRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 65, // 73: hyapp.room.v1.AdminGetRoomResponse.room:type_name -> hyapp.room.v1.AdminRoomListItem + 0, // 74: hyapp.room.v1.AdminUpdateRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 75: hyapp.room.v1.AdminUpdateRoomResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 76: hyapp.room.v1.AdminUpdateRoomResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 77: hyapp.room.v1.AdminDeleteRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 78: hyapp.room.v1.AdminDeleteRoomResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 79: hyapp.room.v1.AdminDeleteRoomResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 80: hyapp.room.v1.MicUpRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 81: hyapp.room.v1.MicUpResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 82: hyapp.room.v1.MicUpResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 83: hyapp.room.v1.MicDownRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 84: hyapp.room.v1.MicDownResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 85: hyapp.room.v1.MicDownResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 86: hyapp.room.v1.ChangeMicSeatRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 87: hyapp.room.v1.ChangeMicSeatResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 88: hyapp.room.v1.ChangeMicSeatResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 89: hyapp.room.v1.ConfirmMicPublishingRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 90: hyapp.room.v1.ConfirmMicPublishingResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 91: hyapp.room.v1.ConfirmMicPublishingResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 92: hyapp.room.v1.MicHeartbeatRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 93: hyapp.room.v1.MicHeartbeatResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 94: hyapp.room.v1.MicHeartbeatResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 95: hyapp.room.v1.SetMicMuteRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 96: hyapp.room.v1.SetMicMuteResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 97: hyapp.room.v1.SetMicMuteResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 98: hyapp.room.v1.ApplyRTCEventRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 99: hyapp.room.v1.ApplyRTCEventResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 100: hyapp.room.v1.ApplyRTCEventResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 101: hyapp.room.v1.SetMicSeatLockRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 102: hyapp.room.v1.SetMicSeatLockResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 103: hyapp.room.v1.SetMicSeatLockResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 104: hyapp.room.v1.SetChatEnabledRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 105: hyapp.room.v1.SetChatEnabledResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 106: hyapp.room.v1.SetChatEnabledResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 107: hyapp.room.v1.SetRoomPasswordRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 108: hyapp.room.v1.SetRoomPasswordResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 109: hyapp.room.v1.SetRoomPasswordResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 110: hyapp.room.v1.SetRoomAdminRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 111: hyapp.room.v1.SetRoomAdminResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 112: hyapp.room.v1.SetRoomAdminResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 113: hyapp.room.v1.MuteUserRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 114: hyapp.room.v1.MuteUserResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 115: hyapp.room.v1.MuteUserResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 116: hyapp.room.v1.KickUserRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 117: hyapp.room.v1.KickUserResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 118: hyapp.room.v1.KickUserResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 119: hyapp.room.v1.UnbanUserRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 120: hyapp.room.v1.UnbanUserResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 121: hyapp.room.v1.UnbanUserResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 122: hyapp.room.v1.SystemEvictUserRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 123: hyapp.room.v1.SystemEvictUserResponse.result:type_name -> hyapp.room.v1.CommandResult + 44, // 124: hyapp.room.v1.SystemEvictUserResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 125: hyapp.room.v1.SendGiftRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 1, // 126: hyapp.room.v1.SendGiftResponse.result:type_name -> hyapp.room.v1.CommandResult + 5, // 127: hyapp.room.v1.SendGiftResponse.gift_rank:type_name -> hyapp.room.v1.RankItem + 44, // 128: hyapp.room.v1.SendGiftResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 12, // 129: hyapp.room.v1.SendGiftResponse.rocket:type_name -> hyapp.room.v1.RoomRocketState + 6, // 130: hyapp.room.v1.SendGiftResponse.lucky_gift:type_name -> hyapp.room.v1.LuckyGiftDrawResult + 6, // 131: hyapp.room.v1.SendGiftResponse.lucky_gifts:type_name -> hyapp.room.v1.LuckyGiftDrawResult + 0, // 132: hyapp.room.v1.ListRoomsRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 0, // 133: hyapp.room.v1.ListRoomFeedsRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 113, // 134: hyapp.room.v1.ListRoomFeedsRequest.related_users:type_name -> hyapp.room.v1.RoomFeedRelatedUser + 0, // 135: hyapp.room.v1.ListRoomGiftLeaderboardRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 114, // 136: hyapp.room.v1.ListRoomsResponse.rooms:type_name -> hyapp.room.v1.RoomListItem + 114, // 137: hyapp.room.v1.RoomGiftLeaderboardItem.room:type_name -> hyapp.room.v1.RoomListItem + 116, // 138: hyapp.room.v1.ListRoomGiftLeaderboardResponse.items:type_name -> hyapp.room.v1.RoomGiftLeaderboardItem + 0, // 139: hyapp.room.v1.GetMyRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 114, // 140: hyapp.room.v1.GetMyRoomResponse.room:type_name -> hyapp.room.v1.RoomListItem + 0, // 141: hyapp.room.v1.GetCurrentRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 0, // 142: hyapp.room.v1.GetRoomSnapshotRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 44, // 143: hyapp.room.v1.GetRoomSnapshotResponse.room:type_name -> hyapp.room.v1.RoomSnapshot + 0, // 144: hyapp.room.v1.GetRoomRocketRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 13, // 145: hyapp.room.v1.GetRoomRocketResponse.rocket:type_name -> hyapp.room.v1.RoomRocketInfo + 0, // 146: hyapp.room.v1.ListRoomOnlineUsersRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 2, // 147: hyapp.room.v1.ListRoomOnlineUsersResponse.users:type_name -> hyapp.room.v1.RoomUser + 3, // 148: hyapp.room.v1.ListRoomOnlineUsersResponse.items:type_name -> hyapp.room.v1.RoomOnlineUser + 0, // 149: hyapp.room.v1.ListRoomBannedUsersRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 128, // 150: hyapp.room.v1.ListRoomBannedUsersResponse.items:type_name -> hyapp.room.v1.RoomBannedUser + 0, // 151: hyapp.room.v1.FollowRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 0, // 152: hyapp.room.v1.UnfollowRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta + 52, // 153: hyapp.room.v1.RoomCommandService.CreateRoom:input_type -> hyapp.room.v1.CreateRoomRequest + 54, // 154: hyapp.room.v1.RoomCommandService.UpdateRoomProfile:input_type -> hyapp.room.v1.UpdateRoomProfileRequest + 46, // 155: hyapp.room.v1.RoomCommandService.SaveRoomBackground:input_type -> hyapp.room.v1.SaveRoomBackgroundRequest + 50, // 156: hyapp.room.v1.RoomCommandService.SetRoomBackground:input_type -> hyapp.room.v1.SetRoomBackgroundRequest + 57, // 157: hyapp.room.v1.RoomCommandService.JoinRoom:input_type -> hyapp.room.v1.JoinRoomRequest + 59, // 158: hyapp.room.v1.RoomCommandService.RoomHeartbeat:input_type -> hyapp.room.v1.RoomHeartbeatRequest + 61, // 159: hyapp.room.v1.RoomCommandService.LeaveRoom:input_type -> hyapp.room.v1.LeaveRoomRequest + 63, // 160: hyapp.room.v1.RoomCommandService.CloseRoom:input_type -> hyapp.room.v1.CloseRoomRequest + 70, // 161: hyapp.room.v1.RoomCommandService.AdminUpdateRoom:input_type -> hyapp.room.v1.AdminUpdateRoomRequest + 72, // 162: hyapp.room.v1.RoomCommandService.AdminDeleteRoom:input_type -> hyapp.room.v1.AdminDeleteRoomRequest + 18, // 163: hyapp.room.v1.RoomCommandService.AdminUpdateRoomRocketConfig:input_type -> hyapp.room.v1.AdminUpdateRoomRocketConfigRequest + 23, // 164: hyapp.room.v1.RoomCommandService.AdminUpdateRoomSeatConfig:input_type -> hyapp.room.v1.AdminUpdateRoomSeatConfigRequest + 29, // 165: hyapp.room.v1.RoomCommandService.AdminCreateRoomPin:input_type -> hyapp.room.v1.AdminCreateRoomPinRequest + 31, // 166: hyapp.room.v1.RoomCommandService.AdminCancelRoomPin:input_type -> hyapp.room.v1.AdminCancelRoomPinRequest + 37, // 167: hyapp.room.v1.RoomCommandService.AdminCreateRobotRoom:input_type -> hyapp.room.v1.AdminCreateRobotRoomRequest + 39, // 168: hyapp.room.v1.RoomCommandService.AdminSetRobotRoomStatus:input_type -> hyapp.room.v1.AdminSetRobotRoomStatusRequest + 74, // 169: hyapp.room.v1.RoomCommandService.MicUp:input_type -> hyapp.room.v1.MicUpRequest + 76, // 170: hyapp.room.v1.RoomCommandService.MicDown:input_type -> hyapp.room.v1.MicDownRequest + 78, // 171: hyapp.room.v1.RoomCommandService.ChangeMicSeat:input_type -> hyapp.room.v1.ChangeMicSeatRequest + 80, // 172: hyapp.room.v1.RoomCommandService.ConfirmMicPublishing:input_type -> hyapp.room.v1.ConfirmMicPublishingRequest + 82, // 173: hyapp.room.v1.RoomCommandService.MicHeartbeat:input_type -> hyapp.room.v1.MicHeartbeatRequest + 84, // 174: hyapp.room.v1.RoomCommandService.SetMicMute:input_type -> hyapp.room.v1.SetMicMuteRequest + 86, // 175: hyapp.room.v1.RoomCommandService.ApplyRTCEvent:input_type -> hyapp.room.v1.ApplyRTCEventRequest + 88, // 176: hyapp.room.v1.RoomCommandService.SetMicSeatLock:input_type -> hyapp.room.v1.SetMicSeatLockRequest + 90, // 177: hyapp.room.v1.RoomCommandService.SetChatEnabled:input_type -> hyapp.room.v1.SetChatEnabledRequest + 92, // 178: hyapp.room.v1.RoomCommandService.SetRoomPassword:input_type -> hyapp.room.v1.SetRoomPasswordRequest + 94, // 179: hyapp.room.v1.RoomCommandService.SetRoomAdmin:input_type -> hyapp.room.v1.SetRoomAdminRequest + 96, // 180: hyapp.room.v1.RoomCommandService.MuteUser:input_type -> hyapp.room.v1.MuteUserRequest + 98, // 181: hyapp.room.v1.RoomCommandService.KickUser:input_type -> hyapp.room.v1.KickUserRequest + 100, // 182: hyapp.room.v1.RoomCommandService.UnbanUser:input_type -> hyapp.room.v1.UnbanUserRequest + 102, // 183: hyapp.room.v1.RoomCommandService.SystemEvictUser:input_type -> hyapp.room.v1.SystemEvictUserRequest + 104, // 184: hyapp.room.v1.RoomCommandService.SendGift:input_type -> hyapp.room.v1.SendGiftRequest + 131, // 185: hyapp.room.v1.RoomCommandService.FollowRoom:input_type -> hyapp.room.v1.FollowRoomRequest + 133, // 186: hyapp.room.v1.RoomCommandService.UnfollowRoom:input_type -> hyapp.room.v1.UnfollowRoomRequest + 106, // 187: hyapp.room.v1.RoomGuardService.CheckSpeakPermission:input_type -> hyapp.room.v1.CheckSpeakPermissionRequest + 108, // 188: hyapp.room.v1.RoomGuardService.VerifyRoomPresence:input_type -> hyapp.room.v1.VerifyRoomPresenceRequest + 66, // 189: hyapp.room.v1.RoomQueryService.AdminListRooms:input_type -> hyapp.room.v1.AdminListRoomsRequest + 68, // 190: hyapp.room.v1.RoomQueryService.AdminGetRoom:input_type -> hyapp.room.v1.AdminGetRoomRequest + 16, // 191: hyapp.room.v1.RoomQueryService.AdminGetRoomRocketConfig:input_type -> hyapp.room.v1.AdminGetRoomRocketConfigRequest + 21, // 192: hyapp.room.v1.RoomQueryService.AdminGetRoomSeatConfig:input_type -> hyapp.room.v1.AdminGetRoomSeatConfigRequest + 27, // 193: hyapp.room.v1.RoomQueryService.AdminListRoomPins:input_type -> hyapp.room.v1.AdminListRoomPinsRequest + 35, // 194: hyapp.room.v1.RoomQueryService.AdminListRobotRooms:input_type -> hyapp.room.v1.AdminListRobotRoomsRequest + 41, // 195: hyapp.room.v1.RoomQueryService.AdminFilterAvailableRoomRobots:input_type -> hyapp.room.v1.AdminFilterAvailableRoomRobotsRequest + 110, // 196: hyapp.room.v1.RoomQueryService.ListRooms:input_type -> hyapp.room.v1.ListRoomsRequest + 111, // 197: hyapp.room.v1.RoomQueryService.ListRoomFeeds:input_type -> hyapp.room.v1.ListRoomFeedsRequest + 112, // 198: hyapp.room.v1.RoomQueryService.ListRoomGiftLeaderboard:input_type -> hyapp.room.v1.ListRoomGiftLeaderboardRequest + 118, // 199: hyapp.room.v1.RoomQueryService.GetMyRoom:input_type -> hyapp.room.v1.GetMyRoomRequest + 120, // 200: hyapp.room.v1.RoomQueryService.GetCurrentRoom:input_type -> hyapp.room.v1.GetCurrentRoomRequest + 122, // 201: hyapp.room.v1.RoomQueryService.GetRoomSnapshot:input_type -> hyapp.room.v1.GetRoomSnapshotRequest + 48, // 202: hyapp.room.v1.RoomQueryService.ListRoomBackgrounds:input_type -> hyapp.room.v1.ListRoomBackgroundsRequest + 124, // 203: hyapp.room.v1.RoomQueryService.GetRoomRocket:input_type -> hyapp.room.v1.GetRoomRocketRequest + 126, // 204: hyapp.room.v1.RoomQueryService.ListRoomOnlineUsers:input_type -> hyapp.room.v1.ListRoomOnlineUsersRequest + 129, // 205: hyapp.room.v1.RoomQueryService.ListRoomBannedUsers:input_type -> hyapp.room.v1.ListRoomBannedUsersRequest + 53, // 206: hyapp.room.v1.RoomCommandService.CreateRoom:output_type -> hyapp.room.v1.CreateRoomResponse + 55, // 207: hyapp.room.v1.RoomCommandService.UpdateRoomProfile:output_type -> hyapp.room.v1.UpdateRoomProfileResponse + 47, // 208: hyapp.room.v1.RoomCommandService.SaveRoomBackground:output_type -> hyapp.room.v1.SaveRoomBackgroundResponse + 51, // 209: hyapp.room.v1.RoomCommandService.SetRoomBackground:output_type -> hyapp.room.v1.SetRoomBackgroundResponse + 58, // 210: hyapp.room.v1.RoomCommandService.JoinRoom:output_type -> hyapp.room.v1.JoinRoomResponse + 60, // 211: hyapp.room.v1.RoomCommandService.RoomHeartbeat:output_type -> hyapp.room.v1.RoomHeartbeatResponse + 62, // 212: hyapp.room.v1.RoomCommandService.LeaveRoom:output_type -> hyapp.room.v1.LeaveRoomResponse + 64, // 213: hyapp.room.v1.RoomCommandService.CloseRoom:output_type -> hyapp.room.v1.CloseRoomResponse + 71, // 214: hyapp.room.v1.RoomCommandService.AdminUpdateRoom:output_type -> hyapp.room.v1.AdminUpdateRoomResponse + 73, // 215: hyapp.room.v1.RoomCommandService.AdminDeleteRoom:output_type -> hyapp.room.v1.AdminDeleteRoomResponse + 19, // 216: hyapp.room.v1.RoomCommandService.AdminUpdateRoomRocketConfig:output_type -> hyapp.room.v1.AdminUpdateRoomRocketConfigResponse + 24, // 217: hyapp.room.v1.RoomCommandService.AdminUpdateRoomSeatConfig:output_type -> hyapp.room.v1.AdminUpdateRoomSeatConfigResponse + 30, // 218: hyapp.room.v1.RoomCommandService.AdminCreateRoomPin:output_type -> hyapp.room.v1.AdminCreateRoomPinResponse + 32, // 219: hyapp.room.v1.RoomCommandService.AdminCancelRoomPin:output_type -> hyapp.room.v1.AdminCancelRoomPinResponse + 38, // 220: hyapp.room.v1.RoomCommandService.AdminCreateRobotRoom:output_type -> hyapp.room.v1.AdminCreateRobotRoomResponse + 40, // 221: hyapp.room.v1.RoomCommandService.AdminSetRobotRoomStatus:output_type -> hyapp.room.v1.AdminSetRobotRoomStatusResponse + 75, // 222: hyapp.room.v1.RoomCommandService.MicUp:output_type -> hyapp.room.v1.MicUpResponse + 77, // 223: hyapp.room.v1.RoomCommandService.MicDown:output_type -> hyapp.room.v1.MicDownResponse + 79, // 224: hyapp.room.v1.RoomCommandService.ChangeMicSeat:output_type -> hyapp.room.v1.ChangeMicSeatResponse + 81, // 225: hyapp.room.v1.RoomCommandService.ConfirmMicPublishing:output_type -> hyapp.room.v1.ConfirmMicPublishingResponse + 83, // 226: hyapp.room.v1.RoomCommandService.MicHeartbeat:output_type -> hyapp.room.v1.MicHeartbeatResponse + 85, // 227: hyapp.room.v1.RoomCommandService.SetMicMute:output_type -> hyapp.room.v1.SetMicMuteResponse + 87, // 228: hyapp.room.v1.RoomCommandService.ApplyRTCEvent:output_type -> hyapp.room.v1.ApplyRTCEventResponse + 89, // 229: hyapp.room.v1.RoomCommandService.SetMicSeatLock:output_type -> hyapp.room.v1.SetMicSeatLockResponse + 91, // 230: hyapp.room.v1.RoomCommandService.SetChatEnabled:output_type -> hyapp.room.v1.SetChatEnabledResponse + 93, // 231: hyapp.room.v1.RoomCommandService.SetRoomPassword:output_type -> hyapp.room.v1.SetRoomPasswordResponse + 95, // 232: hyapp.room.v1.RoomCommandService.SetRoomAdmin:output_type -> hyapp.room.v1.SetRoomAdminResponse + 97, // 233: hyapp.room.v1.RoomCommandService.MuteUser:output_type -> hyapp.room.v1.MuteUserResponse + 99, // 234: hyapp.room.v1.RoomCommandService.KickUser:output_type -> hyapp.room.v1.KickUserResponse + 101, // 235: hyapp.room.v1.RoomCommandService.UnbanUser:output_type -> hyapp.room.v1.UnbanUserResponse + 103, // 236: hyapp.room.v1.RoomCommandService.SystemEvictUser:output_type -> hyapp.room.v1.SystemEvictUserResponse + 105, // 237: hyapp.room.v1.RoomCommandService.SendGift:output_type -> hyapp.room.v1.SendGiftResponse + 132, // 238: hyapp.room.v1.RoomCommandService.FollowRoom:output_type -> hyapp.room.v1.FollowRoomResponse + 134, // 239: hyapp.room.v1.RoomCommandService.UnfollowRoom:output_type -> hyapp.room.v1.UnfollowRoomResponse + 107, // 240: hyapp.room.v1.RoomGuardService.CheckSpeakPermission:output_type -> hyapp.room.v1.CheckSpeakPermissionResponse + 109, // 241: hyapp.room.v1.RoomGuardService.VerifyRoomPresence:output_type -> hyapp.room.v1.VerifyRoomPresenceResponse + 67, // 242: hyapp.room.v1.RoomQueryService.AdminListRooms:output_type -> hyapp.room.v1.AdminListRoomsResponse + 69, // 243: hyapp.room.v1.RoomQueryService.AdminGetRoom:output_type -> hyapp.room.v1.AdminGetRoomResponse + 17, // 244: hyapp.room.v1.RoomQueryService.AdminGetRoomRocketConfig:output_type -> hyapp.room.v1.AdminGetRoomRocketConfigResponse + 22, // 245: hyapp.room.v1.RoomQueryService.AdminGetRoomSeatConfig:output_type -> hyapp.room.v1.AdminGetRoomSeatConfigResponse + 28, // 246: hyapp.room.v1.RoomQueryService.AdminListRoomPins:output_type -> hyapp.room.v1.AdminListRoomPinsResponse + 36, // 247: hyapp.room.v1.RoomQueryService.AdminListRobotRooms:output_type -> hyapp.room.v1.AdminListRobotRoomsResponse + 42, // 248: hyapp.room.v1.RoomQueryService.AdminFilterAvailableRoomRobots:output_type -> hyapp.room.v1.AdminFilterAvailableRoomRobotsResponse + 115, // 249: hyapp.room.v1.RoomQueryService.ListRooms:output_type -> hyapp.room.v1.ListRoomsResponse + 115, // 250: hyapp.room.v1.RoomQueryService.ListRoomFeeds:output_type -> hyapp.room.v1.ListRoomsResponse + 117, // 251: hyapp.room.v1.RoomQueryService.ListRoomGiftLeaderboard:output_type -> hyapp.room.v1.ListRoomGiftLeaderboardResponse + 119, // 252: hyapp.room.v1.RoomQueryService.GetMyRoom:output_type -> hyapp.room.v1.GetMyRoomResponse + 121, // 253: hyapp.room.v1.RoomQueryService.GetCurrentRoom:output_type -> hyapp.room.v1.GetCurrentRoomResponse + 123, // 254: hyapp.room.v1.RoomQueryService.GetRoomSnapshot:output_type -> hyapp.room.v1.GetRoomSnapshotResponse + 49, // 255: hyapp.room.v1.RoomQueryService.ListRoomBackgrounds:output_type -> hyapp.room.v1.ListRoomBackgroundsResponse + 125, // 256: hyapp.room.v1.RoomQueryService.GetRoomRocket:output_type -> hyapp.room.v1.GetRoomRocketResponse + 127, // 257: hyapp.room.v1.RoomQueryService.ListRoomOnlineUsers:output_type -> hyapp.room.v1.ListRoomOnlineUsersResponse + 130, // 258: hyapp.room.v1.RoomQueryService.ListRoomBannedUsers:output_type -> hyapp.room.v1.ListRoomBannedUsersResponse + 206, // [206:259] is the sub-list for method output_type + 153, // [153:206] is the sub-list for method input_type + 153, // [153:153] is the sub-list for extension type_name + 153, // [153:153] is the sub-list for extension extendee + 0, // [0:153] is the sub-list for field type_name } func init() { file_proto_room_v1_room_proto_init() } @@ -10712,15 +11579,15 @@ func file_proto_room_v1_room_proto_init() { if File_proto_room_v1_room_proto != nil { return } - file_proto_room_v1_room_proto_msgTypes[44].OneofWrappers = []any{} - file_proto_room_v1_room_proto_msgTypes[60].OneofWrappers = []any{} + file_proto_room_v1_room_proto_msgTypes[54].OneofWrappers = []any{} + file_proto_room_v1_room_proto_msgTypes[70].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_room_v1_room_proto_rawDesc), len(file_proto_room_v1_room_proto_rawDesc)), NumEnums: 0, - NumMessages: 126, + NumMessages: 136, NumExtensions: 0, NumServices: 3, }, diff --git a/api/proto/room/v1/room.proto b/api/proto/room/v1/room.proto index fcfbe978..cbe71c4d 100644 --- a/api/proto/room/v1/room.proto +++ b/api/proto/room/v1/room.proto @@ -338,6 +338,85 @@ message AdminCancelRoomPinResponse { int64 server_time_ms = 2; } +message AdminRobotRoomGiftRule { + repeated string gift_ids = 1; + repeated string lucky_gift_ids = 2; + int64 normal_gift_interval_ms = 3; + int64 lucky_combo_min = 4; + int64 lucky_combo_max = 5; + int64 lucky_pause_min_ms = 6; + int64 lucky_pause_max_ms = 7; +} + +message AdminRobotRoom { + string app_code = 1; + string room_id = 2; + string room_short_id = 3; + string title = 4; + string cover_url = 5; + int64 visible_region_id = 6; + string status = 7; + int64 owner_robot_user_id = 8; + repeated int64 robot_user_ids = 9; + AdminRobotRoomGiftRule gift_rule = 10; + uint64 created_by_admin_id = 11; + int64 created_at_ms = 12; + int64 updated_at_ms = 13; +} + +message AdminListRobotRoomsRequest { + RequestMeta meta = 1; + int32 page = 2; + int32 page_size = 3; + string status = 4; +} + +message AdminListRobotRoomsResponse { + repeated AdminRobotRoom rooms = 1; + int64 total = 2; + int64 server_time_ms = 3; +} + +message AdminCreateRobotRoomRequest { + RequestMeta meta = 1; + int64 owner_robot_user_id = 2; + repeated int64 candidate_robot_user_ids = 3; + int32 min_robot_count = 4; + int32 max_robot_count = 5; + string room_name = 6; + string room_avatar = 7; + int64 visible_region_id = 8; + AdminRobotRoomGiftRule gift_rule = 9; + uint64 admin_id = 10; +} + +message AdminCreateRobotRoomResponse { + AdminRobotRoom room = 1; + int64 server_time_ms = 2; +} + +message AdminSetRobotRoomStatusRequest { + RequestMeta meta = 1; + string status = 2; + uint64 admin_id = 3; +} + +message AdminSetRobotRoomStatusResponse { + AdminRobotRoom room = 1; + int64 server_time_ms = 2; +} + +message AdminFilterAvailableRoomRobotsRequest { + RequestMeta meta = 1; + repeated int64 user_ids = 2; +} + +message AdminFilterAvailableRoomRobotsResponse { + repeated int64 available_user_ids = 1; + repeated int64 occupied_user_ids = 2; + int64 server_time_ms = 3; +} + // RoomBanState 表达单个房间 ban 的治理状态。 message RoomBanState { int64 user_id = 1; @@ -440,6 +519,10 @@ message CreateRoomRequest { string room_short_id = 8; // owner_country_code 由 gateway 按创建者 user-service 当前国家填充,用于发现页国家分类筛选。 string owner_country_code = 9; + // robot_room 只供内部机器人房间编排器设置;gateway 不接受客户端提交该字段。 + bool robot_room = 10; + // robot_user_ids 是该机器人房间允许参与机器人送礼和虚拟上麦的用户集合。 + repeated int64 robot_user_ids = 11; } // CreateRoomResponse 返回新建后的房间快照。 @@ -1149,6 +1232,8 @@ service RoomCommandService { rpc AdminUpdateRoomSeatConfig(AdminUpdateRoomSeatConfigRequest) returns (AdminUpdateRoomSeatConfigResponse); rpc AdminCreateRoomPin(AdminCreateRoomPinRequest) returns (AdminCreateRoomPinResponse); rpc AdminCancelRoomPin(AdminCancelRoomPinRequest) returns (AdminCancelRoomPinResponse); + rpc AdminCreateRobotRoom(AdminCreateRobotRoomRequest) returns (AdminCreateRobotRoomResponse); + rpc AdminSetRobotRoomStatus(AdminSetRobotRoomStatusRequest) returns (AdminSetRobotRoomStatusResponse); rpc MicUp(MicUpRequest) returns (MicUpResponse); rpc MicDown(MicDownRequest) returns (MicDownResponse); rpc ChangeMicSeat(ChangeMicSeatRequest) returns (ChangeMicSeatResponse); @@ -1182,6 +1267,8 @@ service RoomQueryService { rpc AdminGetRoomRocketConfig(AdminGetRoomRocketConfigRequest) returns (AdminGetRoomRocketConfigResponse); rpc AdminGetRoomSeatConfig(AdminGetRoomSeatConfigRequest) returns (AdminGetRoomSeatConfigResponse); rpc AdminListRoomPins(AdminListRoomPinsRequest) returns (AdminListRoomPinsResponse); + rpc AdminListRobotRooms(AdminListRobotRoomsRequest) returns (AdminListRobotRoomsResponse); + rpc AdminFilterAvailableRoomRobots(AdminFilterAvailableRoomRobotsRequest) returns (AdminFilterAvailableRoomRobotsResponse); rpc ListRooms(ListRoomsRequest) returns (ListRoomsResponse); rpc ListRoomFeeds(ListRoomFeedsRequest) returns (ListRoomsResponse); rpc ListRoomGiftLeaderboard(ListRoomGiftLeaderboardRequest) returns (ListRoomGiftLeaderboardResponse); diff --git a/api/proto/room/v1/room_grpc.pb.go b/api/proto/room/v1/room_grpc.pb.go index 03a9df6a..408e5b35 100644 --- a/api/proto/room/v1/room_grpc.pb.go +++ b/api/proto/room/v1/room_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.2 -// - protoc v7.35.0 +// - protoc v5.29.2 // source: proto/room/v1/room.proto package roomv1 @@ -33,6 +33,8 @@ const ( RoomCommandService_AdminUpdateRoomSeatConfig_FullMethodName = "/hyapp.room.v1.RoomCommandService/AdminUpdateRoomSeatConfig" RoomCommandService_AdminCreateRoomPin_FullMethodName = "/hyapp.room.v1.RoomCommandService/AdminCreateRoomPin" RoomCommandService_AdminCancelRoomPin_FullMethodName = "/hyapp.room.v1.RoomCommandService/AdminCancelRoomPin" + RoomCommandService_AdminCreateRobotRoom_FullMethodName = "/hyapp.room.v1.RoomCommandService/AdminCreateRobotRoom" + RoomCommandService_AdminSetRobotRoomStatus_FullMethodName = "/hyapp.room.v1.RoomCommandService/AdminSetRobotRoomStatus" RoomCommandService_MicUp_FullMethodName = "/hyapp.room.v1.RoomCommandService/MicUp" RoomCommandService_MicDown_FullMethodName = "/hyapp.room.v1.RoomCommandService/MicDown" RoomCommandService_ChangeMicSeat_FullMethodName = "/hyapp.room.v1.RoomCommandService/ChangeMicSeat" @@ -73,6 +75,8 @@ type RoomCommandServiceClient interface { AdminUpdateRoomSeatConfig(ctx context.Context, in *AdminUpdateRoomSeatConfigRequest, opts ...grpc.CallOption) (*AdminUpdateRoomSeatConfigResponse, error) AdminCreateRoomPin(ctx context.Context, in *AdminCreateRoomPinRequest, opts ...grpc.CallOption) (*AdminCreateRoomPinResponse, error) AdminCancelRoomPin(ctx context.Context, in *AdminCancelRoomPinRequest, opts ...grpc.CallOption) (*AdminCancelRoomPinResponse, error) + AdminCreateRobotRoom(ctx context.Context, in *AdminCreateRobotRoomRequest, opts ...grpc.CallOption) (*AdminCreateRobotRoomResponse, error) + AdminSetRobotRoomStatus(ctx context.Context, in *AdminSetRobotRoomStatusRequest, opts ...grpc.CallOption) (*AdminSetRobotRoomStatusResponse, error) MicUp(ctx context.Context, in *MicUpRequest, opts ...grpc.CallOption) (*MicUpResponse, error) MicDown(ctx context.Context, in *MicDownRequest, opts ...grpc.CallOption) (*MicDownResponse, error) ChangeMicSeat(ctx context.Context, in *ChangeMicSeatRequest, opts ...grpc.CallOption) (*ChangeMicSeatResponse, error) @@ -241,6 +245,26 @@ func (c *roomCommandServiceClient) AdminCancelRoomPin(ctx context.Context, in *A return out, nil } +func (c *roomCommandServiceClient) AdminCreateRobotRoom(ctx context.Context, in *AdminCreateRobotRoomRequest, opts ...grpc.CallOption) (*AdminCreateRobotRoomResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(AdminCreateRobotRoomResponse) + err := c.cc.Invoke(ctx, RoomCommandService_AdminCreateRobotRoom_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *roomCommandServiceClient) AdminSetRobotRoomStatus(ctx context.Context, in *AdminSetRobotRoomStatusRequest, opts ...grpc.CallOption) (*AdminSetRobotRoomStatusResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(AdminSetRobotRoomStatusResponse) + err := c.cc.Invoke(ctx, RoomCommandService_AdminSetRobotRoomStatus_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *roomCommandServiceClient) MicUp(ctx context.Context, in *MicUpRequest, opts ...grpc.CallOption) (*MicUpResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(MicUpResponse) @@ -441,6 +465,8 @@ type RoomCommandServiceServer interface { AdminUpdateRoomSeatConfig(context.Context, *AdminUpdateRoomSeatConfigRequest) (*AdminUpdateRoomSeatConfigResponse, error) AdminCreateRoomPin(context.Context, *AdminCreateRoomPinRequest) (*AdminCreateRoomPinResponse, error) AdminCancelRoomPin(context.Context, *AdminCancelRoomPinRequest) (*AdminCancelRoomPinResponse, error) + AdminCreateRobotRoom(context.Context, *AdminCreateRobotRoomRequest) (*AdminCreateRobotRoomResponse, error) + AdminSetRobotRoomStatus(context.Context, *AdminSetRobotRoomStatusRequest) (*AdminSetRobotRoomStatusResponse, error) MicUp(context.Context, *MicUpRequest) (*MicUpResponse, error) MicDown(context.Context, *MicDownRequest) (*MicDownResponse, error) ChangeMicSeat(context.Context, *ChangeMicSeatRequest) (*ChangeMicSeatResponse, error) @@ -511,6 +537,12 @@ func (UnimplementedRoomCommandServiceServer) AdminCreateRoomPin(context.Context, func (UnimplementedRoomCommandServiceServer) AdminCancelRoomPin(context.Context, *AdminCancelRoomPinRequest) (*AdminCancelRoomPinResponse, error) { return nil, status.Error(codes.Unimplemented, "method AdminCancelRoomPin not implemented") } +func (UnimplementedRoomCommandServiceServer) AdminCreateRobotRoom(context.Context, *AdminCreateRobotRoomRequest) (*AdminCreateRobotRoomResponse, error) { + return nil, status.Error(codes.Unimplemented, "method AdminCreateRobotRoom not implemented") +} +func (UnimplementedRoomCommandServiceServer) AdminSetRobotRoomStatus(context.Context, *AdminSetRobotRoomStatusRequest) (*AdminSetRobotRoomStatusResponse, error) { + return nil, status.Error(codes.Unimplemented, "method AdminSetRobotRoomStatus not implemented") +} func (UnimplementedRoomCommandServiceServer) MicUp(context.Context, *MicUpRequest) (*MicUpResponse, error) { return nil, status.Error(codes.Unimplemented, "method MicUp not implemented") } @@ -838,6 +870,42 @@ func _RoomCommandService_AdminCancelRoomPin_Handler(srv interface{}, ctx context return interceptor(ctx, in, info, handler) } +func _RoomCommandService_AdminCreateRobotRoom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AdminCreateRobotRoomRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RoomCommandServiceServer).AdminCreateRobotRoom(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: RoomCommandService_AdminCreateRobotRoom_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RoomCommandServiceServer).AdminCreateRobotRoom(ctx, req.(*AdminCreateRobotRoomRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RoomCommandService_AdminSetRobotRoomStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AdminSetRobotRoomStatusRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RoomCommandServiceServer).AdminSetRobotRoomStatus(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: RoomCommandService_AdminSetRobotRoomStatus_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RoomCommandServiceServer).AdminSetRobotRoomStatus(ctx, req.(*AdminSetRobotRoomStatusRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _RoomCommandService_MicUp_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(MicUpRequest) if err := dec(in); err != nil { @@ -1225,6 +1293,14 @@ var RoomCommandService_ServiceDesc = grpc.ServiceDesc{ MethodName: "AdminCancelRoomPin", Handler: _RoomCommandService_AdminCancelRoomPin_Handler, }, + { + MethodName: "AdminCreateRobotRoom", + Handler: _RoomCommandService_AdminCreateRobotRoom_Handler, + }, + { + MethodName: "AdminSetRobotRoomStatus", + Handler: _RoomCommandService_AdminSetRobotRoomStatus_Handler, + }, { MethodName: "MicUp", Handler: _RoomCommandService_MicUp_Handler, @@ -1447,21 +1523,23 @@ var RoomGuardService_ServiceDesc = grpc.ServiceDesc{ } const ( - RoomQueryService_AdminListRooms_FullMethodName = "/hyapp.room.v1.RoomQueryService/AdminListRooms" - RoomQueryService_AdminGetRoom_FullMethodName = "/hyapp.room.v1.RoomQueryService/AdminGetRoom" - RoomQueryService_AdminGetRoomRocketConfig_FullMethodName = "/hyapp.room.v1.RoomQueryService/AdminGetRoomRocketConfig" - RoomQueryService_AdminGetRoomSeatConfig_FullMethodName = "/hyapp.room.v1.RoomQueryService/AdminGetRoomSeatConfig" - RoomQueryService_AdminListRoomPins_FullMethodName = "/hyapp.room.v1.RoomQueryService/AdminListRoomPins" - RoomQueryService_ListRooms_FullMethodName = "/hyapp.room.v1.RoomQueryService/ListRooms" - RoomQueryService_ListRoomFeeds_FullMethodName = "/hyapp.room.v1.RoomQueryService/ListRoomFeeds" - RoomQueryService_ListRoomGiftLeaderboard_FullMethodName = "/hyapp.room.v1.RoomQueryService/ListRoomGiftLeaderboard" - RoomQueryService_GetMyRoom_FullMethodName = "/hyapp.room.v1.RoomQueryService/GetMyRoom" - RoomQueryService_GetCurrentRoom_FullMethodName = "/hyapp.room.v1.RoomQueryService/GetCurrentRoom" - RoomQueryService_GetRoomSnapshot_FullMethodName = "/hyapp.room.v1.RoomQueryService/GetRoomSnapshot" - RoomQueryService_ListRoomBackgrounds_FullMethodName = "/hyapp.room.v1.RoomQueryService/ListRoomBackgrounds" - RoomQueryService_GetRoomRocket_FullMethodName = "/hyapp.room.v1.RoomQueryService/GetRoomRocket" - RoomQueryService_ListRoomOnlineUsers_FullMethodName = "/hyapp.room.v1.RoomQueryService/ListRoomOnlineUsers" - RoomQueryService_ListRoomBannedUsers_FullMethodName = "/hyapp.room.v1.RoomQueryService/ListRoomBannedUsers" + RoomQueryService_AdminListRooms_FullMethodName = "/hyapp.room.v1.RoomQueryService/AdminListRooms" + RoomQueryService_AdminGetRoom_FullMethodName = "/hyapp.room.v1.RoomQueryService/AdminGetRoom" + RoomQueryService_AdminGetRoomRocketConfig_FullMethodName = "/hyapp.room.v1.RoomQueryService/AdminGetRoomRocketConfig" + RoomQueryService_AdminGetRoomSeatConfig_FullMethodName = "/hyapp.room.v1.RoomQueryService/AdminGetRoomSeatConfig" + RoomQueryService_AdminListRoomPins_FullMethodName = "/hyapp.room.v1.RoomQueryService/AdminListRoomPins" + RoomQueryService_AdminListRobotRooms_FullMethodName = "/hyapp.room.v1.RoomQueryService/AdminListRobotRooms" + RoomQueryService_AdminFilterAvailableRoomRobots_FullMethodName = "/hyapp.room.v1.RoomQueryService/AdminFilterAvailableRoomRobots" + RoomQueryService_ListRooms_FullMethodName = "/hyapp.room.v1.RoomQueryService/ListRooms" + RoomQueryService_ListRoomFeeds_FullMethodName = "/hyapp.room.v1.RoomQueryService/ListRoomFeeds" + RoomQueryService_ListRoomGiftLeaderboard_FullMethodName = "/hyapp.room.v1.RoomQueryService/ListRoomGiftLeaderboard" + RoomQueryService_GetMyRoom_FullMethodName = "/hyapp.room.v1.RoomQueryService/GetMyRoom" + RoomQueryService_GetCurrentRoom_FullMethodName = "/hyapp.room.v1.RoomQueryService/GetCurrentRoom" + RoomQueryService_GetRoomSnapshot_FullMethodName = "/hyapp.room.v1.RoomQueryService/GetRoomSnapshot" + RoomQueryService_ListRoomBackgrounds_FullMethodName = "/hyapp.room.v1.RoomQueryService/ListRoomBackgrounds" + RoomQueryService_GetRoomRocket_FullMethodName = "/hyapp.room.v1.RoomQueryService/GetRoomRocket" + RoomQueryService_ListRoomOnlineUsers_FullMethodName = "/hyapp.room.v1.RoomQueryService/ListRoomOnlineUsers" + RoomQueryService_ListRoomBannedUsers_FullMethodName = "/hyapp.room.v1.RoomQueryService/ListRoomBannedUsers" ) // RoomQueryServiceClient is the client API for RoomQueryService service. @@ -1475,6 +1553,8 @@ type RoomQueryServiceClient interface { AdminGetRoomRocketConfig(ctx context.Context, in *AdminGetRoomRocketConfigRequest, opts ...grpc.CallOption) (*AdminGetRoomRocketConfigResponse, error) AdminGetRoomSeatConfig(ctx context.Context, in *AdminGetRoomSeatConfigRequest, opts ...grpc.CallOption) (*AdminGetRoomSeatConfigResponse, error) AdminListRoomPins(ctx context.Context, in *AdminListRoomPinsRequest, opts ...grpc.CallOption) (*AdminListRoomPinsResponse, error) + AdminListRobotRooms(ctx context.Context, in *AdminListRobotRoomsRequest, opts ...grpc.CallOption) (*AdminListRobotRoomsResponse, error) + AdminFilterAvailableRoomRobots(ctx context.Context, in *AdminFilterAvailableRoomRobotsRequest, opts ...grpc.CallOption) (*AdminFilterAvailableRoomRobotsResponse, error) ListRooms(ctx context.Context, in *ListRoomsRequest, opts ...grpc.CallOption) (*ListRoomsResponse, error) ListRoomFeeds(ctx context.Context, in *ListRoomFeedsRequest, opts ...grpc.CallOption) (*ListRoomsResponse, error) ListRoomGiftLeaderboard(ctx context.Context, in *ListRoomGiftLeaderboardRequest, opts ...grpc.CallOption) (*ListRoomGiftLeaderboardResponse, error) @@ -1545,6 +1625,26 @@ func (c *roomQueryServiceClient) AdminListRoomPins(ctx context.Context, in *Admi return out, nil } +func (c *roomQueryServiceClient) AdminListRobotRooms(ctx context.Context, in *AdminListRobotRoomsRequest, opts ...grpc.CallOption) (*AdminListRobotRoomsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(AdminListRobotRoomsResponse) + err := c.cc.Invoke(ctx, RoomQueryService_AdminListRobotRooms_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *roomQueryServiceClient) AdminFilterAvailableRoomRobots(ctx context.Context, in *AdminFilterAvailableRoomRobotsRequest, opts ...grpc.CallOption) (*AdminFilterAvailableRoomRobotsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(AdminFilterAvailableRoomRobotsResponse) + err := c.cc.Invoke(ctx, RoomQueryService_AdminFilterAvailableRoomRobots_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *roomQueryServiceClient) ListRooms(ctx context.Context, in *ListRoomsRequest, opts ...grpc.CallOption) (*ListRoomsResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(ListRoomsResponse) @@ -1656,6 +1756,8 @@ type RoomQueryServiceServer interface { AdminGetRoomRocketConfig(context.Context, *AdminGetRoomRocketConfigRequest) (*AdminGetRoomRocketConfigResponse, error) AdminGetRoomSeatConfig(context.Context, *AdminGetRoomSeatConfigRequest) (*AdminGetRoomSeatConfigResponse, error) AdminListRoomPins(context.Context, *AdminListRoomPinsRequest) (*AdminListRoomPinsResponse, error) + AdminListRobotRooms(context.Context, *AdminListRobotRoomsRequest) (*AdminListRobotRoomsResponse, error) + AdminFilterAvailableRoomRobots(context.Context, *AdminFilterAvailableRoomRobotsRequest) (*AdminFilterAvailableRoomRobotsResponse, error) ListRooms(context.Context, *ListRoomsRequest) (*ListRoomsResponse, error) ListRoomFeeds(context.Context, *ListRoomFeedsRequest) (*ListRoomsResponse, error) ListRoomGiftLeaderboard(context.Context, *ListRoomGiftLeaderboardRequest) (*ListRoomGiftLeaderboardResponse, error) @@ -1691,6 +1793,12 @@ func (UnimplementedRoomQueryServiceServer) AdminGetRoomSeatConfig(context.Contex func (UnimplementedRoomQueryServiceServer) AdminListRoomPins(context.Context, *AdminListRoomPinsRequest) (*AdminListRoomPinsResponse, error) { return nil, status.Error(codes.Unimplemented, "method AdminListRoomPins not implemented") } +func (UnimplementedRoomQueryServiceServer) AdminListRobotRooms(context.Context, *AdminListRobotRoomsRequest) (*AdminListRobotRoomsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method AdminListRobotRooms not implemented") +} +func (UnimplementedRoomQueryServiceServer) AdminFilterAvailableRoomRobots(context.Context, *AdminFilterAvailableRoomRobotsRequest) (*AdminFilterAvailableRoomRobotsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method AdminFilterAvailableRoomRobots not implemented") +} func (UnimplementedRoomQueryServiceServer) ListRooms(context.Context, *ListRoomsRequest) (*ListRoomsResponse, error) { return nil, status.Error(codes.Unimplemented, "method ListRooms not implemented") } @@ -1832,6 +1940,42 @@ func _RoomQueryService_AdminListRoomPins_Handler(srv interface{}, ctx context.Co return interceptor(ctx, in, info, handler) } +func _RoomQueryService_AdminListRobotRooms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AdminListRobotRoomsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RoomQueryServiceServer).AdminListRobotRooms(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: RoomQueryService_AdminListRobotRooms_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RoomQueryServiceServer).AdminListRobotRooms(ctx, req.(*AdminListRobotRoomsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _RoomQueryService_AdminFilterAvailableRoomRobots_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AdminFilterAvailableRoomRobotsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(RoomQueryServiceServer).AdminFilterAvailableRoomRobots(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: RoomQueryService_AdminFilterAvailableRoomRobots_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(RoomQueryServiceServer).AdminFilterAvailableRoomRobots(ctx, req.(*AdminFilterAvailableRoomRobotsRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _RoomQueryService_ListRooms_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(ListRoomsRequest) if err := dec(in); err != nil { @@ -2039,6 +2183,14 @@ var RoomQueryService_ServiceDesc = grpc.ServiceDesc{ MethodName: "AdminListRoomPins", Handler: _RoomQueryService_AdminListRoomPins_Handler, }, + { + MethodName: "AdminListRobotRooms", + Handler: _RoomQueryService_AdminListRobotRooms_Handler, + }, + { + MethodName: "AdminFilterAvailableRoomRobots", + Handler: _RoomQueryService_AdminFilterAvailableRoomRobots_Handler, + }, { MethodName: "ListRooms", Handler: _RoomQueryService_ListRooms_Handler, diff --git a/api/proto/user/v1/auth.pb.go b/api/proto/user/v1/auth.pb.go index 0f025c85..17811e90 100644 --- a/api/proto/user/v1/auth.pb.go +++ b/api/proto/user/v1/auth.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.35.0 +// protoc v5.29.2 // source: proto/user/v1/auth.proto package userv1 diff --git a/api/proto/user/v1/auth_grpc.pb.go b/api/proto/user/v1/auth_grpc.pb.go index bbb67e8d..95aa2802 100644 --- a/api/proto/user/v1/auth_grpc.pb.go +++ b/api/proto/user/v1/auth_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.2 -// - protoc v7.35.0 +// - protoc v5.29.2 // source: proto/user/v1/auth.proto package userv1 diff --git a/api/proto/user/v1/host.pb.go b/api/proto/user/v1/host.pb.go index b351d93d..17f4e8b2 100644 --- a/api/proto/user/v1/host.pb.go +++ b/api/proto/user/v1/host.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.35.0 +// protoc v5.29.2 // source: proto/user/v1/host.proto package userv1 diff --git a/api/proto/user/v1/host_grpc.pb.go b/api/proto/user/v1/host_grpc.pb.go index cd3f8525..b26a8274 100644 --- a/api/proto/user/v1/host_grpc.pb.go +++ b/api/proto/user/v1/host_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.2 -// - protoc v7.35.0 +// - protoc v5.29.2 // source: proto/user/v1/host.proto package userv1 diff --git a/api/proto/user/v1/user.pb.go b/api/proto/user/v1/user.pb.go index 2f4a1917..a6632d01 100644 --- a/api/proto/user/v1/user.pb.go +++ b/api/proto/user/v1/user.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.35.0 +// protoc v5.29.2 // source: proto/user/v1/user.proto package userv1 diff --git a/api/proto/user/v1/user_grpc.pb.go b/api/proto/user/v1/user_grpc.pb.go index d2595a1c..7743cd75 100644 --- a/api/proto/user/v1/user_grpc.pb.go +++ b/api/proto/user/v1/user_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.2 -// - protoc v7.35.0 +// - protoc v5.29.2 // source: proto/user/v1/user.proto package userv1 diff --git a/api/proto/wallet/v1/wallet.pb.go b/api/proto/wallet/v1/wallet.pb.go index 1526c903..0ec30e8f 100644 --- a/api/proto/wallet/v1/wallet.pb.go +++ b/api/proto/wallet/v1/wallet.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.11 -// protoc v7.35.0 +// protoc v5.29.2 // source: proto/wallet/v1/wallet.proto package walletv1 @@ -656,6 +656,124 @@ func (x *BatchDebitGiftResponse) GetReceipts() []*BatchDebitGiftReceipt { return nil } +// DebitRobotGiftRequest 是机器人房间内部送礼扣费命令。 +// 它只扣 ROBOT_COIN,不产生主播钻石、真实充值消费流水或普通礼物墙投影。 +type DebitRobotGiftRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + CommandId string `protobuf:"bytes,1,opt,name=command_id,json=commandId,proto3" json:"command_id,omitempty"` + RoomId string `protobuf:"bytes,2,opt,name=room_id,json=roomId,proto3" json:"room_id,omitempty"` + SenderUserId int64 `protobuf:"varint,3,opt,name=sender_user_id,json=senderUserId,proto3" json:"sender_user_id,omitempty"` + TargetUserId int64 `protobuf:"varint,4,opt,name=target_user_id,json=targetUserId,proto3" json:"target_user_id,omitempty"` + GiftId string `protobuf:"bytes,5,opt,name=gift_id,json=giftId,proto3" json:"gift_id,omitempty"` + GiftCount int32 `protobuf:"varint,6,opt,name=gift_count,json=giftCount,proto3" json:"gift_count,omitempty"` + PriceVersion string `protobuf:"bytes,7,opt,name=price_version,json=priceVersion,proto3" json:"price_version,omitempty"` + AppCode string `protobuf:"bytes,8,opt,name=app_code,json=appCode,proto3" json:"app_code,omitempty"` + RegionId int64 `protobuf:"varint,9,opt,name=region_id,json=regionId,proto3" json:"region_id,omitempty"` + SenderRegionId int64 `protobuf:"varint,10,opt,name=sender_region_id,json=senderRegionId,proto3" json:"sender_region_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DebitRobotGiftRequest) Reset() { + *x = DebitRobotGiftRequest{} + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DebitRobotGiftRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DebitRobotGiftRequest) ProtoMessage() {} + +func (x *DebitRobotGiftRequest) ProtoReflect() protoreflect.Message { + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DebitRobotGiftRequest.ProtoReflect.Descriptor instead. +func (*DebitRobotGiftRequest) Descriptor() ([]byte, []int) { + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{6} +} + +func (x *DebitRobotGiftRequest) GetCommandId() string { + if x != nil { + return x.CommandId + } + return "" +} + +func (x *DebitRobotGiftRequest) GetRoomId() string { + if x != nil { + return x.RoomId + } + return "" +} + +func (x *DebitRobotGiftRequest) GetSenderUserId() int64 { + if x != nil { + return x.SenderUserId + } + return 0 +} + +func (x *DebitRobotGiftRequest) GetTargetUserId() int64 { + if x != nil { + return x.TargetUserId + } + return 0 +} + +func (x *DebitRobotGiftRequest) GetGiftId() string { + if x != nil { + return x.GiftId + } + return "" +} + +func (x *DebitRobotGiftRequest) GetGiftCount() int32 { + if x != nil { + return x.GiftCount + } + return 0 +} + +func (x *DebitRobotGiftRequest) GetPriceVersion() string { + if x != nil { + return x.PriceVersion + } + return "" +} + +func (x *DebitRobotGiftRequest) GetAppCode() string { + if x != nil { + return x.AppCode + } + return "" +} + +func (x *DebitRobotGiftRequest) GetRegionId() int64 { + if x != nil { + return x.RegionId + } + return 0 +} + +func (x *DebitRobotGiftRequest) GetSenderRegionId() int64 { + if x != nil { + return x.SenderRegionId + } + return 0 +} + // AssetBalance 是用户某类资产的余额投影。 type AssetBalance struct { state protoimpl.MessageState `protogen:"open.v1"` @@ -670,7 +788,7 @@ type AssetBalance struct { func (x *AssetBalance) Reset() { *x = AssetBalance{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[6] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -682,7 +800,7 @@ func (x *AssetBalance) String() string { func (*AssetBalance) ProtoMessage() {} func (x *AssetBalance) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[6] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -695,7 +813,7 @@ func (x *AssetBalance) ProtoReflect() protoreflect.Message { // Deprecated: Use AssetBalance.ProtoReflect.Descriptor instead. func (*AssetBalance) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{6} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{7} } func (x *AssetBalance) GetAssetType() string { @@ -746,7 +864,7 @@ type GetBalancesRequest struct { func (x *GetBalancesRequest) Reset() { *x = GetBalancesRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[7] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -758,7 +876,7 @@ func (x *GetBalancesRequest) String() string { func (*GetBalancesRequest) ProtoMessage() {} func (x *GetBalancesRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[7] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -771,7 +889,7 @@ func (x *GetBalancesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBalancesRequest.ProtoReflect.Descriptor instead. func (*GetBalancesRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{7} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{8} } func (x *GetBalancesRequest) GetRequestId() string { @@ -811,7 +929,7 @@ type GetBalancesResponse struct { func (x *GetBalancesResponse) Reset() { *x = GetBalancesResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[8] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -823,7 +941,7 @@ func (x *GetBalancesResponse) String() string { func (*GetBalancesResponse) ProtoMessage() {} func (x *GetBalancesResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[8] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -836,7 +954,7 @@ func (x *GetBalancesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetBalancesResponse.ProtoReflect.Descriptor instead. func (*GetBalancesResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{8} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{9} } func (x *GetBalancesResponse) GetBalances() []*AssetBalance { @@ -861,7 +979,7 @@ type HostSalaryPolicyLevel struct { func (x *HostSalaryPolicyLevel) Reset() { *x = HostSalaryPolicyLevel{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[9] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -873,7 +991,7 @@ func (x *HostSalaryPolicyLevel) String() string { func (*HostSalaryPolicyLevel) ProtoMessage() {} func (x *HostSalaryPolicyLevel) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[9] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[10] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -886,7 +1004,7 @@ func (x *HostSalaryPolicyLevel) ProtoReflect() protoreflect.Message { // Deprecated: Use HostSalaryPolicyLevel.ProtoReflect.Descriptor instead. func (*HostSalaryPolicyLevel) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{9} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{10} } func (x *HostSalaryPolicyLevel) GetLevelNo() int32 { @@ -957,7 +1075,7 @@ type HostSalaryPolicy struct { func (x *HostSalaryPolicy) Reset() { *x = HostSalaryPolicy{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[10] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -969,7 +1087,7 @@ func (x *HostSalaryPolicy) String() string { func (*HostSalaryPolicy) ProtoMessage() {} func (x *HostSalaryPolicy) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[10] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[11] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -982,7 +1100,7 @@ func (x *HostSalaryPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use HostSalaryPolicy.ProtoReflect.Descriptor instead. func (*HostSalaryPolicy) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{10} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{11} } func (x *HostSalaryPolicy) GetPolicyId() uint64 { @@ -1076,7 +1194,7 @@ type GetActiveHostSalaryPolicyRequest struct { func (x *GetActiveHostSalaryPolicyRequest) Reset() { *x = GetActiveHostSalaryPolicyRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[11] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1088,7 +1206,7 @@ func (x *GetActiveHostSalaryPolicyRequest) String() string { func (*GetActiveHostSalaryPolicyRequest) ProtoMessage() {} func (x *GetActiveHostSalaryPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[11] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[12] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1101,7 +1219,7 @@ func (x *GetActiveHostSalaryPolicyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetActiveHostSalaryPolicyRequest.ProtoReflect.Descriptor instead. func (*GetActiveHostSalaryPolicyRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{11} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{12} } func (x *GetActiveHostSalaryPolicyRequest) GetRequestId() string { @@ -1156,7 +1274,7 @@ type GetActiveHostSalaryPolicyResponse struct { func (x *GetActiveHostSalaryPolicyResponse) Reset() { *x = GetActiveHostSalaryPolicyResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[12] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1168,7 +1286,7 @@ func (x *GetActiveHostSalaryPolicyResponse) String() string { func (*GetActiveHostSalaryPolicyResponse) ProtoMessage() {} func (x *GetActiveHostSalaryPolicyResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[12] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[13] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1181,7 +1299,7 @@ func (x *GetActiveHostSalaryPolicyResponse) ProtoReflect() protoreflect.Message // Deprecated: Use GetActiveHostSalaryPolicyResponse.ProtoReflect.Descriptor instead. func (*GetActiveHostSalaryPolicyResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{12} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{13} } func (x *GetActiveHostSalaryPolicyResponse) GetFound() bool { @@ -1213,7 +1331,7 @@ type HostSalaryProgress struct { func (x *HostSalaryProgress) Reset() { *x = HostSalaryProgress{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[13] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1225,7 +1343,7 @@ func (x *HostSalaryProgress) String() string { func (*HostSalaryProgress) ProtoMessage() {} func (x *HostSalaryProgress) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[13] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[14] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1238,7 +1356,7 @@ func (x *HostSalaryProgress) ProtoReflect() protoreflect.Message { // Deprecated: Use HostSalaryProgress.ProtoReflect.Descriptor instead. func (*HostSalaryProgress) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{13} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{14} } func (x *HostSalaryProgress) GetHostUserId() int64 { @@ -1303,7 +1421,7 @@ type GetHostSalaryProgressRequest struct { func (x *GetHostSalaryProgressRequest) Reset() { *x = GetHostSalaryProgressRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[14] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1315,7 +1433,7 @@ func (x *GetHostSalaryProgressRequest) String() string { func (*GetHostSalaryProgressRequest) ProtoMessage() {} func (x *GetHostSalaryProgressRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[14] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[15] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1328,7 +1446,7 @@ func (x *GetHostSalaryProgressRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetHostSalaryProgressRequest.ProtoReflect.Descriptor instead. func (*GetHostSalaryProgressRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{14} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{15} } func (x *GetHostSalaryProgressRequest) GetRequestId() string { @@ -1375,7 +1493,7 @@ type GetHostSalaryProgressResponse struct { func (x *GetHostSalaryProgressResponse) Reset() { *x = GetHostSalaryProgressResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[15] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1387,7 +1505,7 @@ func (x *GetHostSalaryProgressResponse) String() string { func (*GetHostSalaryProgressResponse) ProtoMessage() {} func (x *GetHostSalaryProgressResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[15] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[16] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1400,7 +1518,7 @@ func (x *GetHostSalaryProgressResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetHostSalaryProgressResponse.ProtoReflect.Descriptor instead. func (*GetHostSalaryProgressResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{15} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{16} } func (x *GetHostSalaryProgressResponse) GetProgress() *HostSalaryProgress { @@ -1427,7 +1545,7 @@ type AdminCreditAssetRequest struct { func (x *AdminCreditAssetRequest) Reset() { *x = AdminCreditAssetRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[16] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1439,7 +1557,7 @@ func (x *AdminCreditAssetRequest) String() string { func (*AdminCreditAssetRequest) ProtoMessage() {} func (x *AdminCreditAssetRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[16] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[17] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1452,7 +1570,7 @@ func (x *AdminCreditAssetRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminCreditAssetRequest.ProtoReflect.Descriptor instead. func (*AdminCreditAssetRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{16} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{17} } func (x *AdminCreditAssetRequest) GetCommandId() string { @@ -1521,7 +1639,7 @@ type AdminCreditAssetResponse struct { func (x *AdminCreditAssetResponse) Reset() { *x = AdminCreditAssetResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[17] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1533,7 +1651,7 @@ func (x *AdminCreditAssetResponse) String() string { func (*AdminCreditAssetResponse) ProtoMessage() {} func (x *AdminCreditAssetResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[17] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[18] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1546,7 +1664,7 @@ func (x *AdminCreditAssetResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminCreditAssetResponse.ProtoReflect.Descriptor instead. func (*AdminCreditAssetResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{17} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{18} } func (x *AdminCreditAssetResponse) GetTransactionId() string { @@ -1585,7 +1703,7 @@ type AdminCreditCoinSellerStockRequest struct { func (x *AdminCreditCoinSellerStockRequest) Reset() { *x = AdminCreditCoinSellerStockRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[18] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1597,7 +1715,7 @@ func (x *AdminCreditCoinSellerStockRequest) String() string { func (*AdminCreditCoinSellerStockRequest) ProtoMessage() {} func (x *AdminCreditCoinSellerStockRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[18] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[19] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1610,7 +1728,7 @@ func (x *AdminCreditCoinSellerStockRequest) ProtoReflect() protoreflect.Message // Deprecated: Use AdminCreditCoinSellerStockRequest.ProtoReflect.Descriptor instead. func (*AdminCreditCoinSellerStockRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{18} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{19} } func (x *AdminCreditCoinSellerStockRequest) GetCommandId() string { @@ -1721,7 +1839,7 @@ type AdminCreditCoinSellerStockResponse struct { func (x *AdminCreditCoinSellerStockResponse) Reset() { *x = AdminCreditCoinSellerStockResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[19] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1733,7 +1851,7 @@ func (x *AdminCreditCoinSellerStockResponse) String() string { func (*AdminCreditCoinSellerStockResponse) ProtoMessage() {} func (x *AdminCreditCoinSellerStockResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[19] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[20] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1746,7 +1864,7 @@ func (x *AdminCreditCoinSellerStockResponse) ProtoReflect() protoreflect.Message // Deprecated: Use AdminCreditCoinSellerStockResponse.ProtoReflect.Descriptor instead. func (*AdminCreditCoinSellerStockResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{19} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{20} } func (x *AdminCreditCoinSellerStockResponse) GetTransactionId() string { @@ -1831,7 +1949,7 @@ type TransferCoinFromSellerRequest struct { func (x *TransferCoinFromSellerRequest) Reset() { *x = TransferCoinFromSellerRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[20] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1843,7 +1961,7 @@ func (x *TransferCoinFromSellerRequest) String() string { func (*TransferCoinFromSellerRequest) ProtoMessage() {} func (x *TransferCoinFromSellerRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[20] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[21] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1856,7 +1974,7 @@ func (x *TransferCoinFromSellerRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferCoinFromSellerRequest.ProtoReflect.Descriptor instead. func (*TransferCoinFromSellerRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{20} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{21} } func (x *TransferCoinFromSellerRequest) GetCommandId() string { @@ -1941,7 +2059,7 @@ type TransferCoinFromSellerResponse struct { func (x *TransferCoinFromSellerResponse) Reset() { *x = TransferCoinFromSellerResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[21] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1953,7 +2071,7 @@ func (x *TransferCoinFromSellerResponse) String() string { func (*TransferCoinFromSellerResponse) ProtoMessage() {} func (x *TransferCoinFromSellerResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[21] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[22] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1966,7 +2084,7 @@ func (x *TransferCoinFromSellerResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use TransferCoinFromSellerResponse.ProtoReflect.Descriptor instead. func (*TransferCoinFromSellerResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{21} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{22} } func (x *TransferCoinFromSellerResponse) GetTransactionId() string { @@ -2055,7 +2173,7 @@ type CoinSellerSalaryExchangeRateTier struct { func (x *CoinSellerSalaryExchangeRateTier) Reset() { *x = CoinSellerSalaryExchangeRateTier{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[22] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2067,7 +2185,7 @@ func (x *CoinSellerSalaryExchangeRateTier) String() string { func (*CoinSellerSalaryExchangeRateTier) ProtoMessage() {} func (x *CoinSellerSalaryExchangeRateTier) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[22] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[23] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2080,7 +2198,7 @@ func (x *CoinSellerSalaryExchangeRateTier) ProtoReflect() protoreflect.Message { // Deprecated: Use CoinSellerSalaryExchangeRateTier.ProtoReflect.Descriptor instead. func (*CoinSellerSalaryExchangeRateTier) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{22} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{23} } func (x *CoinSellerSalaryExchangeRateTier) GetRegionId() int64 { @@ -2144,7 +2262,7 @@ type ListCoinSellerSalaryExchangeRateTiersRequest struct { func (x *ListCoinSellerSalaryExchangeRateTiersRequest) Reset() { *x = ListCoinSellerSalaryExchangeRateTiersRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[23] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2156,7 +2274,7 @@ func (x *ListCoinSellerSalaryExchangeRateTiersRequest) String() string { func (*ListCoinSellerSalaryExchangeRateTiersRequest) ProtoMessage() {} func (x *ListCoinSellerSalaryExchangeRateTiersRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[23] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[24] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2169,7 +2287,7 @@ func (x *ListCoinSellerSalaryExchangeRateTiersRequest) ProtoReflect() protorefle // Deprecated: Use ListCoinSellerSalaryExchangeRateTiersRequest.ProtoReflect.Descriptor instead. func (*ListCoinSellerSalaryExchangeRateTiersRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{23} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{24} } func (x *ListCoinSellerSalaryExchangeRateTiersRequest) GetRequestId() string { @@ -2209,7 +2327,7 @@ type ListCoinSellerSalaryExchangeRateTiersResponse struct { func (x *ListCoinSellerSalaryExchangeRateTiersResponse) Reset() { *x = ListCoinSellerSalaryExchangeRateTiersResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[24] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2221,7 +2339,7 @@ func (x *ListCoinSellerSalaryExchangeRateTiersResponse) String() string { func (*ListCoinSellerSalaryExchangeRateTiersResponse) ProtoMessage() {} func (x *ListCoinSellerSalaryExchangeRateTiersResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[24] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[25] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2234,7 +2352,7 @@ func (x *ListCoinSellerSalaryExchangeRateTiersResponse) ProtoReflect() protorefl // Deprecated: Use ListCoinSellerSalaryExchangeRateTiersResponse.ProtoReflect.Descriptor instead. func (*ListCoinSellerSalaryExchangeRateTiersResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{24} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{25} } func (x *ListCoinSellerSalaryExchangeRateTiersResponse) GetTiers() []*CoinSellerSalaryExchangeRateTier { @@ -2259,7 +2377,7 @@ type ExchangeSalaryToCoinRequest struct { func (x *ExchangeSalaryToCoinRequest) Reset() { *x = ExchangeSalaryToCoinRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[25] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2271,7 +2389,7 @@ func (x *ExchangeSalaryToCoinRequest) String() string { func (*ExchangeSalaryToCoinRequest) ProtoMessage() {} func (x *ExchangeSalaryToCoinRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[25] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[26] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2284,7 +2402,7 @@ func (x *ExchangeSalaryToCoinRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ExchangeSalaryToCoinRequest.ProtoReflect.Descriptor instead. func (*ExchangeSalaryToCoinRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{25} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{26} } func (x *ExchangeSalaryToCoinRequest) GetCommandId() string { @@ -2343,7 +2461,7 @@ type ExchangeSalaryToCoinResponse struct { func (x *ExchangeSalaryToCoinResponse) Reset() { *x = ExchangeSalaryToCoinResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[26] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2355,7 +2473,7 @@ func (x *ExchangeSalaryToCoinResponse) String() string { func (*ExchangeSalaryToCoinResponse) ProtoMessage() {} func (x *ExchangeSalaryToCoinResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[26] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[27] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2368,7 +2486,7 @@ func (x *ExchangeSalaryToCoinResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ExchangeSalaryToCoinResponse.ProtoReflect.Descriptor instead. func (*ExchangeSalaryToCoinResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{26} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{27} } func (x *ExchangeSalaryToCoinResponse) GetTransactionId() string { @@ -2430,7 +2548,7 @@ type TransferSalaryToCoinSellerRequest struct { func (x *TransferSalaryToCoinSellerRequest) Reset() { *x = TransferSalaryToCoinSellerRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[27] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2442,7 +2560,7 @@ func (x *TransferSalaryToCoinSellerRequest) String() string { func (*TransferSalaryToCoinSellerRequest) ProtoMessage() {} func (x *TransferSalaryToCoinSellerRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[27] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[28] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2455,7 +2573,7 @@ func (x *TransferSalaryToCoinSellerRequest) ProtoReflect() protoreflect.Message // Deprecated: Use TransferSalaryToCoinSellerRequest.ProtoReflect.Descriptor instead. func (*TransferSalaryToCoinSellerRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{27} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{28} } func (x *TransferSalaryToCoinSellerRequest) GetCommandId() string { @@ -2530,7 +2648,7 @@ type TransferSalaryToCoinSellerResponse struct { func (x *TransferSalaryToCoinSellerResponse) Reset() { *x = TransferSalaryToCoinSellerResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[28] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2542,7 +2660,7 @@ func (x *TransferSalaryToCoinSellerResponse) String() string { func (*TransferSalaryToCoinSellerResponse) ProtoMessage() {} func (x *TransferSalaryToCoinSellerResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[28] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[29] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2555,7 +2673,7 @@ func (x *TransferSalaryToCoinSellerResponse) ProtoReflect() protoreflect.Message // Deprecated: Use TransferSalaryToCoinSellerResponse.ProtoReflect.Descriptor instead. func (*TransferSalaryToCoinSellerResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{28} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{29} } func (x *TransferSalaryToCoinSellerResponse) GetTransactionId() string { @@ -2648,7 +2766,7 @@ type Resource struct { func (x *Resource) Reset() { *x = Resource{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[29] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[30] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2660,7 +2778,7 @@ func (x *Resource) String() string { func (*Resource) ProtoMessage() {} func (x *Resource) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[29] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[30] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2673,7 +2791,7 @@ func (x *Resource) ProtoReflect() protoreflect.Message { // Deprecated: Use Resource.ProtoReflect.Descriptor instead. func (*Resource) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{29} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{30} } func (x *Resource) GetAppCode() string { @@ -2864,7 +2982,7 @@ type ResourceGroupItem struct { func (x *ResourceGroupItem) Reset() { *x = ResourceGroupItem{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[30] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[31] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -2876,7 +2994,7 @@ func (x *ResourceGroupItem) String() string { func (*ResourceGroupItem) ProtoMessage() {} func (x *ResourceGroupItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[30] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[31] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2889,7 +3007,7 @@ func (x *ResourceGroupItem) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceGroupItem.ProtoReflect.Descriptor instead. func (*ResourceGroupItem) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{30} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{31} } func (x *ResourceGroupItem) GetGroupItemId() int64 { @@ -2996,7 +3114,7 @@ type ResourceGroup struct { func (x *ResourceGroup) Reset() { *x = ResourceGroup{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[31] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[32] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3008,7 +3126,7 @@ func (x *ResourceGroup) String() string { func (*ResourceGroup) ProtoMessage() {} func (x *ResourceGroup) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[31] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[32] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3021,7 +3139,7 @@ func (x *ResourceGroup) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceGroup.ProtoReflect.Descriptor instead. func (*ResourceGroup) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{31} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{32} } func (x *ResourceGroup) GetAppCode() string { @@ -3140,7 +3258,7 @@ type GiftConfig struct { func (x *GiftConfig) Reset() { *x = GiftConfig{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[32] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[33] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3152,7 +3270,7 @@ func (x *GiftConfig) String() string { func (*GiftConfig) ProtoMessage() {} func (x *GiftConfig) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[32] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[33] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3165,7 +3283,7 @@ func (x *GiftConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use GiftConfig.ProtoReflect.Descriptor instead. func (*GiftConfig) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{32} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{33} } func (x *GiftConfig) GetAppCode() string { @@ -3347,7 +3465,7 @@ type GiftTypeConfig struct { func (x *GiftTypeConfig) Reset() { *x = GiftTypeConfig{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[33] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[34] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3359,7 +3477,7 @@ func (x *GiftTypeConfig) String() string { func (*GiftTypeConfig) ProtoMessage() {} func (x *GiftTypeConfig) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[33] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[34] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3372,7 +3490,7 @@ func (x *GiftTypeConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use GiftTypeConfig.ProtoReflect.Descriptor instead. func (*GiftTypeConfig) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{33} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{34} } func (x *GiftTypeConfig) GetAppCode() string { @@ -3468,7 +3586,7 @@ type ResourceShopItem struct { func (x *ResourceShopItem) Reset() { *x = ResourceShopItem{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[34] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[35] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3480,7 +3598,7 @@ func (x *ResourceShopItem) String() string { func (*ResourceShopItem) ProtoMessage() {} func (x *ResourceShopItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[34] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[35] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3493,7 +3611,7 @@ func (x *ResourceShopItem) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceShopItem.ProtoReflect.Descriptor instead. func (*ResourceShopItem) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{34} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{35} } func (x *ResourceShopItem) GetAppCode() string { @@ -3623,7 +3741,7 @@ type UserResourceEntitlement struct { func (x *UserResourceEntitlement) Reset() { *x = UserResourceEntitlement{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[35] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[36] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3635,7 +3753,7 @@ func (x *UserResourceEntitlement) String() string { func (*UserResourceEntitlement) ProtoMessage() {} func (x *UserResourceEntitlement) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[35] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[36] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3648,7 +3766,7 @@ func (x *UserResourceEntitlement) ProtoReflect() protoreflect.Message { // Deprecated: Use UserResourceEntitlement.ProtoReflect.Descriptor instead. func (*UserResourceEntitlement) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{35} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{36} } func (x *UserResourceEntitlement) GetAppCode() string { @@ -3767,7 +3885,7 @@ type ResourceGrantItem struct { func (x *ResourceGrantItem) Reset() { *x = ResourceGrantItem{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[36] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3779,7 +3897,7 @@ func (x *ResourceGrantItem) String() string { func (*ResourceGrantItem) ProtoMessage() {} func (x *ResourceGrantItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[36] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[37] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3792,7 +3910,7 @@ func (x *ResourceGrantItem) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceGrantItem.ProtoReflect.Descriptor instead. func (*ResourceGrantItem) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{36} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{37} } func (x *ResourceGrantItem) GetGrantItemId() int64 { @@ -3886,7 +4004,7 @@ type ResourceGrant struct { func (x *ResourceGrant) Reset() { *x = ResourceGrant{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[37] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3898,7 +4016,7 @@ func (x *ResourceGrant) String() string { func (*ResourceGrant) ProtoMessage() {} func (x *ResourceGrant) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[37] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[38] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3911,7 +4029,7 @@ func (x *ResourceGrant) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceGrant.ProtoReflect.Descriptor instead. func (*ResourceGrant) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{37} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{38} } func (x *ResourceGrant) GetAppCode() string { @@ -4020,7 +4138,7 @@ type ResourceGroupItemInput struct { func (x *ResourceGroupItemInput) Reset() { *x = ResourceGroupItemInput{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[38] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4032,7 +4150,7 @@ func (x *ResourceGroupItemInput) String() string { func (*ResourceGroupItemInput) ProtoMessage() {} func (x *ResourceGroupItemInput) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[38] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[39] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4045,7 +4163,7 @@ func (x *ResourceGroupItemInput) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceGroupItemInput.ProtoReflect.Descriptor instead. func (*ResourceGroupItemInput) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{38} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{39} } func (x *ResourceGroupItemInput) GetResourceId() int64 { @@ -4114,7 +4232,7 @@ type ListResourcesRequest struct { func (x *ListResourcesRequest) Reset() { *x = ListResourcesRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[39] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4126,7 +4244,7 @@ func (x *ListResourcesRequest) String() string { func (*ListResourcesRequest) ProtoMessage() {} func (x *ListResourcesRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[39] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[40] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4139,7 +4257,7 @@ func (x *ListResourcesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListResourcesRequest.ProtoReflect.Descriptor instead. func (*ListResourcesRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{39} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{40} } func (x *ListResourcesRequest) GetRequestId() string { @@ -4215,7 +4333,7 @@ type ListResourcesResponse struct { func (x *ListResourcesResponse) Reset() { *x = ListResourcesResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[40] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4227,7 +4345,7 @@ func (x *ListResourcesResponse) String() string { func (*ListResourcesResponse) ProtoMessage() {} func (x *ListResourcesResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[40] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[41] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4240,7 +4358,7 @@ func (x *ListResourcesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListResourcesResponse.ProtoReflect.Descriptor instead. func (*ListResourcesResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{40} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{41} } func (x *ListResourcesResponse) GetResources() []*Resource { @@ -4268,7 +4386,7 @@ type GetResourceRequest struct { func (x *GetResourceRequest) Reset() { *x = GetResourceRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[41] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4280,7 +4398,7 @@ func (x *GetResourceRequest) String() string { func (*GetResourceRequest) ProtoMessage() {} func (x *GetResourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[41] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[42] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4293,7 +4411,7 @@ func (x *GetResourceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetResourceRequest.ProtoReflect.Descriptor instead. func (*GetResourceRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{41} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{42} } func (x *GetResourceRequest) GetRequestId() string { @@ -4326,7 +4444,7 @@ type GetResourceResponse struct { func (x *GetResourceResponse) Reset() { *x = GetResourceResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[42] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4338,7 +4456,7 @@ func (x *GetResourceResponse) String() string { func (*GetResourceResponse) ProtoMessage() {} func (x *GetResourceResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[42] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[43] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4351,7 +4469,7 @@ func (x *GetResourceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetResourceResponse.ProtoReflect.Descriptor instead. func (*GetResourceResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{42} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{43} } func (x *GetResourceResponse) GetResource() *Resource { @@ -4391,7 +4509,7 @@ type CreateResourceRequest struct { func (x *CreateResourceRequest) Reset() { *x = CreateResourceRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[43] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4403,7 +4521,7 @@ func (x *CreateResourceRequest) String() string { func (*CreateResourceRequest) ProtoMessage() {} func (x *CreateResourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[43] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[44] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4416,7 +4534,7 @@ func (x *CreateResourceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateResourceRequest.ProtoReflect.Descriptor instead. func (*CreateResourceRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{43} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{44} } func (x *CreateResourceRequest) GetRequestId() string { @@ -4597,7 +4715,7 @@ type UpdateResourceRequest struct { func (x *UpdateResourceRequest) Reset() { *x = UpdateResourceRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[44] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4609,7 +4727,7 @@ func (x *UpdateResourceRequest) String() string { func (*UpdateResourceRequest) ProtoMessage() {} func (x *UpdateResourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[44] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[45] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4622,7 +4740,7 @@ func (x *UpdateResourceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateResourceRequest.ProtoReflect.Descriptor instead. func (*UpdateResourceRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{44} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{45} } func (x *UpdateResourceRequest) GetRequestId() string { @@ -4792,7 +4910,7 @@ type SetResourceStatusRequest struct { func (x *SetResourceStatusRequest) Reset() { *x = SetResourceStatusRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[45] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4804,7 +4922,7 @@ func (x *SetResourceStatusRequest) String() string { func (*SetResourceStatusRequest) ProtoMessage() {} func (x *SetResourceStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[45] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[46] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4817,7 +4935,7 @@ func (x *SetResourceStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetResourceStatusRequest.ProtoReflect.Descriptor instead. func (*SetResourceStatusRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{45} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{46} } func (x *SetResourceStatusRequest) GetRequestId() string { @@ -4864,7 +4982,7 @@ type ResourceResponse struct { func (x *ResourceResponse) Reset() { *x = ResourceResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[46] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4876,7 +4994,7 @@ func (x *ResourceResponse) String() string { func (*ResourceResponse) ProtoMessage() {} func (x *ResourceResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[46] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[47] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4889,7 +5007,7 @@ func (x *ResourceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceResponse.ProtoReflect.Descriptor instead. func (*ResourceResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{46} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{47} } func (x *ResourceResponse) GetResource() *Resource { @@ -4914,7 +5032,7 @@ type ListResourceGroupsRequest struct { func (x *ListResourceGroupsRequest) Reset() { *x = ListResourceGroupsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[47] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4926,7 +5044,7 @@ func (x *ListResourceGroupsRequest) String() string { func (*ListResourceGroupsRequest) ProtoMessage() {} func (x *ListResourceGroupsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[47] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[48] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4939,7 +5057,7 @@ func (x *ListResourceGroupsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListResourceGroupsRequest.ProtoReflect.Descriptor instead. func (*ListResourceGroupsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{47} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{48} } func (x *ListResourceGroupsRequest) GetRequestId() string { @@ -5001,7 +5119,7 @@ type ListResourceGroupsResponse struct { func (x *ListResourceGroupsResponse) Reset() { *x = ListResourceGroupsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[48] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5013,7 +5131,7 @@ func (x *ListResourceGroupsResponse) String() string { func (*ListResourceGroupsResponse) ProtoMessage() {} func (x *ListResourceGroupsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[48] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[49] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5026,7 +5144,7 @@ func (x *ListResourceGroupsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListResourceGroupsResponse.ProtoReflect.Descriptor instead. func (*ListResourceGroupsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{48} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{49} } func (x *ListResourceGroupsResponse) GetGroups() []*ResourceGroup { @@ -5054,7 +5172,7 @@ type GetResourceGroupRequest struct { func (x *GetResourceGroupRequest) Reset() { *x = GetResourceGroupRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[49] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5066,7 +5184,7 @@ func (x *GetResourceGroupRequest) String() string { func (*GetResourceGroupRequest) ProtoMessage() {} func (x *GetResourceGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[49] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[50] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5079,7 +5197,7 @@ func (x *GetResourceGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetResourceGroupRequest.ProtoReflect.Descriptor instead. func (*GetResourceGroupRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{49} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{50} } func (x *GetResourceGroupRequest) GetRequestId() string { @@ -5112,7 +5230,7 @@ type GetResourceGroupResponse struct { func (x *GetResourceGroupResponse) Reset() { *x = GetResourceGroupResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[50] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5124,7 +5242,7 @@ func (x *GetResourceGroupResponse) String() string { func (*GetResourceGroupResponse) ProtoMessage() {} func (x *GetResourceGroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[50] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[51] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5137,7 +5255,7 @@ func (x *GetResourceGroupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetResourceGroupResponse.ProtoReflect.Descriptor instead. func (*GetResourceGroupResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{50} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{51} } func (x *GetResourceGroupResponse) GetGroup() *ResourceGroup { @@ -5164,7 +5282,7 @@ type CreateResourceGroupRequest struct { func (x *CreateResourceGroupRequest) Reset() { *x = CreateResourceGroupRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[51] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5176,7 +5294,7 @@ func (x *CreateResourceGroupRequest) String() string { func (*CreateResourceGroupRequest) ProtoMessage() {} func (x *CreateResourceGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[51] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[52] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5189,7 +5307,7 @@ func (x *CreateResourceGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateResourceGroupRequest.ProtoReflect.Descriptor instead. func (*CreateResourceGroupRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{51} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{52} } func (x *CreateResourceGroupRequest) GetRequestId() string { @@ -5273,7 +5391,7 @@ type UpdateResourceGroupRequest struct { func (x *UpdateResourceGroupRequest) Reset() { *x = UpdateResourceGroupRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[52] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5285,7 +5403,7 @@ func (x *UpdateResourceGroupRequest) String() string { func (*UpdateResourceGroupRequest) ProtoMessage() {} func (x *UpdateResourceGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[52] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[53] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5298,7 +5416,7 @@ func (x *UpdateResourceGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateResourceGroupRequest.ProtoReflect.Descriptor instead. func (*UpdateResourceGroupRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{52} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{53} } func (x *UpdateResourceGroupRequest) GetRequestId() string { @@ -5384,7 +5502,7 @@ type SetResourceGroupStatusRequest struct { func (x *SetResourceGroupStatusRequest) Reset() { *x = SetResourceGroupStatusRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[53] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5396,7 +5514,7 @@ func (x *SetResourceGroupStatusRequest) String() string { func (*SetResourceGroupStatusRequest) ProtoMessage() {} func (x *SetResourceGroupStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[53] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[54] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5409,7 +5527,7 @@ func (x *SetResourceGroupStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetResourceGroupStatusRequest.ProtoReflect.Descriptor instead. func (*SetResourceGroupStatusRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{53} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{54} } func (x *SetResourceGroupStatusRequest) GetRequestId() string { @@ -5456,7 +5574,7 @@ type ResourceGroupResponse struct { func (x *ResourceGroupResponse) Reset() { *x = ResourceGroupResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[54] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5468,7 +5586,7 @@ func (x *ResourceGroupResponse) String() string { func (*ResourceGroupResponse) ProtoMessage() {} func (x *ResourceGroupResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[54] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[55] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5481,7 +5599,7 @@ func (x *ResourceGroupResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceGroupResponse.ProtoReflect.Descriptor instead. func (*ResourceGroupResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{54} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{55} } func (x *ResourceGroupResponse) GetGroup() *ResourceGroup { @@ -5509,7 +5627,7 @@ type ListGiftConfigsRequest struct { func (x *ListGiftConfigsRequest) Reset() { *x = ListGiftConfigsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[55] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5521,7 +5639,7 @@ func (x *ListGiftConfigsRequest) String() string { func (*ListGiftConfigsRequest) ProtoMessage() {} func (x *ListGiftConfigsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[55] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[56] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5534,7 +5652,7 @@ func (x *ListGiftConfigsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGiftConfigsRequest.ProtoReflect.Descriptor instead. func (*ListGiftConfigsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{55} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{56} } func (x *ListGiftConfigsRequest) GetRequestId() string { @@ -5617,7 +5735,7 @@ type ListGiftConfigsResponse struct { func (x *ListGiftConfigsResponse) Reset() { *x = ListGiftConfigsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[56] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5629,7 +5747,7 @@ func (x *ListGiftConfigsResponse) String() string { func (*ListGiftConfigsResponse) ProtoMessage() {} func (x *ListGiftConfigsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[56] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[57] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5642,7 +5760,7 @@ func (x *ListGiftConfigsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGiftConfigsResponse.ProtoReflect.Descriptor instead. func (*ListGiftConfigsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{56} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{57} } func (x *ListGiftConfigsResponse) GetGifts() []*GiftConfig { @@ -5671,7 +5789,7 @@ type ListGiftTypeConfigsRequest struct { func (x *ListGiftTypeConfigsRequest) Reset() { *x = ListGiftTypeConfigsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[57] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5683,7 +5801,7 @@ func (x *ListGiftTypeConfigsRequest) String() string { func (*ListGiftTypeConfigsRequest) ProtoMessage() {} func (x *ListGiftTypeConfigsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[57] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[58] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5696,7 +5814,7 @@ func (x *ListGiftTypeConfigsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGiftTypeConfigsRequest.ProtoReflect.Descriptor instead. func (*ListGiftTypeConfigsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{57} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{58} } func (x *ListGiftTypeConfigsRequest) GetRequestId() string { @@ -5736,7 +5854,7 @@ type ListGiftTypeConfigsResponse struct { func (x *ListGiftTypeConfigsResponse) Reset() { *x = ListGiftTypeConfigsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[58] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5748,7 +5866,7 @@ func (x *ListGiftTypeConfigsResponse) String() string { func (*ListGiftTypeConfigsResponse) ProtoMessage() {} func (x *ListGiftTypeConfigsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[58] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[59] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5761,7 +5879,7 @@ func (x *ListGiftTypeConfigsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListGiftTypeConfigsResponse.ProtoReflect.Descriptor instead. func (*ListGiftTypeConfigsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{58} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{59} } func (x *ListGiftTypeConfigsResponse) GetGiftTypes() []*GiftTypeConfig { @@ -5787,7 +5905,7 @@ type UpsertGiftTypeConfigRequest struct { func (x *UpsertGiftTypeConfigRequest) Reset() { *x = UpsertGiftTypeConfigRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[59] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5799,7 +5917,7 @@ func (x *UpsertGiftTypeConfigRequest) String() string { func (*UpsertGiftTypeConfigRequest) ProtoMessage() {} func (x *UpsertGiftTypeConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[59] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[60] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5812,7 +5930,7 @@ func (x *UpsertGiftTypeConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertGiftTypeConfigRequest.ProtoReflect.Descriptor instead. func (*UpsertGiftTypeConfigRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{59} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{60} } func (x *UpsertGiftTypeConfigRequest) GetRequestId() string { @@ -5880,7 +5998,7 @@ type GiftTypeConfigResponse struct { func (x *GiftTypeConfigResponse) Reset() { *x = GiftTypeConfigResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[60] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5892,7 +6010,7 @@ func (x *GiftTypeConfigResponse) String() string { func (*GiftTypeConfigResponse) ProtoMessage() {} func (x *GiftTypeConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[60] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[61] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5905,7 +6023,7 @@ func (x *GiftTypeConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GiftTypeConfigResponse.ProtoReflect.Descriptor instead. func (*GiftTypeConfigResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{60} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{61} } func (x *GiftTypeConfigResponse) GetGiftType() *GiftTypeConfig { @@ -5945,7 +6063,7 @@ type CreateGiftConfigRequest struct { func (x *CreateGiftConfigRequest) Reset() { *x = CreateGiftConfigRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[61] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5957,7 +6075,7 @@ func (x *CreateGiftConfigRequest) String() string { func (*CreateGiftConfigRequest) ProtoMessage() {} func (x *CreateGiftConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[61] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[62] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5970,7 +6088,7 @@ func (x *CreateGiftConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateGiftConfigRequest.ProtoReflect.Descriptor instead. func (*CreateGiftConfigRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{61} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{62} } func (x *CreateGiftConfigRequest) GetRequestId() string { @@ -6150,7 +6268,7 @@ type UpdateGiftConfigRequest struct { func (x *UpdateGiftConfigRequest) Reset() { *x = UpdateGiftConfigRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[62] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6162,7 +6280,7 @@ func (x *UpdateGiftConfigRequest) String() string { func (*UpdateGiftConfigRequest) ProtoMessage() {} func (x *UpdateGiftConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[62] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[63] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6175,7 +6293,7 @@ func (x *UpdateGiftConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateGiftConfigRequest.ProtoReflect.Descriptor instead. func (*UpdateGiftConfigRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{62} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{63} } func (x *UpdateGiftConfigRequest) GetRequestId() string { @@ -6338,7 +6456,7 @@ type SetGiftConfigStatusRequest struct { func (x *SetGiftConfigStatusRequest) Reset() { *x = SetGiftConfigStatusRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[63] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[64] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6350,7 +6468,7 @@ func (x *SetGiftConfigStatusRequest) String() string { func (*SetGiftConfigStatusRequest) ProtoMessage() {} func (x *SetGiftConfigStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[63] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[64] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6363,7 +6481,7 @@ func (x *SetGiftConfigStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetGiftConfigStatusRequest.ProtoReflect.Descriptor instead. func (*SetGiftConfigStatusRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{63} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{64} } func (x *SetGiftConfigStatusRequest) GetRequestId() string { @@ -6413,7 +6531,7 @@ type DeleteGiftConfigRequest struct { func (x *DeleteGiftConfigRequest) Reset() { *x = DeleteGiftConfigRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[64] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6425,7 +6543,7 @@ func (x *DeleteGiftConfigRequest) String() string { func (*DeleteGiftConfigRequest) ProtoMessage() {} func (x *DeleteGiftConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[64] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[65] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6438,7 +6556,7 @@ func (x *DeleteGiftConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteGiftConfigRequest.ProtoReflect.Descriptor instead. func (*DeleteGiftConfigRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{64} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{65} } func (x *DeleteGiftConfigRequest) GetRequestId() string { @@ -6478,7 +6596,7 @@ type GiftConfigResponse struct { func (x *GiftConfigResponse) Reset() { *x = GiftConfigResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[65] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6490,7 +6608,7 @@ func (x *GiftConfigResponse) String() string { func (*GiftConfigResponse) ProtoMessage() {} func (x *GiftConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[65] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[66] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6503,7 +6621,7 @@ func (x *GiftConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GiftConfigResponse.ProtoReflect.Descriptor instead. func (*GiftConfigResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{65} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{66} } func (x *GiftConfigResponse) GetGift() *GiftConfig { @@ -6530,7 +6648,7 @@ type GrantResourceRequest struct { func (x *GrantResourceRequest) Reset() { *x = GrantResourceRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[66] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6542,7 +6660,7 @@ func (x *GrantResourceRequest) String() string { func (*GrantResourceRequest) ProtoMessage() {} func (x *GrantResourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[66] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[67] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6555,7 +6673,7 @@ func (x *GrantResourceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GrantResourceRequest.ProtoReflect.Descriptor instead. func (*GrantResourceRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{66} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{67} } func (x *GrantResourceRequest) GetCommandId() string { @@ -6636,7 +6754,7 @@ type GrantResourceGroupRequest struct { func (x *GrantResourceGroupRequest) Reset() { *x = GrantResourceGroupRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[67] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6648,7 +6766,7 @@ func (x *GrantResourceGroupRequest) String() string { func (*GrantResourceGroupRequest) ProtoMessage() {} func (x *GrantResourceGroupRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[67] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[68] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6661,7 +6779,7 @@ func (x *GrantResourceGroupRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GrantResourceGroupRequest.ProtoReflect.Descriptor instead. func (*GrantResourceGroupRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{67} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{68} } func (x *GrantResourceGroupRequest) GetCommandId() string { @@ -6722,7 +6840,7 @@ type ResourceGrantResponse struct { func (x *ResourceGrantResponse) Reset() { *x = ResourceGrantResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[68] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[69] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6734,7 +6852,7 @@ func (x *ResourceGrantResponse) String() string { func (*ResourceGrantResponse) ProtoMessage() {} func (x *ResourceGrantResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[68] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[69] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6747,7 +6865,7 @@ func (x *ResourceGrantResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceGrantResponse.ProtoReflect.Descriptor instead. func (*ResourceGrantResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{68} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{69} } func (x *ResourceGrantResponse) GetGrant() *ResourceGrant { @@ -6770,7 +6888,7 @@ type ListUserResourcesRequest struct { func (x *ListUserResourcesRequest) Reset() { *x = ListUserResourcesRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[69] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[70] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6782,7 +6900,7 @@ func (x *ListUserResourcesRequest) String() string { func (*ListUserResourcesRequest) ProtoMessage() {} func (x *ListUserResourcesRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[69] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[70] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6795,7 +6913,7 @@ func (x *ListUserResourcesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUserResourcesRequest.ProtoReflect.Descriptor instead. func (*ListUserResourcesRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{69} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{70} } func (x *ListUserResourcesRequest) GetRequestId() string { @@ -6842,7 +6960,7 @@ type ListUserResourcesResponse struct { func (x *ListUserResourcesResponse) Reset() { *x = ListUserResourcesResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[70] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[71] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6854,7 +6972,7 @@ func (x *ListUserResourcesResponse) String() string { func (*ListUserResourcesResponse) ProtoMessage() {} func (x *ListUserResourcesResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[70] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[71] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6867,7 +6985,7 @@ func (x *ListUserResourcesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListUserResourcesResponse.ProtoReflect.Descriptor instead. func (*ListUserResourcesResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{70} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{71} } func (x *ListUserResourcesResponse) GetResources() []*UserResourceEntitlement { @@ -6890,7 +7008,7 @@ type EquipUserResourceRequest struct { func (x *EquipUserResourceRequest) Reset() { *x = EquipUserResourceRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[71] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[72] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6902,7 +7020,7 @@ func (x *EquipUserResourceRequest) String() string { func (*EquipUserResourceRequest) ProtoMessage() {} func (x *EquipUserResourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[71] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[72] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6915,7 +7033,7 @@ func (x *EquipUserResourceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EquipUserResourceRequest.ProtoReflect.Descriptor instead. func (*EquipUserResourceRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{71} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{72} } func (x *EquipUserResourceRequest) GetRequestId() string { @@ -6962,7 +7080,7 @@ type EquipUserResourceResponse struct { func (x *EquipUserResourceResponse) Reset() { *x = EquipUserResourceResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[72] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[73] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6974,7 +7092,7 @@ func (x *EquipUserResourceResponse) String() string { func (*EquipUserResourceResponse) ProtoMessage() {} func (x *EquipUserResourceResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[72] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[73] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6987,7 +7105,7 @@ func (x *EquipUserResourceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use EquipUserResourceResponse.ProtoReflect.Descriptor instead. func (*EquipUserResourceResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{72} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{73} } func (x *EquipUserResourceResponse) GetResource() *UserResourceEntitlement { @@ -7009,7 +7127,7 @@ type UnequipUserResourceRequest struct { func (x *UnequipUserResourceRequest) Reset() { *x = UnequipUserResourceRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[73] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[74] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7021,7 +7139,7 @@ func (x *UnequipUserResourceRequest) String() string { func (*UnequipUserResourceRequest) ProtoMessage() {} func (x *UnequipUserResourceRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[73] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[74] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7034,7 +7152,7 @@ func (x *UnequipUserResourceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UnequipUserResourceRequest.ProtoReflect.Descriptor instead. func (*UnequipUserResourceRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{73} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{74} } func (x *UnequipUserResourceRequest) GetRequestId() string { @@ -7076,7 +7194,7 @@ type UnequipUserResourceResponse struct { func (x *UnequipUserResourceResponse) Reset() { *x = UnequipUserResourceResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[74] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[75] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7088,7 +7206,7 @@ func (x *UnequipUserResourceResponse) String() string { func (*UnequipUserResourceResponse) ProtoMessage() {} func (x *UnequipUserResourceResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[74] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[75] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7101,7 +7219,7 @@ func (x *UnequipUserResourceResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UnequipUserResourceResponse.ProtoReflect.Descriptor instead. func (*UnequipUserResourceResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{74} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{75} } func (x *UnequipUserResourceResponse) GetResourceType() string { @@ -7137,7 +7255,7 @@ type BatchGetUserEquippedResourcesRequest struct { func (x *BatchGetUserEquippedResourcesRequest) Reset() { *x = BatchGetUserEquippedResourcesRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[75] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[76] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7149,7 +7267,7 @@ func (x *BatchGetUserEquippedResourcesRequest) String() string { func (*BatchGetUserEquippedResourcesRequest) ProtoMessage() {} func (x *BatchGetUserEquippedResourcesRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[75] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[76] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7162,7 +7280,7 @@ func (x *BatchGetUserEquippedResourcesRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use BatchGetUserEquippedResourcesRequest.ProtoReflect.Descriptor instead. func (*BatchGetUserEquippedResourcesRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{75} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{76} } func (x *BatchGetUserEquippedResourcesRequest) GetRequestId() string { @@ -7203,7 +7321,7 @@ type UserEquippedResources struct { func (x *UserEquippedResources) Reset() { *x = UserEquippedResources{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[76] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[77] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7215,7 +7333,7 @@ func (x *UserEquippedResources) String() string { func (*UserEquippedResources) ProtoMessage() {} func (x *UserEquippedResources) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[76] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[77] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7228,7 +7346,7 @@ func (x *UserEquippedResources) ProtoReflect() protoreflect.Message { // Deprecated: Use UserEquippedResources.ProtoReflect.Descriptor instead. func (*UserEquippedResources) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{76} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{77} } func (x *UserEquippedResources) GetUserId() int64 { @@ -7254,7 +7372,7 @@ type BatchGetUserEquippedResourcesResponse struct { func (x *BatchGetUserEquippedResourcesResponse) Reset() { *x = BatchGetUserEquippedResourcesResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[77] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[78] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7266,7 +7384,7 @@ func (x *BatchGetUserEquippedResourcesResponse) String() string { func (*BatchGetUserEquippedResourcesResponse) ProtoMessage() {} func (x *BatchGetUserEquippedResourcesResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[77] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[78] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7279,7 +7397,7 @@ func (x *BatchGetUserEquippedResourcesResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use BatchGetUserEquippedResourcesResponse.ProtoReflect.Descriptor instead. func (*BatchGetUserEquippedResourcesResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{77} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{78} } func (x *BatchGetUserEquippedResourcesResponse) GetUsers() []*UserEquippedResources { @@ -7303,7 +7421,7 @@ type ListResourceGrantsRequest struct { func (x *ListResourceGrantsRequest) Reset() { *x = ListResourceGrantsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[78] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[79] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7315,7 +7433,7 @@ func (x *ListResourceGrantsRequest) String() string { func (*ListResourceGrantsRequest) ProtoMessage() {} func (x *ListResourceGrantsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[78] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[79] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7328,7 +7446,7 @@ func (x *ListResourceGrantsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListResourceGrantsRequest.ProtoReflect.Descriptor instead. func (*ListResourceGrantsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{78} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{79} } func (x *ListResourceGrantsRequest) GetRequestId() string { @@ -7383,7 +7501,7 @@ type ListResourceGrantsResponse struct { func (x *ListResourceGrantsResponse) Reset() { *x = ListResourceGrantsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[79] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[80] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7395,7 +7513,7 @@ func (x *ListResourceGrantsResponse) String() string { func (*ListResourceGrantsResponse) ProtoMessage() {} func (x *ListResourceGrantsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[79] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[80] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7408,7 +7526,7 @@ func (x *ListResourceGrantsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListResourceGrantsResponse.ProtoReflect.Descriptor instead. func (*ListResourceGrantsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{79} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{80} } func (x *ListResourceGrantsResponse) GetGrants() []*ResourceGrant { @@ -7440,7 +7558,7 @@ type ResourceShopItemInput struct { func (x *ResourceShopItemInput) Reset() { *x = ResourceShopItemInput{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[80] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[81] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7452,7 +7570,7 @@ func (x *ResourceShopItemInput) String() string { func (*ResourceShopItemInput) ProtoMessage() {} func (x *ResourceShopItemInput) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[80] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[81] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7465,7 +7583,7 @@ func (x *ResourceShopItemInput) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceShopItemInput.ProtoReflect.Descriptor instead. func (*ResourceShopItemInput) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{80} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{81} } func (x *ResourceShopItemInput) GetShopItemId() int64 { @@ -7533,7 +7651,7 @@ type ListResourceShopItemsRequest struct { func (x *ListResourceShopItemsRequest) Reset() { *x = ListResourceShopItemsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[81] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[82] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7545,7 +7663,7 @@ func (x *ListResourceShopItemsRequest) String() string { func (*ListResourceShopItemsRequest) ProtoMessage() {} func (x *ListResourceShopItemsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[81] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[82] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7558,7 +7676,7 @@ func (x *ListResourceShopItemsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListResourceShopItemsRequest.ProtoReflect.Descriptor instead. func (*ListResourceShopItemsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{81} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{82} } func (x *ListResourceShopItemsRequest) GetRequestId() string { @@ -7627,7 +7745,7 @@ type ListResourceShopItemsResponse struct { func (x *ListResourceShopItemsResponse) Reset() { *x = ListResourceShopItemsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[82] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[83] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7639,7 +7757,7 @@ func (x *ListResourceShopItemsResponse) String() string { func (*ListResourceShopItemsResponse) ProtoMessage() {} func (x *ListResourceShopItemsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[82] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[83] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7652,7 +7770,7 @@ func (x *ListResourceShopItemsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListResourceShopItemsResponse.ProtoReflect.Descriptor instead. func (*ListResourceShopItemsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{82} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{83} } func (x *ListResourceShopItemsResponse) GetItems() []*ResourceShopItem { @@ -7681,7 +7799,7 @@ type UpsertResourceShopItemsRequest struct { func (x *UpsertResourceShopItemsRequest) Reset() { *x = UpsertResourceShopItemsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[83] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[84] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7693,7 +7811,7 @@ func (x *UpsertResourceShopItemsRequest) String() string { func (*UpsertResourceShopItemsRequest) ProtoMessage() {} func (x *UpsertResourceShopItemsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[83] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[84] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7706,7 +7824,7 @@ func (x *UpsertResourceShopItemsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertResourceShopItemsRequest.ProtoReflect.Descriptor instead. func (*UpsertResourceShopItemsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{83} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{84} } func (x *UpsertResourceShopItemsRequest) GetRequestId() string { @@ -7746,7 +7864,7 @@ type UpsertResourceShopItemsResponse struct { func (x *UpsertResourceShopItemsResponse) Reset() { *x = UpsertResourceShopItemsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[84] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[85] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7758,7 +7876,7 @@ func (x *UpsertResourceShopItemsResponse) String() string { func (*UpsertResourceShopItemsResponse) ProtoMessage() {} func (x *UpsertResourceShopItemsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[84] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[85] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7771,7 +7889,7 @@ func (x *UpsertResourceShopItemsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpsertResourceShopItemsResponse.ProtoReflect.Descriptor instead. func (*UpsertResourceShopItemsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{84} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{85} } func (x *UpsertResourceShopItemsResponse) GetItems() []*ResourceShopItem { @@ -7794,7 +7912,7 @@ type SetResourceShopItemStatusRequest struct { func (x *SetResourceShopItemStatusRequest) Reset() { *x = SetResourceShopItemStatusRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[85] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[86] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7806,7 +7924,7 @@ func (x *SetResourceShopItemStatusRequest) String() string { func (*SetResourceShopItemStatusRequest) ProtoMessage() {} func (x *SetResourceShopItemStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[85] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[86] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7819,7 +7937,7 @@ func (x *SetResourceShopItemStatusRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SetResourceShopItemStatusRequest.ProtoReflect.Descriptor instead. func (*SetResourceShopItemStatusRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{85} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{86} } func (x *SetResourceShopItemStatusRequest) GetRequestId() string { @@ -7866,7 +7984,7 @@ type ResourceShopItemResponse struct { func (x *ResourceShopItemResponse) Reset() { *x = ResourceShopItemResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[86] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[87] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7878,7 +7996,7 @@ func (x *ResourceShopItemResponse) String() string { func (*ResourceShopItemResponse) ProtoMessage() {} func (x *ResourceShopItemResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[86] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[87] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7891,7 +8009,7 @@ func (x *ResourceShopItemResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResourceShopItemResponse.ProtoReflect.Descriptor instead. func (*ResourceShopItemResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{86} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{87} } func (x *ResourceShopItemResponse) GetItem() *ResourceShopItem { @@ -7913,7 +8031,7 @@ type PurchaseResourceShopItemRequest struct { func (x *PurchaseResourceShopItemRequest) Reset() { *x = PurchaseResourceShopItemRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[87] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[88] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7925,7 +8043,7 @@ func (x *PurchaseResourceShopItemRequest) String() string { func (*PurchaseResourceShopItemRequest) ProtoMessage() {} func (x *PurchaseResourceShopItemRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[87] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[88] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -7938,7 +8056,7 @@ func (x *PurchaseResourceShopItemRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PurchaseResourceShopItemRequest.ProtoReflect.Descriptor instead. func (*PurchaseResourceShopItemRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{87} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{88} } func (x *PurchaseResourceShopItemRequest) GetCommandId() string { @@ -7984,7 +8102,7 @@ type PurchaseResourceShopItemResponse struct { func (x *PurchaseResourceShopItemResponse) Reset() { *x = PurchaseResourceShopItemResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[88] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[89] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -7996,7 +8114,7 @@ func (x *PurchaseResourceShopItemResponse) String() string { func (*PurchaseResourceShopItemResponse) ProtoMessage() {} func (x *PurchaseResourceShopItemResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[88] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[89] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8009,7 +8127,7 @@ func (x *PurchaseResourceShopItemResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PurchaseResourceShopItemResponse.ProtoReflect.Descriptor instead. func (*PurchaseResourceShopItemResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{88} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{89} } func (x *PurchaseResourceShopItemResponse) GetOrderId() string { @@ -8087,7 +8205,7 @@ type RechargeBill struct { func (x *RechargeBill) Reset() { *x = RechargeBill{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[89] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[90] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8099,7 +8217,7 @@ func (x *RechargeBill) String() string { func (*RechargeBill) ProtoMessage() {} func (x *RechargeBill) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[89] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[90] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8112,7 +8230,7 @@ func (x *RechargeBill) ProtoReflect() protoreflect.Message { // Deprecated: Use RechargeBill.ProtoReflect.Descriptor instead. func (*RechargeBill) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{89} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{90} } func (x *RechargeBill) GetAppCode() string { @@ -8261,7 +8379,7 @@ type ListRechargeBillsRequest struct { func (x *ListRechargeBillsRequest) Reset() { *x = ListRechargeBillsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[90] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[91] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8273,7 +8391,7 @@ func (x *ListRechargeBillsRequest) String() string { func (*ListRechargeBillsRequest) ProtoMessage() {} func (x *ListRechargeBillsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[90] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[91] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8286,7 +8404,7 @@ func (x *ListRechargeBillsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRechargeBillsRequest.ProtoReflect.Descriptor instead. func (*ListRechargeBillsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{90} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{91} } func (x *ListRechargeBillsRequest) GetRequestId() string { @@ -8383,7 +8501,7 @@ type ListRechargeBillsResponse struct { func (x *ListRechargeBillsResponse) Reset() { *x = ListRechargeBillsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[91] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[92] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8395,7 +8513,7 @@ func (x *ListRechargeBillsResponse) String() string { func (*ListRechargeBillsResponse) ProtoMessage() {} func (x *ListRechargeBillsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[91] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[92] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8408,7 +8526,7 @@ func (x *ListRechargeBillsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRechargeBillsResponse.ProtoReflect.Descriptor instead. func (*ListRechargeBillsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{91} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{92} } func (x *ListRechargeBillsResponse) GetBills() []*RechargeBill { @@ -8436,7 +8554,7 @@ type WalletFeatureFlags struct { func (x *WalletFeatureFlags) Reset() { *x = WalletFeatureFlags{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[92] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[93] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8448,7 +8566,7 @@ func (x *WalletFeatureFlags) String() string { func (*WalletFeatureFlags) ProtoMessage() {} func (x *WalletFeatureFlags) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[92] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[93] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8461,7 +8579,7 @@ func (x *WalletFeatureFlags) ProtoReflect() protoreflect.Message { // Deprecated: Use WalletFeatureFlags.ProtoReflect.Descriptor instead. func (*WalletFeatureFlags) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{92} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{93} } func (x *WalletFeatureFlags) GetRechargeEnabled() bool { @@ -8489,7 +8607,7 @@ type GetWalletOverviewRequest struct { func (x *GetWalletOverviewRequest) Reset() { *x = GetWalletOverviewRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[93] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[94] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8501,7 +8619,7 @@ func (x *GetWalletOverviewRequest) String() string { func (*GetWalletOverviewRequest) ProtoMessage() {} func (x *GetWalletOverviewRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[93] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[94] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8514,7 +8632,7 @@ func (x *GetWalletOverviewRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWalletOverviewRequest.ProtoReflect.Descriptor instead. func (*GetWalletOverviewRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{93} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{94} } func (x *GetWalletOverviewRequest) GetRequestId() string { @@ -8548,7 +8666,7 @@ type GetWalletOverviewResponse struct { func (x *GetWalletOverviewResponse) Reset() { *x = GetWalletOverviewResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[94] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[95] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8560,7 +8678,7 @@ func (x *GetWalletOverviewResponse) String() string { func (*GetWalletOverviewResponse) ProtoMessage() {} func (x *GetWalletOverviewResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[94] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[95] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8573,7 +8691,7 @@ func (x *GetWalletOverviewResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWalletOverviewResponse.ProtoReflect.Descriptor instead. func (*GetWalletOverviewResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{94} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{95} } func (x *GetWalletOverviewResponse) GetBalances() []*AssetBalance { @@ -8601,7 +8719,7 @@ type WalletValueSummary struct { func (x *WalletValueSummary) Reset() { *x = WalletValueSummary{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[95] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[96] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8613,7 +8731,7 @@ func (x *WalletValueSummary) String() string { func (*WalletValueSummary) ProtoMessage() {} func (x *WalletValueSummary) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[95] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[96] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8626,7 +8744,7 @@ func (x *WalletValueSummary) ProtoReflect() protoreflect.Message { // Deprecated: Use WalletValueSummary.ProtoReflect.Descriptor instead. func (*WalletValueSummary) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{95} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{96} } func (x *WalletValueSummary) GetCoinAmount() int64 { @@ -8654,7 +8772,7 @@ type GetWalletValueSummaryRequest struct { func (x *GetWalletValueSummaryRequest) Reset() { *x = GetWalletValueSummaryRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[96] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[97] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8666,7 +8784,7 @@ func (x *GetWalletValueSummaryRequest) String() string { func (*GetWalletValueSummaryRequest) ProtoMessage() {} func (x *GetWalletValueSummaryRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[96] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[97] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8679,7 +8797,7 @@ func (x *GetWalletValueSummaryRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWalletValueSummaryRequest.ProtoReflect.Descriptor instead. func (*GetWalletValueSummaryRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{96} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{97} } func (x *GetWalletValueSummaryRequest) GetRequestId() string { @@ -8712,7 +8830,7 @@ type GetWalletValueSummaryResponse struct { func (x *GetWalletValueSummaryResponse) Reset() { *x = GetWalletValueSummaryResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[97] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[98] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8724,7 +8842,7 @@ func (x *GetWalletValueSummaryResponse) String() string { func (*GetWalletValueSummaryResponse) ProtoMessage() {} func (x *GetWalletValueSummaryResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[97] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[98] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8737,7 +8855,7 @@ func (x *GetWalletValueSummaryResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetWalletValueSummaryResponse.ProtoReflect.Descriptor instead. func (*GetWalletValueSummaryResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{97} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{98} } func (x *GetWalletValueSummaryResponse) GetSummary() *WalletValueSummary { @@ -8775,7 +8893,7 @@ type GiftWallItem struct { func (x *GiftWallItem) Reset() { *x = GiftWallItem{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[98] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[99] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8787,7 +8905,7 @@ func (x *GiftWallItem) String() string { func (*GiftWallItem) ProtoMessage() {} func (x *GiftWallItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[98] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[99] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8800,7 +8918,7 @@ func (x *GiftWallItem) ProtoReflect() protoreflect.Message { // Deprecated: Use GiftWallItem.ProtoReflect.Descriptor instead. func (*GiftWallItem) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{98} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{99} } func (x *GiftWallItem) GetGiftId() string { @@ -8940,7 +9058,7 @@ type GetUserGiftWallRequest struct { func (x *GetUserGiftWallRequest) Reset() { *x = GetUserGiftWallRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[99] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[100] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -8952,7 +9070,7 @@ func (x *GetUserGiftWallRequest) String() string { func (*GetUserGiftWallRequest) ProtoMessage() {} func (x *GetUserGiftWallRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[99] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[100] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -8965,7 +9083,7 @@ func (x *GetUserGiftWallRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserGiftWallRequest.ProtoReflect.Descriptor instead. func (*GetUserGiftWallRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{99} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{100} } func (x *GetUserGiftWallRequest) GetRequestId() string { @@ -9006,7 +9124,7 @@ type GetUserGiftWallResponse struct { func (x *GetUserGiftWallResponse) Reset() { *x = GetUserGiftWallResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[100] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[101] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9018,7 +9136,7 @@ func (x *GetUserGiftWallResponse) String() string { func (*GetUserGiftWallResponse) ProtoMessage() {} func (x *GetUserGiftWallResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[100] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[101] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9031,7 +9149,7 @@ func (x *GetUserGiftWallResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetUserGiftWallResponse.ProtoReflect.Descriptor instead. func (*GetUserGiftWallResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{100} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{101} } func (x *GetUserGiftWallResponse) GetItems() []*GiftWallItem { @@ -9122,7 +9240,7 @@ type RechargeProduct struct { func (x *RechargeProduct) Reset() { *x = RechargeProduct{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[101] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[102] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9134,7 +9252,7 @@ func (x *RechargeProduct) String() string { func (*RechargeProduct) ProtoMessage() {} func (x *RechargeProduct) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[101] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[102] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9147,7 +9265,7 @@ func (x *RechargeProduct) ProtoReflect() protoreflect.Message { // Deprecated: Use RechargeProduct.ProtoReflect.Descriptor instead. func (*RechargeProduct) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{101} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{102} } func (x *RechargeProduct) GetProductId() int64 { @@ -9320,7 +9438,7 @@ type ListRechargeProductsRequest struct { func (x *ListRechargeProductsRequest) Reset() { *x = ListRechargeProductsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[102] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[103] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9332,7 +9450,7 @@ func (x *ListRechargeProductsRequest) String() string { func (*ListRechargeProductsRequest) ProtoMessage() {} func (x *ListRechargeProductsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[102] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[103] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9345,7 +9463,7 @@ func (x *ListRechargeProductsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRechargeProductsRequest.ProtoReflect.Descriptor instead. func (*ListRechargeProductsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{102} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{103} } func (x *ListRechargeProductsRequest) GetRequestId() string { @@ -9400,7 +9518,7 @@ type ListRechargeProductsResponse struct { func (x *ListRechargeProductsResponse) Reset() { *x = ListRechargeProductsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[103] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[104] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9412,7 +9530,7 @@ func (x *ListRechargeProductsResponse) String() string { func (*ListRechargeProductsResponse) ProtoMessage() {} func (x *ListRechargeProductsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[103] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[104] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9425,7 +9543,7 @@ func (x *ListRechargeProductsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRechargeProductsResponse.ProtoReflect.Descriptor instead. func (*ListRechargeProductsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{103} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{104} } func (x *ListRechargeProductsResponse) GetProducts() []*RechargeProduct { @@ -9461,7 +9579,7 @@ type ConfirmGooglePaymentRequest struct { func (x *ConfirmGooglePaymentRequest) Reset() { *x = ConfirmGooglePaymentRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[104] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[105] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9473,7 +9591,7 @@ func (x *ConfirmGooglePaymentRequest) String() string { func (*ConfirmGooglePaymentRequest) ProtoMessage() {} func (x *ConfirmGooglePaymentRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[104] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[105] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9486,7 +9604,7 @@ func (x *ConfirmGooglePaymentRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfirmGooglePaymentRequest.ProtoReflect.Descriptor instead. func (*ConfirmGooglePaymentRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{104} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{105} } func (x *ConfirmGooglePaymentRequest) GetRequestId() string { @@ -9583,7 +9701,7 @@ type ConfirmGooglePaymentResponse struct { func (x *ConfirmGooglePaymentResponse) Reset() { *x = ConfirmGooglePaymentResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[105] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[106] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9595,7 +9713,7 @@ func (x *ConfirmGooglePaymentResponse) String() string { func (*ConfirmGooglePaymentResponse) ProtoMessage() {} func (x *ConfirmGooglePaymentResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[105] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[106] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9608,7 +9726,7 @@ func (x *ConfirmGooglePaymentResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ConfirmGooglePaymentResponse.ProtoReflect.Descriptor instead. func (*ConfirmGooglePaymentResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{105} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{106} } func (x *ConfirmGooglePaymentResponse) GetPaymentOrderId() string { @@ -9692,7 +9810,7 @@ type ListAdminRechargeProductsRequest struct { func (x *ListAdminRechargeProductsRequest) Reset() { *x = ListAdminRechargeProductsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[106] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[107] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9704,7 +9822,7 @@ func (x *ListAdminRechargeProductsRequest) String() string { func (*ListAdminRechargeProductsRequest) ProtoMessage() {} func (x *ListAdminRechargeProductsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[106] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[107] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9717,7 +9835,7 @@ func (x *ListAdminRechargeProductsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAdminRechargeProductsRequest.ProtoReflect.Descriptor instead. func (*ListAdminRechargeProductsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{106} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{107} } func (x *ListAdminRechargeProductsRequest) GetRequestId() string { @@ -9793,7 +9911,7 @@ type ListAdminRechargeProductsResponse struct { func (x *ListAdminRechargeProductsResponse) Reset() { *x = ListAdminRechargeProductsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[107] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[108] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9805,7 +9923,7 @@ func (x *ListAdminRechargeProductsResponse) String() string { func (*ListAdminRechargeProductsResponse) ProtoMessage() {} func (x *ListAdminRechargeProductsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[107] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[108] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9818,7 +9936,7 @@ func (x *ListAdminRechargeProductsResponse) ProtoReflect() protoreflect.Message // Deprecated: Use ListAdminRechargeProductsResponse.ProtoReflect.Descriptor instead. func (*ListAdminRechargeProductsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{107} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{108} } func (x *ListAdminRechargeProductsResponse) GetProducts() []*RechargeProduct { @@ -9855,7 +9973,7 @@ type CreateRechargeProductRequest struct { func (x *CreateRechargeProductRequest) Reset() { *x = CreateRechargeProductRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[108] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[109] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9867,7 +9985,7 @@ func (x *CreateRechargeProductRequest) String() string { func (*CreateRechargeProductRequest) ProtoMessage() {} func (x *CreateRechargeProductRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[108] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[109] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -9880,7 +9998,7 @@ func (x *CreateRechargeProductRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateRechargeProductRequest.ProtoReflect.Descriptor instead. func (*CreateRechargeProductRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{108} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{109} } func (x *CreateRechargeProductRequest) GetRequestId() string { @@ -9980,7 +10098,7 @@ type UpdateRechargeProductRequest struct { func (x *UpdateRechargeProductRequest) Reset() { *x = UpdateRechargeProductRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[109] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[110] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -9992,7 +10110,7 @@ func (x *UpdateRechargeProductRequest) String() string { func (*UpdateRechargeProductRequest) ProtoMessage() {} func (x *UpdateRechargeProductRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[109] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[110] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10005,7 +10123,7 @@ func (x *UpdateRechargeProductRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRechargeProductRequest.ProtoReflect.Descriptor instead. func (*UpdateRechargeProductRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{109} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{110} } func (x *UpdateRechargeProductRequest) GetRequestId() string { @@ -10104,7 +10222,7 @@ type DeleteRechargeProductRequest struct { func (x *DeleteRechargeProductRequest) Reset() { *x = DeleteRechargeProductRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[110] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[111] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10116,7 +10234,7 @@ func (x *DeleteRechargeProductRequest) String() string { func (*DeleteRechargeProductRequest) ProtoMessage() {} func (x *DeleteRechargeProductRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[110] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[111] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10129,7 +10247,7 @@ func (x *DeleteRechargeProductRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRechargeProductRequest.ProtoReflect.Descriptor instead. func (*DeleteRechargeProductRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{110} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{111} } func (x *DeleteRechargeProductRequest) GetRequestId() string { @@ -10169,7 +10287,7 @@ type RechargeProductResponse struct { func (x *RechargeProductResponse) Reset() { *x = RechargeProductResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[111] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[112] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10181,7 +10299,7 @@ func (x *RechargeProductResponse) String() string { func (*RechargeProductResponse) ProtoMessage() {} func (x *RechargeProductResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[111] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[112] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10194,7 +10312,7 @@ func (x *RechargeProductResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RechargeProductResponse.ProtoReflect.Descriptor instead. func (*RechargeProductResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{111} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{112} } func (x *RechargeProductResponse) GetProduct() *RechargeProduct { @@ -10213,7 +10331,7 @@ type DeleteRechargeProductResponse struct { func (x *DeleteRechargeProductResponse) Reset() { *x = DeleteRechargeProductResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[112] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[113] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10225,7 +10343,7 @@ func (x *DeleteRechargeProductResponse) String() string { func (*DeleteRechargeProductResponse) ProtoMessage() {} func (x *DeleteRechargeProductResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[112] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[113] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10238,7 +10356,7 @@ func (x *DeleteRechargeProductResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteRechargeProductResponse.ProtoReflect.Descriptor instead. func (*DeleteRechargeProductResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{112} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{113} } func (x *DeleteRechargeProductResponse) GetDeleted() bool { @@ -10273,7 +10391,7 @@ type ThirdPartyPaymentMethod struct { func (x *ThirdPartyPaymentMethod) Reset() { *x = ThirdPartyPaymentMethod{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[113] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[114] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10285,7 +10403,7 @@ func (x *ThirdPartyPaymentMethod) String() string { func (*ThirdPartyPaymentMethod) ProtoMessage() {} func (x *ThirdPartyPaymentMethod) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[113] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[114] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10298,7 +10416,7 @@ func (x *ThirdPartyPaymentMethod) ProtoReflect() protoreflect.Message { // Deprecated: Use ThirdPartyPaymentMethod.ProtoReflect.Descriptor instead. func (*ThirdPartyPaymentMethod) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{113} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{114} } func (x *ThirdPartyPaymentMethod) GetMethodId() int64 { @@ -10427,7 +10545,7 @@ type ThirdPartyPaymentChannel struct { func (x *ThirdPartyPaymentChannel) Reset() { *x = ThirdPartyPaymentChannel{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[114] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[115] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10439,7 +10557,7 @@ func (x *ThirdPartyPaymentChannel) String() string { func (*ThirdPartyPaymentChannel) ProtoMessage() {} func (x *ThirdPartyPaymentChannel) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[114] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[115] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10452,7 +10570,7 @@ func (x *ThirdPartyPaymentChannel) ProtoReflect() protoreflect.Message { // Deprecated: Use ThirdPartyPaymentChannel.ProtoReflect.Descriptor instead. func (*ThirdPartyPaymentChannel) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{114} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{115} } func (x *ThirdPartyPaymentChannel) GetAppCode() string { @@ -10510,7 +10628,7 @@ type ListThirdPartyPaymentChannelsRequest struct { func (x *ListThirdPartyPaymentChannelsRequest) Reset() { *x = ListThirdPartyPaymentChannelsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[115] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[116] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10522,7 +10640,7 @@ func (x *ListThirdPartyPaymentChannelsRequest) String() string { func (*ListThirdPartyPaymentChannelsRequest) ProtoMessage() {} func (x *ListThirdPartyPaymentChannelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[115] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[116] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10535,7 +10653,7 @@ func (x *ListThirdPartyPaymentChannelsRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use ListThirdPartyPaymentChannelsRequest.ProtoReflect.Descriptor instead. func (*ListThirdPartyPaymentChannelsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{115} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{116} } func (x *ListThirdPartyPaymentChannelsRequest) GetRequestId() string { @@ -10582,7 +10700,7 @@ type ListThirdPartyPaymentChannelsResponse struct { func (x *ListThirdPartyPaymentChannelsResponse) Reset() { *x = ListThirdPartyPaymentChannelsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[116] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[117] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10594,7 +10712,7 @@ func (x *ListThirdPartyPaymentChannelsResponse) String() string { func (*ListThirdPartyPaymentChannelsResponse) ProtoMessage() {} func (x *ListThirdPartyPaymentChannelsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[116] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[117] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10607,7 +10725,7 @@ func (x *ListThirdPartyPaymentChannelsResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use ListThirdPartyPaymentChannelsResponse.ProtoReflect.Descriptor instead. func (*ListThirdPartyPaymentChannelsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{116} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{117} } func (x *ListThirdPartyPaymentChannelsResponse) GetChannels() []*ThirdPartyPaymentChannel { @@ -10630,7 +10748,7 @@ type SetThirdPartyPaymentMethodStatusRequest struct { func (x *SetThirdPartyPaymentMethodStatusRequest) Reset() { *x = SetThirdPartyPaymentMethodStatusRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[117] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[118] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10642,7 +10760,7 @@ func (x *SetThirdPartyPaymentMethodStatusRequest) String() string { func (*SetThirdPartyPaymentMethodStatusRequest) ProtoMessage() {} func (x *SetThirdPartyPaymentMethodStatusRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[117] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[118] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10655,7 +10773,7 @@ func (x *SetThirdPartyPaymentMethodStatusRequest) ProtoReflect() protoreflect.Me // Deprecated: Use SetThirdPartyPaymentMethodStatusRequest.ProtoReflect.Descriptor instead. func (*SetThirdPartyPaymentMethodStatusRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{117} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{118} } func (x *SetThirdPartyPaymentMethodStatusRequest) GetRequestId() string { @@ -10702,7 +10820,7 @@ type ThirdPartyPaymentMethodResponse struct { func (x *ThirdPartyPaymentMethodResponse) Reset() { *x = ThirdPartyPaymentMethodResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[118] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[119] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10714,7 +10832,7 @@ func (x *ThirdPartyPaymentMethodResponse) String() string { func (*ThirdPartyPaymentMethodResponse) ProtoMessage() {} func (x *ThirdPartyPaymentMethodResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[118] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[119] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10727,7 +10845,7 @@ func (x *ThirdPartyPaymentMethodResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ThirdPartyPaymentMethodResponse.ProtoReflect.Descriptor instead. func (*ThirdPartyPaymentMethodResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{118} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{119} } func (x *ThirdPartyPaymentMethodResponse) GetMethod() *ThirdPartyPaymentMethod { @@ -10750,7 +10868,7 @@ type UpdateThirdPartyPaymentRateRequest struct { func (x *UpdateThirdPartyPaymentRateRequest) Reset() { *x = UpdateThirdPartyPaymentRateRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[119] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[120] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10762,7 +10880,7 @@ func (x *UpdateThirdPartyPaymentRateRequest) String() string { func (*UpdateThirdPartyPaymentRateRequest) ProtoMessage() {} func (x *UpdateThirdPartyPaymentRateRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[119] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[120] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10775,7 +10893,7 @@ func (x *UpdateThirdPartyPaymentRateRequest) ProtoReflect() protoreflect.Message // Deprecated: Use UpdateThirdPartyPaymentRateRequest.ProtoReflect.Descriptor instead. func (*UpdateThirdPartyPaymentRateRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{119} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{120} } func (x *UpdateThirdPartyPaymentRateRequest) GetRequestId() string { @@ -10827,7 +10945,7 @@ type H5RechargeOptionsRequest struct { func (x *H5RechargeOptionsRequest) Reset() { *x = H5RechargeOptionsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[120] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[121] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10839,7 +10957,7 @@ func (x *H5RechargeOptionsRequest) String() string { func (*H5RechargeOptionsRequest) ProtoMessage() {} func (x *H5RechargeOptionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[120] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[121] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10852,7 +10970,7 @@ func (x *H5RechargeOptionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use H5RechargeOptionsRequest.ProtoReflect.Descriptor instead. func (*H5RechargeOptionsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{120} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{121} } func (x *H5RechargeOptionsRequest) GetRequestId() string { @@ -10909,7 +11027,7 @@ type H5RechargeOptionsResponse struct { func (x *H5RechargeOptionsResponse) Reset() { *x = H5RechargeOptionsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[121] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[122] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -10921,7 +11039,7 @@ func (x *H5RechargeOptionsResponse) String() string { func (*H5RechargeOptionsResponse) ProtoMessage() {} func (x *H5RechargeOptionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[121] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[122] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -10934,7 +11052,7 @@ func (x *H5RechargeOptionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use H5RechargeOptionsResponse.ProtoReflect.Descriptor instead. func (*H5RechargeOptionsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{121} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{122} } func (x *H5RechargeOptionsResponse) GetProducts() []*RechargeProduct { @@ -11000,7 +11118,7 @@ type ExternalRechargeOrder struct { func (x *ExternalRechargeOrder) Reset() { *x = ExternalRechargeOrder{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[122] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[123] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11012,7 +11130,7 @@ func (x *ExternalRechargeOrder) String() string { func (*ExternalRechargeOrder) ProtoMessage() {} func (x *ExternalRechargeOrder) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[122] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[123] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11025,7 +11143,7 @@ func (x *ExternalRechargeOrder) ProtoReflect() protoreflect.Message { // Deprecated: Use ExternalRechargeOrder.ProtoReflect.Descriptor instead. func (*ExternalRechargeOrder) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{122} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{123} } func (x *ExternalRechargeOrder) GetOrderId() string { @@ -11243,7 +11361,7 @@ type CreateH5RechargeOrderRequest struct { func (x *CreateH5RechargeOrderRequest) Reset() { *x = CreateH5RechargeOrderRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[123] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[124] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11255,7 +11373,7 @@ func (x *CreateH5RechargeOrderRequest) String() string { func (*CreateH5RechargeOrderRequest) ProtoMessage() {} func (x *CreateH5RechargeOrderRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[123] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[124] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11268,7 +11386,7 @@ func (x *CreateH5RechargeOrderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateH5RechargeOrderRequest.ProtoReflect.Descriptor instead. func (*CreateH5RechargeOrderRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{123} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{124} } func (x *CreateH5RechargeOrderRequest) GetRequestId() string { @@ -11403,7 +11521,7 @@ type SubmitH5RechargeTxRequest struct { func (x *SubmitH5RechargeTxRequest) Reset() { *x = SubmitH5RechargeTxRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[124] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[125] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11415,7 +11533,7 @@ func (x *SubmitH5RechargeTxRequest) String() string { func (*SubmitH5RechargeTxRequest) ProtoMessage() {} func (x *SubmitH5RechargeTxRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[124] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[125] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11428,7 +11546,7 @@ func (x *SubmitH5RechargeTxRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use SubmitH5RechargeTxRequest.ProtoReflect.Descriptor instead. func (*SubmitH5RechargeTxRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{124} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{125} } func (x *SubmitH5RechargeTxRequest) GetRequestId() string { @@ -11478,7 +11596,7 @@ type GetH5RechargeOrderRequest struct { func (x *GetH5RechargeOrderRequest) Reset() { *x = GetH5RechargeOrderRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[125] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[126] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11490,7 +11608,7 @@ func (x *GetH5RechargeOrderRequest) String() string { func (*GetH5RechargeOrderRequest) ProtoMessage() {} func (x *GetH5RechargeOrderRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[125] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[126] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11503,7 +11621,7 @@ func (x *GetH5RechargeOrderRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetH5RechargeOrderRequest.ProtoReflect.Descriptor instead. func (*GetH5RechargeOrderRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{125} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{126} } func (x *GetH5RechargeOrderRequest) GetRequestId() string { @@ -11543,7 +11661,7 @@ type H5RechargeOrderResponse struct { func (x *H5RechargeOrderResponse) Reset() { *x = H5RechargeOrderResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[126] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[127] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11555,7 +11673,7 @@ func (x *H5RechargeOrderResponse) String() string { func (*H5RechargeOrderResponse) ProtoMessage() {} func (x *H5RechargeOrderResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[126] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[127] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11568,7 +11686,7 @@ func (x *H5RechargeOrderResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use H5RechargeOrderResponse.ProtoReflect.Descriptor instead. func (*H5RechargeOrderResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{126} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{127} } func (x *H5RechargeOrderResponse) GetOrder() *ExternalRechargeOrder { @@ -11591,7 +11709,7 @@ type HandleMifapayNotifyRequest struct { func (x *HandleMifapayNotifyRequest) Reset() { *x = HandleMifapayNotifyRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[127] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[128] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11603,7 +11721,7 @@ func (x *HandleMifapayNotifyRequest) String() string { func (*HandleMifapayNotifyRequest) ProtoMessage() {} func (x *HandleMifapayNotifyRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[127] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[128] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11616,7 +11734,7 @@ func (x *HandleMifapayNotifyRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use HandleMifapayNotifyRequest.ProtoReflect.Descriptor instead. func (*HandleMifapayNotifyRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{127} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{128} } func (x *HandleMifapayNotifyRequest) GetRequestId() string { @@ -11665,7 +11783,7 @@ type HandleMifapayNotifyResponse struct { func (x *HandleMifapayNotifyResponse) Reset() { *x = HandleMifapayNotifyResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[128] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[129] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11677,7 +11795,7 @@ func (x *HandleMifapayNotifyResponse) String() string { func (*HandleMifapayNotifyResponse) ProtoMessage() {} func (x *HandleMifapayNotifyResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[128] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[129] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11690,7 +11808,7 @@ func (x *HandleMifapayNotifyResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use HandleMifapayNotifyResponse.ProtoReflect.Descriptor instead. func (*HandleMifapayNotifyResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{128} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{129} } func (x *HandleMifapayNotifyResponse) GetAccepted() bool { @@ -11728,7 +11846,7 @@ type DiamondExchangeRule struct { func (x *DiamondExchangeRule) Reset() { *x = DiamondExchangeRule{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[129] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[130] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11740,7 +11858,7 @@ func (x *DiamondExchangeRule) String() string { func (*DiamondExchangeRule) ProtoMessage() {} func (x *DiamondExchangeRule) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[129] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[130] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11753,7 +11871,7 @@ func (x *DiamondExchangeRule) ProtoReflect() protoreflect.Message { // Deprecated: Use DiamondExchangeRule.ProtoReflect.Descriptor instead. func (*DiamondExchangeRule) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{129} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{130} } func (x *DiamondExchangeRule) GetExchangeType() string { @@ -11809,7 +11927,7 @@ type GetDiamondExchangeConfigRequest struct { func (x *GetDiamondExchangeConfigRequest) Reset() { *x = GetDiamondExchangeConfigRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[130] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[131] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11821,7 +11939,7 @@ func (x *GetDiamondExchangeConfigRequest) String() string { func (*GetDiamondExchangeConfigRequest) ProtoMessage() {} func (x *GetDiamondExchangeConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[130] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[131] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11834,7 +11952,7 @@ func (x *GetDiamondExchangeConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDiamondExchangeConfigRequest.ProtoReflect.Descriptor instead. func (*GetDiamondExchangeConfigRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{130} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{131} } func (x *GetDiamondExchangeConfigRequest) GetRequestId() string { @@ -11867,7 +11985,7 @@ type GetDiamondExchangeConfigResponse struct { func (x *GetDiamondExchangeConfigResponse) Reset() { *x = GetDiamondExchangeConfigResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[131] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[132] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11879,7 +11997,7 @@ func (x *GetDiamondExchangeConfigResponse) String() string { func (*GetDiamondExchangeConfigResponse) ProtoMessage() {} func (x *GetDiamondExchangeConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[131] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[132] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11892,7 +12010,7 @@ func (x *GetDiamondExchangeConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetDiamondExchangeConfigResponse.ProtoReflect.Descriptor instead. func (*GetDiamondExchangeConfigResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{131} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{132} } func (x *GetDiamondExchangeConfigResponse) GetRules() []*DiamondExchangeRule { @@ -11922,7 +12040,7 @@ type WalletTransaction struct { func (x *WalletTransaction) Reset() { *x = WalletTransaction{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[132] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[133] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -11934,7 +12052,7 @@ func (x *WalletTransaction) String() string { func (*WalletTransaction) ProtoMessage() {} func (x *WalletTransaction) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[132] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[133] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -11947,7 +12065,7 @@ func (x *WalletTransaction) ProtoReflect() protoreflect.Message { // Deprecated: Use WalletTransaction.ProtoReflect.Descriptor instead. func (*WalletTransaction) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{132} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{133} } func (x *WalletTransaction) GetEntryId() int64 { @@ -12041,7 +12159,7 @@ type ListWalletTransactionsRequest struct { func (x *ListWalletTransactionsRequest) Reset() { *x = ListWalletTransactionsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[133] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[134] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12053,7 +12171,7 @@ func (x *ListWalletTransactionsRequest) String() string { func (*ListWalletTransactionsRequest) ProtoMessage() {} func (x *ListWalletTransactionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[133] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[134] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12066,7 +12184,7 @@ func (x *ListWalletTransactionsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWalletTransactionsRequest.ProtoReflect.Descriptor instead. func (*ListWalletTransactionsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{133} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{134} } func (x *ListWalletTransactionsRequest) GetRequestId() string { @@ -12121,7 +12239,7 @@ type ListWalletTransactionsResponse struct { func (x *ListWalletTransactionsResponse) Reset() { *x = ListWalletTransactionsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[134] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[135] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12133,7 +12251,7 @@ func (x *ListWalletTransactionsResponse) String() string { func (*ListWalletTransactionsResponse) ProtoMessage() {} func (x *ListWalletTransactionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[134] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[135] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12146,7 +12264,7 @@ func (x *ListWalletTransactionsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListWalletTransactionsResponse.ProtoReflect.Descriptor instead. func (*ListWalletTransactionsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{134} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{135} } func (x *ListWalletTransactionsResponse) GetTransactions() []*WalletTransaction { @@ -12180,7 +12298,7 @@ type VipRewardItem struct { func (x *VipRewardItem) Reset() { *x = VipRewardItem{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[135] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[136] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12192,7 +12310,7 @@ func (x *VipRewardItem) String() string { func (*VipRewardItem) ProtoMessage() {} func (x *VipRewardItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[135] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[136] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12205,7 +12323,7 @@ func (x *VipRewardItem) ProtoReflect() protoreflect.Message { // Deprecated: Use VipRewardItem.ProtoReflect.Descriptor instead. func (*VipRewardItem) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{135} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{136} } func (x *VipRewardItem) GetResourceId() int64 { @@ -12294,7 +12412,7 @@ type VipLevel struct { func (x *VipLevel) Reset() { *x = VipLevel{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[136] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[137] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12306,7 +12424,7 @@ func (x *VipLevel) String() string { func (*VipLevel) ProtoMessage() {} func (x *VipLevel) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[136] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[137] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12319,7 +12437,7 @@ func (x *VipLevel) ProtoReflect() protoreflect.Message { // Deprecated: Use VipLevel.ProtoReflect.Descriptor instead. func (*VipLevel) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{136} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{137} } func (x *VipLevel) GetLevel() int32 { @@ -12442,7 +12560,7 @@ type UserVip struct { func (x *UserVip) Reset() { *x = UserVip{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[137] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[138] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12454,7 +12572,7 @@ func (x *UserVip) String() string { func (*UserVip) ProtoMessage() {} func (x *UserVip) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[137] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[138] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12467,7 +12585,7 @@ func (x *UserVip) ProtoReflect() protoreflect.Message { // Deprecated: Use UserVip.ProtoReflect.Descriptor instead. func (*UserVip) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{137} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{138} } func (x *UserVip) GetUserId() int64 { @@ -12530,7 +12648,7 @@ type ListVipPackagesRequest struct { func (x *ListVipPackagesRequest) Reset() { *x = ListVipPackagesRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[138] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[139] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12542,7 +12660,7 @@ func (x *ListVipPackagesRequest) String() string { func (*ListVipPackagesRequest) ProtoMessage() {} func (x *ListVipPackagesRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[138] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[139] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12555,7 +12673,7 @@ func (x *ListVipPackagesRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVipPackagesRequest.ProtoReflect.Descriptor instead. func (*ListVipPackagesRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{138} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{139} } func (x *ListVipPackagesRequest) GetRequestId() string { @@ -12589,7 +12707,7 @@ type ListVipPackagesResponse struct { func (x *ListVipPackagesResponse) Reset() { *x = ListVipPackagesResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[139] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[140] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12601,7 +12719,7 @@ func (x *ListVipPackagesResponse) String() string { func (*ListVipPackagesResponse) ProtoMessage() {} func (x *ListVipPackagesResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[139] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[140] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12614,7 +12732,7 @@ func (x *ListVipPackagesResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListVipPackagesResponse.ProtoReflect.Descriptor instead. func (*ListVipPackagesResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{139} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{140} } func (x *ListVipPackagesResponse) GetCurrentVip() *UserVip { @@ -12642,7 +12760,7 @@ type GetMyVipRequest struct { func (x *GetMyVipRequest) Reset() { *x = GetMyVipRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[140] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[141] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12654,7 +12772,7 @@ func (x *GetMyVipRequest) String() string { func (*GetMyVipRequest) ProtoMessage() {} func (x *GetMyVipRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[140] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[141] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12667,7 +12785,7 @@ func (x *GetMyVipRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyVipRequest.ProtoReflect.Descriptor instead. func (*GetMyVipRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{140} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{141} } func (x *GetMyVipRequest) GetRequestId() string { @@ -12700,7 +12818,7 @@ type GetMyVipResponse struct { func (x *GetMyVipResponse) Reset() { *x = GetMyVipResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[141] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[142] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12712,7 +12830,7 @@ func (x *GetMyVipResponse) String() string { func (*GetMyVipResponse) ProtoMessage() {} func (x *GetMyVipResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[141] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[142] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12725,7 +12843,7 @@ func (x *GetMyVipResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetMyVipResponse.ProtoReflect.Descriptor instead. func (*GetMyVipResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{141} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{142} } func (x *GetMyVipResponse) GetVip() *UserVip { @@ -12747,7 +12865,7 @@ type PurchaseVipRequest struct { func (x *PurchaseVipRequest) Reset() { *x = PurchaseVipRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[142] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[143] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12759,7 +12877,7 @@ func (x *PurchaseVipRequest) String() string { func (*PurchaseVipRequest) ProtoMessage() {} func (x *PurchaseVipRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[142] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[143] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12772,7 +12890,7 @@ func (x *PurchaseVipRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use PurchaseVipRequest.ProtoReflect.Descriptor instead. func (*PurchaseVipRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{142} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{143} } func (x *PurchaseVipRequest) GetCommandId() string { @@ -12817,7 +12935,7 @@ type PurchaseVipResponse struct { func (x *PurchaseVipResponse) Reset() { *x = PurchaseVipResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[143] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[144] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12829,7 +12947,7 @@ func (x *PurchaseVipResponse) String() string { func (*PurchaseVipResponse) ProtoMessage() {} func (x *PurchaseVipResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[143] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[144] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12842,7 +12960,7 @@ func (x *PurchaseVipResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use PurchaseVipResponse.ProtoReflect.Descriptor instead. func (*PurchaseVipResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{143} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{144} } func (x *PurchaseVipResponse) GetOrderId() string { @@ -12901,7 +13019,7 @@ type DebitCPBreakupFeeRequest struct { func (x *DebitCPBreakupFeeRequest) Reset() { *x = DebitCPBreakupFeeRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[144] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[145] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12913,7 +13031,7 @@ func (x *DebitCPBreakupFeeRequest) String() string { func (*DebitCPBreakupFeeRequest) ProtoMessage() {} func (x *DebitCPBreakupFeeRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[144] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[145] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -12926,7 +13044,7 @@ func (x *DebitCPBreakupFeeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DebitCPBreakupFeeRequest.ProtoReflect.Descriptor instead. func (*DebitCPBreakupFeeRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{144} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{145} } func (x *DebitCPBreakupFeeRequest) GetCommandId() string { @@ -12983,7 +13101,7 @@ type DebitCPBreakupFeeResponse struct { func (x *DebitCPBreakupFeeResponse) Reset() { *x = DebitCPBreakupFeeResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[145] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[146] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -12995,7 +13113,7 @@ func (x *DebitCPBreakupFeeResponse) String() string { func (*DebitCPBreakupFeeResponse) ProtoMessage() {} func (x *DebitCPBreakupFeeResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[145] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[146] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13008,7 +13126,7 @@ func (x *DebitCPBreakupFeeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DebitCPBreakupFeeResponse.ProtoReflect.Descriptor instead. func (*DebitCPBreakupFeeResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{145} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{146} } func (x *DebitCPBreakupFeeResponse) GetTransactionId() string { @@ -13054,7 +13172,7 @@ type GrantVipRequest struct { func (x *GrantVipRequest) Reset() { *x = GrantVipRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[146] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[147] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13066,7 +13184,7 @@ func (x *GrantVipRequest) String() string { func (*GrantVipRequest) ProtoMessage() {} func (x *GrantVipRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[146] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[147] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13079,7 +13197,7 @@ func (x *GrantVipRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GrantVipRequest.ProtoReflect.Descriptor instead. func (*GrantVipRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{146} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{147} } func (x *GrantVipRequest) GetCommandId() string { @@ -13143,7 +13261,7 @@ type GrantVipResponse struct { func (x *GrantVipResponse) Reset() { *x = GrantVipResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[147] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[148] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13155,7 +13273,7 @@ func (x *GrantVipResponse) String() string { func (*GrantVipResponse) ProtoMessage() {} func (x *GrantVipResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[147] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[148] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13168,7 +13286,7 @@ func (x *GrantVipResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GrantVipResponse.ProtoReflect.Descriptor instead. func (*GrantVipResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{147} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{148} } func (x *GrantVipResponse) GetTransactionId() string { @@ -13215,7 +13333,7 @@ type AdminVipLevelInput struct { func (x *AdminVipLevelInput) Reset() { *x = AdminVipLevelInput{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[148] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[149] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13227,7 +13345,7 @@ func (x *AdminVipLevelInput) String() string { func (*AdminVipLevelInput) ProtoMessage() {} func (x *AdminVipLevelInput) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[148] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[149] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13240,7 +13358,7 @@ func (x *AdminVipLevelInput) ProtoReflect() protoreflect.Message { // Deprecated: Use AdminVipLevelInput.ProtoReflect.Descriptor instead. func (*AdminVipLevelInput) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{148} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{149} } func (x *AdminVipLevelInput) GetLevel() int32 { @@ -13309,7 +13427,7 @@ type ListAdminVipLevelsRequest struct { func (x *ListAdminVipLevelsRequest) Reset() { *x = ListAdminVipLevelsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[149] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[150] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13321,7 +13439,7 @@ func (x *ListAdminVipLevelsRequest) String() string { func (*ListAdminVipLevelsRequest) ProtoMessage() {} func (x *ListAdminVipLevelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[149] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[150] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13334,7 +13452,7 @@ func (x *ListAdminVipLevelsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAdminVipLevelsRequest.ProtoReflect.Descriptor instead. func (*ListAdminVipLevelsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{149} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{150} } func (x *ListAdminVipLevelsRequest) GetRequestId() string { @@ -13361,7 +13479,7 @@ type ListAdminVipLevelsResponse struct { func (x *ListAdminVipLevelsResponse) Reset() { *x = ListAdminVipLevelsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[150] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[151] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13373,7 +13491,7 @@ func (x *ListAdminVipLevelsResponse) String() string { func (*ListAdminVipLevelsResponse) ProtoMessage() {} func (x *ListAdminVipLevelsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[150] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[151] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13386,7 +13504,7 @@ func (x *ListAdminVipLevelsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAdminVipLevelsResponse.ProtoReflect.Descriptor instead. func (*ListAdminVipLevelsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{150} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{151} } func (x *ListAdminVipLevelsResponse) GetLevels() []*VipLevel { @@ -13415,7 +13533,7 @@ type UpdateAdminVipLevelsRequest struct { func (x *UpdateAdminVipLevelsRequest) Reset() { *x = UpdateAdminVipLevelsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[151] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[152] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13427,7 +13545,7 @@ func (x *UpdateAdminVipLevelsRequest) String() string { func (*UpdateAdminVipLevelsRequest) ProtoMessage() {} func (x *UpdateAdminVipLevelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[151] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[152] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13440,7 +13558,7 @@ func (x *UpdateAdminVipLevelsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateAdminVipLevelsRequest.ProtoReflect.Descriptor instead. func (*UpdateAdminVipLevelsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{151} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{152} } func (x *UpdateAdminVipLevelsRequest) GetRequestId() string { @@ -13481,7 +13599,7 @@ type UpdateAdminVipLevelsResponse struct { func (x *UpdateAdminVipLevelsResponse) Reset() { *x = UpdateAdminVipLevelsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[152] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[153] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13493,7 +13611,7 @@ func (x *UpdateAdminVipLevelsResponse) String() string { func (*UpdateAdminVipLevelsResponse) ProtoMessage() {} func (x *UpdateAdminVipLevelsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[152] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[153] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13506,7 +13624,7 @@ func (x *UpdateAdminVipLevelsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateAdminVipLevelsResponse.ProtoReflect.Descriptor instead. func (*UpdateAdminVipLevelsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{152} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{153} } func (x *UpdateAdminVipLevelsResponse) GetLevels() []*VipLevel { @@ -13540,7 +13658,7 @@ type CreditTaskRewardRequest struct { func (x *CreditTaskRewardRequest) Reset() { *x = CreditTaskRewardRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[153] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[154] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13552,7 +13670,7 @@ func (x *CreditTaskRewardRequest) String() string { func (*CreditTaskRewardRequest) ProtoMessage() {} func (x *CreditTaskRewardRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[153] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[154] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13565,7 +13683,7 @@ func (x *CreditTaskRewardRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreditTaskRewardRequest.ProtoReflect.Descriptor instead. func (*CreditTaskRewardRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{153} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{154} } func (x *CreditTaskRewardRequest) GetCommandId() string { @@ -13637,7 +13755,7 @@ type CreditTaskRewardResponse struct { func (x *CreditTaskRewardResponse) Reset() { *x = CreditTaskRewardResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[154] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[155] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13649,7 +13767,7 @@ func (x *CreditTaskRewardResponse) String() string { func (*CreditTaskRewardResponse) ProtoMessage() {} func (x *CreditTaskRewardResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[154] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[155] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13662,7 +13780,7 @@ func (x *CreditTaskRewardResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreditTaskRewardResponse.ProtoReflect.Descriptor instead. func (*CreditTaskRewardResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{154} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{155} } func (x *CreditTaskRewardResponse) GetTransactionId() string { @@ -13712,7 +13830,7 @@ type CreditLuckyGiftRewardRequest struct { func (x *CreditLuckyGiftRewardRequest) Reset() { *x = CreditLuckyGiftRewardRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[155] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[156] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13724,7 +13842,7 @@ func (x *CreditLuckyGiftRewardRequest) String() string { func (*CreditLuckyGiftRewardRequest) ProtoMessage() {} func (x *CreditLuckyGiftRewardRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[155] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[156] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13737,7 +13855,7 @@ func (x *CreditLuckyGiftRewardRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreditLuckyGiftRewardRequest.ProtoReflect.Descriptor instead. func (*CreditLuckyGiftRewardRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{155} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{156} } func (x *CreditLuckyGiftRewardRequest) GetCommandId() string { @@ -13823,7 +13941,7 @@ type CreditLuckyGiftRewardResponse struct { func (x *CreditLuckyGiftRewardResponse) Reset() { *x = CreditLuckyGiftRewardResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[156] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[157] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13835,7 +13953,7 @@ func (x *CreditLuckyGiftRewardResponse) String() string { func (*CreditLuckyGiftRewardResponse) ProtoMessage() {} func (x *CreditLuckyGiftRewardResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[156] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[157] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13848,7 +13966,7 @@ func (x *CreditLuckyGiftRewardResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreditLuckyGiftRewardResponse.ProtoReflect.Descriptor instead. func (*CreditLuckyGiftRewardResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{156} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{157} } func (x *CreditLuckyGiftRewardResponse) GetTransactionId() string { @@ -13900,7 +14018,7 @@ type CreditRoomTurnoverRewardRequest struct { func (x *CreditRoomTurnoverRewardRequest) Reset() { *x = CreditRoomTurnoverRewardRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[157] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[158] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -13912,7 +14030,7 @@ func (x *CreditRoomTurnoverRewardRequest) String() string { func (*CreditRoomTurnoverRewardRequest) ProtoMessage() {} func (x *CreditRoomTurnoverRewardRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[157] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[158] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -13925,7 +14043,7 @@ func (x *CreditRoomTurnoverRewardRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreditRoomTurnoverRewardRequest.ProtoReflect.Descriptor instead. func (*CreditRoomTurnoverRewardRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{157} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{158} } func (x *CreditRoomTurnoverRewardRequest) GetCommandId() string { @@ -14025,7 +14143,7 @@ type CreditRoomTurnoverRewardResponse struct { func (x *CreditRoomTurnoverRewardResponse) Reset() { *x = CreditRoomTurnoverRewardResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[158] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[159] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14037,7 +14155,7 @@ func (x *CreditRoomTurnoverRewardResponse) String() string { func (*CreditRoomTurnoverRewardResponse) ProtoMessage() {} func (x *CreditRoomTurnoverRewardResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[158] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[159] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14050,7 +14168,7 @@ func (x *CreditRoomTurnoverRewardResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreditRoomTurnoverRewardResponse.ProtoReflect.Descriptor instead. func (*CreditRoomTurnoverRewardResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{158} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{159} } func (x *CreditRoomTurnoverRewardResponse) GetTransactionId() string { @@ -14101,7 +14219,7 @@ type CreditInviteActivityRewardRequest struct { func (x *CreditInviteActivityRewardRequest) Reset() { *x = CreditInviteActivityRewardRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[159] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[160] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14113,7 +14231,7 @@ func (x *CreditInviteActivityRewardRequest) String() string { func (*CreditInviteActivityRewardRequest) ProtoMessage() {} func (x *CreditInviteActivityRewardRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[159] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[160] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14126,7 +14244,7 @@ func (x *CreditInviteActivityRewardRequest) ProtoReflect() protoreflect.Message // Deprecated: Use CreditInviteActivityRewardRequest.ProtoReflect.Descriptor instead. func (*CreditInviteActivityRewardRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{159} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{160} } func (x *CreditInviteActivityRewardRequest) GetCommandId() string { @@ -14219,7 +14337,7 @@ type CreditInviteActivityRewardResponse struct { func (x *CreditInviteActivityRewardResponse) Reset() { *x = CreditInviteActivityRewardResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[160] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[161] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14231,7 +14349,7 @@ func (x *CreditInviteActivityRewardResponse) String() string { func (*CreditInviteActivityRewardResponse) ProtoMessage() {} func (x *CreditInviteActivityRewardResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[160] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[161] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14244,7 +14362,7 @@ func (x *CreditInviteActivityRewardResponse) ProtoReflect() protoreflect.Message // Deprecated: Use CreditInviteActivityRewardResponse.ProtoReflect.Descriptor instead. func (*CreditInviteActivityRewardResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{160} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{161} } func (x *CreditInviteActivityRewardResponse) GetTransactionId() string { @@ -14296,7 +14414,7 @@ type ApplyGameCoinChangeRequest struct { func (x *ApplyGameCoinChangeRequest) Reset() { *x = ApplyGameCoinChangeRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[161] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[162] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14308,7 +14426,7 @@ func (x *ApplyGameCoinChangeRequest) String() string { func (*ApplyGameCoinChangeRequest) ProtoMessage() {} func (x *ApplyGameCoinChangeRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[161] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[162] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14321,7 +14439,7 @@ func (x *ApplyGameCoinChangeRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplyGameCoinChangeRequest.ProtoReflect.Descriptor instead. func (*ApplyGameCoinChangeRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{161} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{162} } func (x *ApplyGameCoinChangeRequest) GetRequestId() string { @@ -14420,7 +14538,7 @@ type ApplyGameCoinChangeResponse struct { func (x *ApplyGameCoinChangeResponse) Reset() { *x = ApplyGameCoinChangeResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[162] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[163] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14432,7 +14550,7 @@ func (x *ApplyGameCoinChangeResponse) String() string { func (*ApplyGameCoinChangeResponse) ProtoMessage() {} func (x *ApplyGameCoinChangeResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[162] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[163] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14445,7 +14563,7 @@ func (x *ApplyGameCoinChangeResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ApplyGameCoinChangeResponse.ProtoReflect.Descriptor instead. func (*ApplyGameCoinChangeResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{162} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{163} } func (x *ApplyGameCoinChangeResponse) GetWalletTransactionId() string { @@ -14488,7 +14606,7 @@ type RedPacketConfig struct { func (x *RedPacketConfig) Reset() { *x = RedPacketConfig{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[163] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[164] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14500,7 +14618,7 @@ func (x *RedPacketConfig) String() string { func (*RedPacketConfig) ProtoMessage() {} func (x *RedPacketConfig) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[163] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[164] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14513,7 +14631,7 @@ func (x *RedPacketConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use RedPacketConfig.ProtoReflect.Descriptor instead. func (*RedPacketConfig) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{163} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{164} } func (x *RedPacketConfig) GetAppCode() string { @@ -14612,7 +14730,7 @@ type RedPacketClaim struct { func (x *RedPacketClaim) Reset() { *x = RedPacketClaim{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[164] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[165] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14624,7 +14742,7 @@ func (x *RedPacketClaim) String() string { func (*RedPacketClaim) ProtoMessage() {} func (x *RedPacketClaim) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[164] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[165] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14637,7 +14755,7 @@ func (x *RedPacketClaim) ProtoReflect() protoreflect.Message { // Deprecated: Use RedPacketClaim.ProtoReflect.Descriptor instead. func (*RedPacketClaim) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{164} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{165} } func (x *RedPacketClaim) GetAppCode() string { @@ -14747,7 +14865,7 @@ type RedPacket struct { func (x *RedPacket) Reset() { *x = RedPacket{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[165] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[166] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14759,7 +14877,7 @@ func (x *RedPacket) String() string { func (*RedPacket) ProtoMessage() {} func (x *RedPacket) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[165] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[166] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14772,7 +14890,7 @@ func (x *RedPacket) ProtoReflect() protoreflect.Message { // Deprecated: Use RedPacket.ProtoReflect.Descriptor instead. func (*RedPacket) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{165} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{166} } func (x *RedPacket) GetAppCode() string { @@ -14939,7 +15057,7 @@ type GetRedPacketConfigRequest struct { func (x *GetRedPacketConfigRequest) Reset() { *x = GetRedPacketConfigRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[166] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[167] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -14951,7 +15069,7 @@ func (x *GetRedPacketConfigRequest) String() string { func (*GetRedPacketConfigRequest) ProtoMessage() {} func (x *GetRedPacketConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[166] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[167] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -14964,7 +15082,7 @@ func (x *GetRedPacketConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRedPacketConfigRequest.ProtoReflect.Descriptor instead. func (*GetRedPacketConfigRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{166} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{167} } func (x *GetRedPacketConfigRequest) GetRequestId() string { @@ -14991,7 +15109,7 @@ type GetRedPacketConfigResponse struct { func (x *GetRedPacketConfigResponse) Reset() { *x = GetRedPacketConfigResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[167] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[168] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15003,7 +15121,7 @@ func (x *GetRedPacketConfigResponse) String() string { func (*GetRedPacketConfigResponse) ProtoMessage() {} func (x *GetRedPacketConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[167] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[168] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15016,7 +15134,7 @@ func (x *GetRedPacketConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRedPacketConfigResponse.ProtoReflect.Descriptor instead. func (*GetRedPacketConfigResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{167} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{168} } func (x *GetRedPacketConfigResponse) GetConfig() *RedPacketConfig { @@ -15051,7 +15169,7 @@ type UpdateRedPacketConfigRequest struct { func (x *UpdateRedPacketConfigRequest) Reset() { *x = UpdateRedPacketConfigRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[168] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[169] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15063,7 +15181,7 @@ func (x *UpdateRedPacketConfigRequest) String() string { func (*UpdateRedPacketConfigRequest) ProtoMessage() {} func (x *UpdateRedPacketConfigRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[168] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[169] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15076,7 +15194,7 @@ func (x *UpdateRedPacketConfigRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRedPacketConfigRequest.ProtoReflect.Descriptor instead. func (*UpdateRedPacketConfigRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{168} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{169} } func (x *UpdateRedPacketConfigRequest) GetRequestId() string { @@ -15159,7 +15277,7 @@ type UpdateRedPacketConfigResponse struct { func (x *UpdateRedPacketConfigResponse) Reset() { *x = UpdateRedPacketConfigResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[169] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[170] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15171,7 +15289,7 @@ func (x *UpdateRedPacketConfigResponse) String() string { func (*UpdateRedPacketConfigResponse) ProtoMessage() {} func (x *UpdateRedPacketConfigResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[169] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[170] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15184,7 +15302,7 @@ func (x *UpdateRedPacketConfigResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateRedPacketConfigResponse.ProtoReflect.Descriptor instead. func (*UpdateRedPacketConfigResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{169} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{170} } func (x *UpdateRedPacketConfigResponse) GetConfig() *RedPacketConfig { @@ -15218,7 +15336,7 @@ type CreateRedPacketRequest struct { func (x *CreateRedPacketRequest) Reset() { *x = CreateRedPacketRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[170] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[171] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15230,7 +15348,7 @@ func (x *CreateRedPacketRequest) String() string { func (*CreateRedPacketRequest) ProtoMessage() {} func (x *CreateRedPacketRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[170] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[171] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15243,7 +15361,7 @@ func (x *CreateRedPacketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateRedPacketRequest.ProtoReflect.Descriptor instead. func (*CreateRedPacketRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{170} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{171} } func (x *CreateRedPacketRequest) GetRequestId() string { @@ -15320,7 +15438,7 @@ type CreateRedPacketResponse struct { func (x *CreateRedPacketResponse) Reset() { *x = CreateRedPacketResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[171] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[172] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15332,7 +15450,7 @@ func (x *CreateRedPacketResponse) String() string { func (*CreateRedPacketResponse) ProtoMessage() {} func (x *CreateRedPacketResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[171] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[172] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15345,7 +15463,7 @@ func (x *CreateRedPacketResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateRedPacketResponse.ProtoReflect.Descriptor instead. func (*CreateRedPacketResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{171} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{172} } func (x *CreateRedPacketResponse) GetPacket() *RedPacket { @@ -15382,7 +15500,7 @@ type ClaimRedPacketRequest struct { func (x *ClaimRedPacketRequest) Reset() { *x = ClaimRedPacketRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[172] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[173] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15394,7 +15512,7 @@ func (x *ClaimRedPacketRequest) String() string { func (*ClaimRedPacketRequest) ProtoMessage() {} func (x *ClaimRedPacketRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[172] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[173] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15407,7 +15525,7 @@ func (x *ClaimRedPacketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ClaimRedPacketRequest.ProtoReflect.Descriptor instead. func (*ClaimRedPacketRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{172} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{173} } func (x *ClaimRedPacketRequest) GetRequestId() string { @@ -15457,7 +15575,7 @@ type ClaimRedPacketResponse struct { func (x *ClaimRedPacketResponse) Reset() { *x = ClaimRedPacketResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[173] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[174] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15469,7 +15587,7 @@ func (x *ClaimRedPacketResponse) String() string { func (*ClaimRedPacketResponse) ProtoMessage() {} func (x *ClaimRedPacketResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[173] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[174] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15482,7 +15600,7 @@ func (x *ClaimRedPacketResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ClaimRedPacketResponse.ProtoReflect.Descriptor instead. func (*ClaimRedPacketResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{173} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{174} } func (x *ClaimRedPacketResponse) GetClaim() *RedPacketClaim { @@ -15533,7 +15651,7 @@ type ListRedPacketsRequest struct { func (x *ListRedPacketsRequest) Reset() { *x = ListRedPacketsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[174] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[175] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15545,7 +15663,7 @@ func (x *ListRedPacketsRequest) String() string { func (*ListRedPacketsRequest) ProtoMessage() {} func (x *ListRedPacketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[174] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[175] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15558,7 +15676,7 @@ func (x *ListRedPacketsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRedPacketsRequest.ProtoReflect.Descriptor instead. func (*ListRedPacketsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{174} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{175} } func (x *ListRedPacketsRequest) GetRequestId() string { @@ -15656,7 +15774,7 @@ type ListRedPacketsResponse struct { func (x *ListRedPacketsResponse) Reset() { *x = ListRedPacketsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[175] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[176] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15668,7 +15786,7 @@ func (x *ListRedPacketsResponse) String() string { func (*ListRedPacketsResponse) ProtoMessage() {} func (x *ListRedPacketsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[175] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[176] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15681,7 +15799,7 @@ func (x *ListRedPacketsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListRedPacketsResponse.ProtoReflect.Descriptor instead. func (*ListRedPacketsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{175} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{176} } func (x *ListRedPacketsResponse) GetPackets() []*RedPacket { @@ -15718,7 +15836,7 @@ type GetRedPacketRequest struct { func (x *GetRedPacketRequest) Reset() { *x = GetRedPacketRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[176] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[177] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15730,7 +15848,7 @@ func (x *GetRedPacketRequest) String() string { func (*GetRedPacketRequest) ProtoMessage() {} func (x *GetRedPacketRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[176] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[177] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15743,7 +15861,7 @@ func (x *GetRedPacketRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRedPacketRequest.ProtoReflect.Descriptor instead. func (*GetRedPacketRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{176} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{177} } func (x *GetRedPacketRequest) GetRequestId() string { @@ -15791,7 +15909,7 @@ type GetRedPacketResponse struct { func (x *GetRedPacketResponse) Reset() { *x = GetRedPacketResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[177] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[178] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15803,7 +15921,7 @@ func (x *GetRedPacketResponse) String() string { func (*GetRedPacketResponse) ProtoMessage() {} func (x *GetRedPacketResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[177] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[178] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15816,7 +15934,7 @@ func (x *GetRedPacketResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetRedPacketResponse.ProtoReflect.Descriptor instead. func (*GetRedPacketResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{177} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{178} } func (x *GetRedPacketResponse) GetPacket() *RedPacket { @@ -15844,7 +15962,7 @@ type ExpireRedPacketsRequest struct { func (x *ExpireRedPacketsRequest) Reset() { *x = ExpireRedPacketsRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[178] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[179] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15856,7 +15974,7 @@ func (x *ExpireRedPacketsRequest) String() string { func (*ExpireRedPacketsRequest) ProtoMessage() {} func (x *ExpireRedPacketsRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[178] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[179] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15869,7 +15987,7 @@ func (x *ExpireRedPacketsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ExpireRedPacketsRequest.ProtoReflect.Descriptor instead. func (*ExpireRedPacketsRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{178} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{179} } func (x *ExpireRedPacketsRequest) GetRequestId() string { @@ -15904,7 +16022,7 @@ type ExpireRedPacketsResponse struct { func (x *ExpireRedPacketsResponse) Reset() { *x = ExpireRedPacketsResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[179] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[180] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15916,7 +16034,7 @@ func (x *ExpireRedPacketsResponse) String() string { func (*ExpireRedPacketsResponse) ProtoMessage() {} func (x *ExpireRedPacketsResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[179] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[180] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15929,7 +16047,7 @@ func (x *ExpireRedPacketsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ExpireRedPacketsResponse.ProtoReflect.Descriptor instead. func (*ExpireRedPacketsResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{179} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{180} } func (x *ExpireRedPacketsResponse) GetExpiredCount() int32 { @@ -15965,7 +16083,7 @@ type RetryRedPacketRefundRequest struct { func (x *RetryRedPacketRefundRequest) Reset() { *x = RetryRedPacketRefundRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[180] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[181] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -15977,7 +16095,7 @@ func (x *RetryRedPacketRefundRequest) String() string { func (*RetryRedPacketRefundRequest) ProtoMessage() {} func (x *RetryRedPacketRefundRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[180] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[181] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -15990,7 +16108,7 @@ func (x *RetryRedPacketRefundRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RetryRedPacketRefundRequest.ProtoReflect.Descriptor instead. func (*RetryRedPacketRefundRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{180} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{181} } func (x *RetryRedPacketRefundRequest) GetRequestId() string { @@ -16032,7 +16150,7 @@ type RetryRedPacketRefundResponse struct { func (x *RetryRedPacketRefundResponse) Reset() { *x = RetryRedPacketRefundResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[181] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[182] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16044,7 +16162,7 @@ func (x *RetryRedPacketRefundResponse) String() string { func (*RetryRedPacketRefundResponse) ProtoMessage() {} func (x *RetryRedPacketRefundResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[181] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[182] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16057,7 +16175,7 @@ func (x *RetryRedPacketRefundResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RetryRedPacketRefundResponse.ProtoReflect.Descriptor instead. func (*RetryRedPacketRefundResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{181} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{182} } func (x *RetryRedPacketRefundResponse) GetPacket() *RedPacket { @@ -16104,7 +16222,7 @@ type CronBatchRequest struct { func (x *CronBatchRequest) Reset() { *x = CronBatchRequest{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[182] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[183] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16116,7 +16234,7 @@ func (x *CronBatchRequest) String() string { func (*CronBatchRequest) ProtoMessage() {} func (x *CronBatchRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[182] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[183] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16129,7 +16247,7 @@ func (x *CronBatchRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CronBatchRequest.ProtoReflect.Descriptor instead. func (*CronBatchRequest) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{182} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{183} } func (x *CronBatchRequest) GetRequestId() string { @@ -16216,7 +16334,7 @@ type CronBatchResponse struct { func (x *CronBatchResponse) Reset() { *x = CronBatchResponse{} - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[183] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[184] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -16228,7 +16346,7 @@ func (x *CronBatchResponse) String() string { func (*CronBatchResponse) ProtoMessage() {} func (x *CronBatchResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_wallet_v1_wallet_proto_msgTypes[183] + mi := &file_proto_wallet_v1_wallet_proto_msgTypes[184] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -16241,7 +16359,7 @@ func (x *CronBatchResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CronBatchResponse.ProtoReflect.Descriptor instead. func (*CronBatchResponse) Descriptor() ([]byte, []int) { - return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{183} + return file_proto_wallet_v1_wallet_proto_rawDescGZIP(), []int{184} } func (x *CronBatchResponse) GetClaimedCount() int32 { @@ -16350,7 +16468,21 @@ const file_proto_wallet_v1_wallet_proto_rawDesc = "" + "\abilling\x18\x03 \x01(\v2\".hyapp.wallet.v1.DebitGiftResponseR\abilling\"\x9e\x01\n" + "\x16BatchDebitGiftResponse\x12@\n" + "\taggregate\x18\x01 \x01(\v2\".hyapp.wallet.v1.DebitGiftResponseR\taggregate\x12B\n" + - "\breceipts\x18\x02 \x03(\v2&.hyapp.wallet.v1.BatchDebitGiftReceiptR\breceipts\"\xb2\x01\n" + + "\breceipts\x18\x02 \x03(\v2&.hyapp.wallet.v1.BatchDebitGiftReceiptR\breceipts\"\xda\x02\n" + + "\x15DebitRobotGiftRequest\x12\x1d\n" + + "\n" + + "command_id\x18\x01 \x01(\tR\tcommandId\x12\x17\n" + + "\aroom_id\x18\x02 \x01(\tR\x06roomId\x12$\n" + + "\x0esender_user_id\x18\x03 \x01(\x03R\fsenderUserId\x12$\n" + + "\x0etarget_user_id\x18\x04 \x01(\x03R\ftargetUserId\x12\x17\n" + + "\agift_id\x18\x05 \x01(\tR\x06giftId\x12\x1d\n" + + "\n" + + "gift_count\x18\x06 \x01(\x05R\tgiftCount\x12#\n" + + "\rprice_version\x18\a \x01(\tR\fpriceVersion\x12\x19\n" + + "\bapp_code\x18\b \x01(\tR\aappCode\x12\x1b\n" + + "\tregion_id\x18\t \x01(\x03R\bregionId\x12(\n" + + "\x10sender_region_id\x18\n" + + " \x01(\x03R\x0esenderRegionId\"\xb2\x01\n" + "\fAssetBalance\x12\x1d\n" + "\n" + "asset_type\x18\x01 \x01(\tR\tassetType\x12)\n" + @@ -17953,10 +18085,11 @@ const file_proto_wallet_v1_wallet_proto_rawDesc = "" + "\x11WalletCronService\x12n\n" + "%ProcessHostSalaryDailySettlementBatch\x12!.hyapp.wallet.v1.CronBatchRequest\x1a\".hyapp.wallet.v1.CronBatchResponse\x12r\n" + ")ProcessHostSalaryHalfMonthSettlementBatch\x12!.hyapp.wallet.v1.CronBatchRequest\x1a\".hyapp.wallet.v1.CronBatchResponse\x12g\n" + - "\x1eProcessHostSalaryMonthEndBatch\x12!.hyapp.wallet.v1.CronBatchRequest\x1a\".hyapp.wallet.v1.CronBatchResponse2\xb5E\n" + + "\x1eProcessHostSalaryMonthEndBatch\x12!.hyapp.wallet.v1.CronBatchRequest\x1a\".hyapp.wallet.v1.CronBatchResponse2\x93F\n" + "\rWalletService\x12R\n" + "\tDebitGift\x12!.hyapp.wallet.v1.DebitGiftRequest\x1a\".hyapp.wallet.v1.DebitGiftResponse\x12a\n" + - "\x0eBatchDebitGift\x12&.hyapp.wallet.v1.BatchDebitGiftRequest\x1a'.hyapp.wallet.v1.BatchDebitGiftResponse\x12X\n" + + "\x0eBatchDebitGift\x12&.hyapp.wallet.v1.BatchDebitGiftRequest\x1a'.hyapp.wallet.v1.BatchDebitGiftResponse\x12\\\n" + + "\x0eDebitRobotGift\x12&.hyapp.wallet.v1.DebitRobotGiftRequest\x1a\".hyapp.wallet.v1.DebitGiftResponse\x12X\n" + "\vGetBalances\x12#.hyapp.wallet.v1.GetBalancesRequest\x1a$.hyapp.wallet.v1.GetBalancesResponse\x12\x82\x01\n" + "\x19GetActiveHostSalaryPolicy\x121.hyapp.wallet.v1.GetActiveHostSalaryPolicyRequest\x1a2.hyapp.wallet.v1.GetActiveHostSalaryPolicyResponse\x12v\n" + "\x15GetHostSalaryProgress\x12-.hyapp.wallet.v1.GetHostSalaryProgressRequest\x1a..hyapp.wallet.v1.GetHostSalaryProgressResponse\x12g\n" + @@ -18047,7 +18180,7 @@ func file_proto_wallet_v1_wallet_proto_rawDescGZIP() []byte { return file_proto_wallet_v1_wallet_proto_rawDescData } -var file_proto_wallet_v1_wallet_proto_msgTypes = make([]protoimpl.MessageInfo, 184) +var file_proto_wallet_v1_wallet_proto_msgTypes = make([]protoimpl.MessageInfo, 185) var file_proto_wallet_v1_wallet_proto_goTypes = []any{ (*DebitGiftRequest)(nil), // 0: hyapp.wallet.v1.DebitGiftRequest (*DebitGiftResponse)(nil), // 1: hyapp.wallet.v1.DebitGiftResponse @@ -18055,436 +18188,439 @@ var file_proto_wallet_v1_wallet_proto_goTypes = []any{ (*BatchDebitGiftRequest)(nil), // 3: hyapp.wallet.v1.BatchDebitGiftRequest (*BatchDebitGiftReceipt)(nil), // 4: hyapp.wallet.v1.BatchDebitGiftReceipt (*BatchDebitGiftResponse)(nil), // 5: hyapp.wallet.v1.BatchDebitGiftResponse - (*AssetBalance)(nil), // 6: hyapp.wallet.v1.AssetBalance - (*GetBalancesRequest)(nil), // 7: hyapp.wallet.v1.GetBalancesRequest - (*GetBalancesResponse)(nil), // 8: hyapp.wallet.v1.GetBalancesResponse - (*HostSalaryPolicyLevel)(nil), // 9: hyapp.wallet.v1.HostSalaryPolicyLevel - (*HostSalaryPolicy)(nil), // 10: hyapp.wallet.v1.HostSalaryPolicy - (*GetActiveHostSalaryPolicyRequest)(nil), // 11: hyapp.wallet.v1.GetActiveHostSalaryPolicyRequest - (*GetActiveHostSalaryPolicyResponse)(nil), // 12: hyapp.wallet.v1.GetActiveHostSalaryPolicyResponse - (*HostSalaryProgress)(nil), // 13: hyapp.wallet.v1.HostSalaryProgress - (*GetHostSalaryProgressRequest)(nil), // 14: hyapp.wallet.v1.GetHostSalaryProgressRequest - (*GetHostSalaryProgressResponse)(nil), // 15: hyapp.wallet.v1.GetHostSalaryProgressResponse - (*AdminCreditAssetRequest)(nil), // 16: hyapp.wallet.v1.AdminCreditAssetRequest - (*AdminCreditAssetResponse)(nil), // 17: hyapp.wallet.v1.AdminCreditAssetResponse - (*AdminCreditCoinSellerStockRequest)(nil), // 18: hyapp.wallet.v1.AdminCreditCoinSellerStockRequest - (*AdminCreditCoinSellerStockResponse)(nil), // 19: hyapp.wallet.v1.AdminCreditCoinSellerStockResponse - (*TransferCoinFromSellerRequest)(nil), // 20: hyapp.wallet.v1.TransferCoinFromSellerRequest - (*TransferCoinFromSellerResponse)(nil), // 21: hyapp.wallet.v1.TransferCoinFromSellerResponse - (*CoinSellerSalaryExchangeRateTier)(nil), // 22: hyapp.wallet.v1.CoinSellerSalaryExchangeRateTier - (*ListCoinSellerSalaryExchangeRateTiersRequest)(nil), // 23: hyapp.wallet.v1.ListCoinSellerSalaryExchangeRateTiersRequest - (*ListCoinSellerSalaryExchangeRateTiersResponse)(nil), // 24: hyapp.wallet.v1.ListCoinSellerSalaryExchangeRateTiersResponse - (*ExchangeSalaryToCoinRequest)(nil), // 25: hyapp.wallet.v1.ExchangeSalaryToCoinRequest - (*ExchangeSalaryToCoinResponse)(nil), // 26: hyapp.wallet.v1.ExchangeSalaryToCoinResponse - (*TransferSalaryToCoinSellerRequest)(nil), // 27: hyapp.wallet.v1.TransferSalaryToCoinSellerRequest - (*TransferSalaryToCoinSellerResponse)(nil), // 28: hyapp.wallet.v1.TransferSalaryToCoinSellerResponse - (*Resource)(nil), // 29: hyapp.wallet.v1.Resource - (*ResourceGroupItem)(nil), // 30: hyapp.wallet.v1.ResourceGroupItem - (*ResourceGroup)(nil), // 31: hyapp.wallet.v1.ResourceGroup - (*GiftConfig)(nil), // 32: hyapp.wallet.v1.GiftConfig - (*GiftTypeConfig)(nil), // 33: hyapp.wallet.v1.GiftTypeConfig - (*ResourceShopItem)(nil), // 34: hyapp.wallet.v1.ResourceShopItem - (*UserResourceEntitlement)(nil), // 35: hyapp.wallet.v1.UserResourceEntitlement - (*ResourceGrantItem)(nil), // 36: hyapp.wallet.v1.ResourceGrantItem - (*ResourceGrant)(nil), // 37: hyapp.wallet.v1.ResourceGrant - (*ResourceGroupItemInput)(nil), // 38: hyapp.wallet.v1.ResourceGroupItemInput - (*ListResourcesRequest)(nil), // 39: hyapp.wallet.v1.ListResourcesRequest - (*ListResourcesResponse)(nil), // 40: hyapp.wallet.v1.ListResourcesResponse - (*GetResourceRequest)(nil), // 41: hyapp.wallet.v1.GetResourceRequest - (*GetResourceResponse)(nil), // 42: hyapp.wallet.v1.GetResourceResponse - (*CreateResourceRequest)(nil), // 43: hyapp.wallet.v1.CreateResourceRequest - (*UpdateResourceRequest)(nil), // 44: hyapp.wallet.v1.UpdateResourceRequest - (*SetResourceStatusRequest)(nil), // 45: hyapp.wallet.v1.SetResourceStatusRequest - (*ResourceResponse)(nil), // 46: hyapp.wallet.v1.ResourceResponse - (*ListResourceGroupsRequest)(nil), // 47: hyapp.wallet.v1.ListResourceGroupsRequest - (*ListResourceGroupsResponse)(nil), // 48: hyapp.wallet.v1.ListResourceGroupsResponse - (*GetResourceGroupRequest)(nil), // 49: hyapp.wallet.v1.GetResourceGroupRequest - (*GetResourceGroupResponse)(nil), // 50: hyapp.wallet.v1.GetResourceGroupResponse - (*CreateResourceGroupRequest)(nil), // 51: hyapp.wallet.v1.CreateResourceGroupRequest - (*UpdateResourceGroupRequest)(nil), // 52: hyapp.wallet.v1.UpdateResourceGroupRequest - (*SetResourceGroupStatusRequest)(nil), // 53: hyapp.wallet.v1.SetResourceGroupStatusRequest - (*ResourceGroupResponse)(nil), // 54: hyapp.wallet.v1.ResourceGroupResponse - (*ListGiftConfigsRequest)(nil), // 55: hyapp.wallet.v1.ListGiftConfigsRequest - (*ListGiftConfigsResponse)(nil), // 56: hyapp.wallet.v1.ListGiftConfigsResponse - (*ListGiftTypeConfigsRequest)(nil), // 57: hyapp.wallet.v1.ListGiftTypeConfigsRequest - (*ListGiftTypeConfigsResponse)(nil), // 58: hyapp.wallet.v1.ListGiftTypeConfigsResponse - (*UpsertGiftTypeConfigRequest)(nil), // 59: hyapp.wallet.v1.UpsertGiftTypeConfigRequest - (*GiftTypeConfigResponse)(nil), // 60: hyapp.wallet.v1.GiftTypeConfigResponse - (*CreateGiftConfigRequest)(nil), // 61: hyapp.wallet.v1.CreateGiftConfigRequest - (*UpdateGiftConfigRequest)(nil), // 62: hyapp.wallet.v1.UpdateGiftConfigRequest - (*SetGiftConfigStatusRequest)(nil), // 63: hyapp.wallet.v1.SetGiftConfigStatusRequest - (*DeleteGiftConfigRequest)(nil), // 64: hyapp.wallet.v1.DeleteGiftConfigRequest - (*GiftConfigResponse)(nil), // 65: hyapp.wallet.v1.GiftConfigResponse - (*GrantResourceRequest)(nil), // 66: hyapp.wallet.v1.GrantResourceRequest - (*GrantResourceGroupRequest)(nil), // 67: hyapp.wallet.v1.GrantResourceGroupRequest - (*ResourceGrantResponse)(nil), // 68: hyapp.wallet.v1.ResourceGrantResponse - (*ListUserResourcesRequest)(nil), // 69: hyapp.wallet.v1.ListUserResourcesRequest - (*ListUserResourcesResponse)(nil), // 70: hyapp.wallet.v1.ListUserResourcesResponse - (*EquipUserResourceRequest)(nil), // 71: hyapp.wallet.v1.EquipUserResourceRequest - (*EquipUserResourceResponse)(nil), // 72: hyapp.wallet.v1.EquipUserResourceResponse - (*UnequipUserResourceRequest)(nil), // 73: hyapp.wallet.v1.UnequipUserResourceRequest - (*UnequipUserResourceResponse)(nil), // 74: hyapp.wallet.v1.UnequipUserResourceResponse - (*BatchGetUserEquippedResourcesRequest)(nil), // 75: hyapp.wallet.v1.BatchGetUserEquippedResourcesRequest - (*UserEquippedResources)(nil), // 76: hyapp.wallet.v1.UserEquippedResources - (*BatchGetUserEquippedResourcesResponse)(nil), // 77: hyapp.wallet.v1.BatchGetUserEquippedResourcesResponse - (*ListResourceGrantsRequest)(nil), // 78: hyapp.wallet.v1.ListResourceGrantsRequest - (*ListResourceGrantsResponse)(nil), // 79: hyapp.wallet.v1.ListResourceGrantsResponse - (*ResourceShopItemInput)(nil), // 80: hyapp.wallet.v1.ResourceShopItemInput - (*ListResourceShopItemsRequest)(nil), // 81: hyapp.wallet.v1.ListResourceShopItemsRequest - (*ListResourceShopItemsResponse)(nil), // 82: hyapp.wallet.v1.ListResourceShopItemsResponse - (*UpsertResourceShopItemsRequest)(nil), // 83: hyapp.wallet.v1.UpsertResourceShopItemsRequest - (*UpsertResourceShopItemsResponse)(nil), // 84: hyapp.wallet.v1.UpsertResourceShopItemsResponse - (*SetResourceShopItemStatusRequest)(nil), // 85: hyapp.wallet.v1.SetResourceShopItemStatusRequest - (*ResourceShopItemResponse)(nil), // 86: hyapp.wallet.v1.ResourceShopItemResponse - (*PurchaseResourceShopItemRequest)(nil), // 87: hyapp.wallet.v1.PurchaseResourceShopItemRequest - (*PurchaseResourceShopItemResponse)(nil), // 88: hyapp.wallet.v1.PurchaseResourceShopItemResponse - (*RechargeBill)(nil), // 89: hyapp.wallet.v1.RechargeBill - (*ListRechargeBillsRequest)(nil), // 90: hyapp.wallet.v1.ListRechargeBillsRequest - (*ListRechargeBillsResponse)(nil), // 91: hyapp.wallet.v1.ListRechargeBillsResponse - (*WalletFeatureFlags)(nil), // 92: hyapp.wallet.v1.WalletFeatureFlags - (*GetWalletOverviewRequest)(nil), // 93: hyapp.wallet.v1.GetWalletOverviewRequest - (*GetWalletOverviewResponse)(nil), // 94: hyapp.wallet.v1.GetWalletOverviewResponse - (*WalletValueSummary)(nil), // 95: hyapp.wallet.v1.WalletValueSummary - (*GetWalletValueSummaryRequest)(nil), // 96: hyapp.wallet.v1.GetWalletValueSummaryRequest - (*GetWalletValueSummaryResponse)(nil), // 97: hyapp.wallet.v1.GetWalletValueSummaryResponse - (*GiftWallItem)(nil), // 98: hyapp.wallet.v1.GiftWallItem - (*GetUserGiftWallRequest)(nil), // 99: hyapp.wallet.v1.GetUserGiftWallRequest - (*GetUserGiftWallResponse)(nil), // 100: hyapp.wallet.v1.GetUserGiftWallResponse - (*RechargeProduct)(nil), // 101: hyapp.wallet.v1.RechargeProduct - (*ListRechargeProductsRequest)(nil), // 102: hyapp.wallet.v1.ListRechargeProductsRequest - (*ListRechargeProductsResponse)(nil), // 103: hyapp.wallet.v1.ListRechargeProductsResponse - (*ConfirmGooglePaymentRequest)(nil), // 104: hyapp.wallet.v1.ConfirmGooglePaymentRequest - (*ConfirmGooglePaymentResponse)(nil), // 105: hyapp.wallet.v1.ConfirmGooglePaymentResponse - (*ListAdminRechargeProductsRequest)(nil), // 106: hyapp.wallet.v1.ListAdminRechargeProductsRequest - (*ListAdminRechargeProductsResponse)(nil), // 107: hyapp.wallet.v1.ListAdminRechargeProductsResponse - (*CreateRechargeProductRequest)(nil), // 108: hyapp.wallet.v1.CreateRechargeProductRequest - (*UpdateRechargeProductRequest)(nil), // 109: hyapp.wallet.v1.UpdateRechargeProductRequest - (*DeleteRechargeProductRequest)(nil), // 110: hyapp.wallet.v1.DeleteRechargeProductRequest - (*RechargeProductResponse)(nil), // 111: hyapp.wallet.v1.RechargeProductResponse - (*DeleteRechargeProductResponse)(nil), // 112: hyapp.wallet.v1.DeleteRechargeProductResponse - (*ThirdPartyPaymentMethod)(nil), // 113: hyapp.wallet.v1.ThirdPartyPaymentMethod - (*ThirdPartyPaymentChannel)(nil), // 114: hyapp.wallet.v1.ThirdPartyPaymentChannel - (*ListThirdPartyPaymentChannelsRequest)(nil), // 115: hyapp.wallet.v1.ListThirdPartyPaymentChannelsRequest - (*ListThirdPartyPaymentChannelsResponse)(nil), // 116: hyapp.wallet.v1.ListThirdPartyPaymentChannelsResponse - (*SetThirdPartyPaymentMethodStatusRequest)(nil), // 117: hyapp.wallet.v1.SetThirdPartyPaymentMethodStatusRequest - (*ThirdPartyPaymentMethodResponse)(nil), // 118: hyapp.wallet.v1.ThirdPartyPaymentMethodResponse - (*UpdateThirdPartyPaymentRateRequest)(nil), // 119: hyapp.wallet.v1.UpdateThirdPartyPaymentRateRequest - (*H5RechargeOptionsRequest)(nil), // 120: hyapp.wallet.v1.H5RechargeOptionsRequest - (*H5RechargeOptionsResponse)(nil), // 121: hyapp.wallet.v1.H5RechargeOptionsResponse - (*ExternalRechargeOrder)(nil), // 122: hyapp.wallet.v1.ExternalRechargeOrder - (*CreateH5RechargeOrderRequest)(nil), // 123: hyapp.wallet.v1.CreateH5RechargeOrderRequest - (*SubmitH5RechargeTxRequest)(nil), // 124: hyapp.wallet.v1.SubmitH5RechargeTxRequest - (*GetH5RechargeOrderRequest)(nil), // 125: hyapp.wallet.v1.GetH5RechargeOrderRequest - (*H5RechargeOrderResponse)(nil), // 126: hyapp.wallet.v1.H5RechargeOrderResponse - (*HandleMifapayNotifyRequest)(nil), // 127: hyapp.wallet.v1.HandleMifapayNotifyRequest - (*HandleMifapayNotifyResponse)(nil), // 128: hyapp.wallet.v1.HandleMifapayNotifyResponse - (*DiamondExchangeRule)(nil), // 129: hyapp.wallet.v1.DiamondExchangeRule - (*GetDiamondExchangeConfigRequest)(nil), // 130: hyapp.wallet.v1.GetDiamondExchangeConfigRequest - (*GetDiamondExchangeConfigResponse)(nil), // 131: hyapp.wallet.v1.GetDiamondExchangeConfigResponse - (*WalletTransaction)(nil), // 132: hyapp.wallet.v1.WalletTransaction - (*ListWalletTransactionsRequest)(nil), // 133: hyapp.wallet.v1.ListWalletTransactionsRequest - (*ListWalletTransactionsResponse)(nil), // 134: hyapp.wallet.v1.ListWalletTransactionsResponse - (*VipRewardItem)(nil), // 135: hyapp.wallet.v1.VipRewardItem - (*VipLevel)(nil), // 136: hyapp.wallet.v1.VipLevel - (*UserVip)(nil), // 137: hyapp.wallet.v1.UserVip - (*ListVipPackagesRequest)(nil), // 138: hyapp.wallet.v1.ListVipPackagesRequest - (*ListVipPackagesResponse)(nil), // 139: hyapp.wallet.v1.ListVipPackagesResponse - (*GetMyVipRequest)(nil), // 140: hyapp.wallet.v1.GetMyVipRequest - (*GetMyVipResponse)(nil), // 141: hyapp.wallet.v1.GetMyVipResponse - (*PurchaseVipRequest)(nil), // 142: hyapp.wallet.v1.PurchaseVipRequest - (*PurchaseVipResponse)(nil), // 143: hyapp.wallet.v1.PurchaseVipResponse - (*DebitCPBreakupFeeRequest)(nil), // 144: hyapp.wallet.v1.DebitCPBreakupFeeRequest - (*DebitCPBreakupFeeResponse)(nil), // 145: hyapp.wallet.v1.DebitCPBreakupFeeResponse - (*GrantVipRequest)(nil), // 146: hyapp.wallet.v1.GrantVipRequest - (*GrantVipResponse)(nil), // 147: hyapp.wallet.v1.GrantVipResponse - (*AdminVipLevelInput)(nil), // 148: hyapp.wallet.v1.AdminVipLevelInput - (*ListAdminVipLevelsRequest)(nil), // 149: hyapp.wallet.v1.ListAdminVipLevelsRequest - (*ListAdminVipLevelsResponse)(nil), // 150: hyapp.wallet.v1.ListAdminVipLevelsResponse - (*UpdateAdminVipLevelsRequest)(nil), // 151: hyapp.wallet.v1.UpdateAdminVipLevelsRequest - (*UpdateAdminVipLevelsResponse)(nil), // 152: hyapp.wallet.v1.UpdateAdminVipLevelsResponse - (*CreditTaskRewardRequest)(nil), // 153: hyapp.wallet.v1.CreditTaskRewardRequest - (*CreditTaskRewardResponse)(nil), // 154: hyapp.wallet.v1.CreditTaskRewardResponse - (*CreditLuckyGiftRewardRequest)(nil), // 155: hyapp.wallet.v1.CreditLuckyGiftRewardRequest - (*CreditLuckyGiftRewardResponse)(nil), // 156: hyapp.wallet.v1.CreditLuckyGiftRewardResponse - (*CreditRoomTurnoverRewardRequest)(nil), // 157: hyapp.wallet.v1.CreditRoomTurnoverRewardRequest - (*CreditRoomTurnoverRewardResponse)(nil), // 158: hyapp.wallet.v1.CreditRoomTurnoverRewardResponse - (*CreditInviteActivityRewardRequest)(nil), // 159: hyapp.wallet.v1.CreditInviteActivityRewardRequest - (*CreditInviteActivityRewardResponse)(nil), // 160: hyapp.wallet.v1.CreditInviteActivityRewardResponse - (*ApplyGameCoinChangeRequest)(nil), // 161: hyapp.wallet.v1.ApplyGameCoinChangeRequest - (*ApplyGameCoinChangeResponse)(nil), // 162: hyapp.wallet.v1.ApplyGameCoinChangeResponse - (*RedPacketConfig)(nil), // 163: hyapp.wallet.v1.RedPacketConfig - (*RedPacketClaim)(nil), // 164: hyapp.wallet.v1.RedPacketClaim - (*RedPacket)(nil), // 165: hyapp.wallet.v1.RedPacket - (*GetRedPacketConfigRequest)(nil), // 166: hyapp.wallet.v1.GetRedPacketConfigRequest - (*GetRedPacketConfigResponse)(nil), // 167: hyapp.wallet.v1.GetRedPacketConfigResponse - (*UpdateRedPacketConfigRequest)(nil), // 168: hyapp.wallet.v1.UpdateRedPacketConfigRequest - (*UpdateRedPacketConfigResponse)(nil), // 169: hyapp.wallet.v1.UpdateRedPacketConfigResponse - (*CreateRedPacketRequest)(nil), // 170: hyapp.wallet.v1.CreateRedPacketRequest - (*CreateRedPacketResponse)(nil), // 171: hyapp.wallet.v1.CreateRedPacketResponse - (*ClaimRedPacketRequest)(nil), // 172: hyapp.wallet.v1.ClaimRedPacketRequest - (*ClaimRedPacketResponse)(nil), // 173: hyapp.wallet.v1.ClaimRedPacketResponse - (*ListRedPacketsRequest)(nil), // 174: hyapp.wallet.v1.ListRedPacketsRequest - (*ListRedPacketsResponse)(nil), // 175: hyapp.wallet.v1.ListRedPacketsResponse - (*GetRedPacketRequest)(nil), // 176: hyapp.wallet.v1.GetRedPacketRequest - (*GetRedPacketResponse)(nil), // 177: hyapp.wallet.v1.GetRedPacketResponse - (*ExpireRedPacketsRequest)(nil), // 178: hyapp.wallet.v1.ExpireRedPacketsRequest - (*ExpireRedPacketsResponse)(nil), // 179: hyapp.wallet.v1.ExpireRedPacketsResponse - (*RetryRedPacketRefundRequest)(nil), // 180: hyapp.wallet.v1.RetryRedPacketRefundRequest - (*RetryRedPacketRefundResponse)(nil), // 181: hyapp.wallet.v1.RetryRedPacketRefundResponse - (*CronBatchRequest)(nil), // 182: hyapp.wallet.v1.CronBatchRequest - (*CronBatchResponse)(nil), // 183: hyapp.wallet.v1.CronBatchResponse + (*DebitRobotGiftRequest)(nil), // 6: hyapp.wallet.v1.DebitRobotGiftRequest + (*AssetBalance)(nil), // 7: hyapp.wallet.v1.AssetBalance + (*GetBalancesRequest)(nil), // 8: hyapp.wallet.v1.GetBalancesRequest + (*GetBalancesResponse)(nil), // 9: hyapp.wallet.v1.GetBalancesResponse + (*HostSalaryPolicyLevel)(nil), // 10: hyapp.wallet.v1.HostSalaryPolicyLevel + (*HostSalaryPolicy)(nil), // 11: hyapp.wallet.v1.HostSalaryPolicy + (*GetActiveHostSalaryPolicyRequest)(nil), // 12: hyapp.wallet.v1.GetActiveHostSalaryPolicyRequest + (*GetActiveHostSalaryPolicyResponse)(nil), // 13: hyapp.wallet.v1.GetActiveHostSalaryPolicyResponse + (*HostSalaryProgress)(nil), // 14: hyapp.wallet.v1.HostSalaryProgress + (*GetHostSalaryProgressRequest)(nil), // 15: hyapp.wallet.v1.GetHostSalaryProgressRequest + (*GetHostSalaryProgressResponse)(nil), // 16: hyapp.wallet.v1.GetHostSalaryProgressResponse + (*AdminCreditAssetRequest)(nil), // 17: hyapp.wallet.v1.AdminCreditAssetRequest + (*AdminCreditAssetResponse)(nil), // 18: hyapp.wallet.v1.AdminCreditAssetResponse + (*AdminCreditCoinSellerStockRequest)(nil), // 19: hyapp.wallet.v1.AdminCreditCoinSellerStockRequest + (*AdminCreditCoinSellerStockResponse)(nil), // 20: hyapp.wallet.v1.AdminCreditCoinSellerStockResponse + (*TransferCoinFromSellerRequest)(nil), // 21: hyapp.wallet.v1.TransferCoinFromSellerRequest + (*TransferCoinFromSellerResponse)(nil), // 22: hyapp.wallet.v1.TransferCoinFromSellerResponse + (*CoinSellerSalaryExchangeRateTier)(nil), // 23: hyapp.wallet.v1.CoinSellerSalaryExchangeRateTier + (*ListCoinSellerSalaryExchangeRateTiersRequest)(nil), // 24: hyapp.wallet.v1.ListCoinSellerSalaryExchangeRateTiersRequest + (*ListCoinSellerSalaryExchangeRateTiersResponse)(nil), // 25: hyapp.wallet.v1.ListCoinSellerSalaryExchangeRateTiersResponse + (*ExchangeSalaryToCoinRequest)(nil), // 26: hyapp.wallet.v1.ExchangeSalaryToCoinRequest + (*ExchangeSalaryToCoinResponse)(nil), // 27: hyapp.wallet.v1.ExchangeSalaryToCoinResponse + (*TransferSalaryToCoinSellerRequest)(nil), // 28: hyapp.wallet.v1.TransferSalaryToCoinSellerRequest + (*TransferSalaryToCoinSellerResponse)(nil), // 29: hyapp.wallet.v1.TransferSalaryToCoinSellerResponse + (*Resource)(nil), // 30: hyapp.wallet.v1.Resource + (*ResourceGroupItem)(nil), // 31: hyapp.wallet.v1.ResourceGroupItem + (*ResourceGroup)(nil), // 32: hyapp.wallet.v1.ResourceGroup + (*GiftConfig)(nil), // 33: hyapp.wallet.v1.GiftConfig + (*GiftTypeConfig)(nil), // 34: hyapp.wallet.v1.GiftTypeConfig + (*ResourceShopItem)(nil), // 35: hyapp.wallet.v1.ResourceShopItem + (*UserResourceEntitlement)(nil), // 36: hyapp.wallet.v1.UserResourceEntitlement + (*ResourceGrantItem)(nil), // 37: hyapp.wallet.v1.ResourceGrantItem + (*ResourceGrant)(nil), // 38: hyapp.wallet.v1.ResourceGrant + (*ResourceGroupItemInput)(nil), // 39: hyapp.wallet.v1.ResourceGroupItemInput + (*ListResourcesRequest)(nil), // 40: hyapp.wallet.v1.ListResourcesRequest + (*ListResourcesResponse)(nil), // 41: hyapp.wallet.v1.ListResourcesResponse + (*GetResourceRequest)(nil), // 42: hyapp.wallet.v1.GetResourceRequest + (*GetResourceResponse)(nil), // 43: hyapp.wallet.v1.GetResourceResponse + (*CreateResourceRequest)(nil), // 44: hyapp.wallet.v1.CreateResourceRequest + (*UpdateResourceRequest)(nil), // 45: hyapp.wallet.v1.UpdateResourceRequest + (*SetResourceStatusRequest)(nil), // 46: hyapp.wallet.v1.SetResourceStatusRequest + (*ResourceResponse)(nil), // 47: hyapp.wallet.v1.ResourceResponse + (*ListResourceGroupsRequest)(nil), // 48: hyapp.wallet.v1.ListResourceGroupsRequest + (*ListResourceGroupsResponse)(nil), // 49: hyapp.wallet.v1.ListResourceGroupsResponse + (*GetResourceGroupRequest)(nil), // 50: hyapp.wallet.v1.GetResourceGroupRequest + (*GetResourceGroupResponse)(nil), // 51: hyapp.wallet.v1.GetResourceGroupResponse + (*CreateResourceGroupRequest)(nil), // 52: hyapp.wallet.v1.CreateResourceGroupRequest + (*UpdateResourceGroupRequest)(nil), // 53: hyapp.wallet.v1.UpdateResourceGroupRequest + (*SetResourceGroupStatusRequest)(nil), // 54: hyapp.wallet.v1.SetResourceGroupStatusRequest + (*ResourceGroupResponse)(nil), // 55: hyapp.wallet.v1.ResourceGroupResponse + (*ListGiftConfigsRequest)(nil), // 56: hyapp.wallet.v1.ListGiftConfigsRequest + (*ListGiftConfigsResponse)(nil), // 57: hyapp.wallet.v1.ListGiftConfigsResponse + (*ListGiftTypeConfigsRequest)(nil), // 58: hyapp.wallet.v1.ListGiftTypeConfigsRequest + (*ListGiftTypeConfigsResponse)(nil), // 59: hyapp.wallet.v1.ListGiftTypeConfigsResponse + (*UpsertGiftTypeConfigRequest)(nil), // 60: hyapp.wallet.v1.UpsertGiftTypeConfigRequest + (*GiftTypeConfigResponse)(nil), // 61: hyapp.wallet.v1.GiftTypeConfigResponse + (*CreateGiftConfigRequest)(nil), // 62: hyapp.wallet.v1.CreateGiftConfigRequest + (*UpdateGiftConfigRequest)(nil), // 63: hyapp.wallet.v1.UpdateGiftConfigRequest + (*SetGiftConfigStatusRequest)(nil), // 64: hyapp.wallet.v1.SetGiftConfigStatusRequest + (*DeleteGiftConfigRequest)(nil), // 65: hyapp.wallet.v1.DeleteGiftConfigRequest + (*GiftConfigResponse)(nil), // 66: hyapp.wallet.v1.GiftConfigResponse + (*GrantResourceRequest)(nil), // 67: hyapp.wallet.v1.GrantResourceRequest + (*GrantResourceGroupRequest)(nil), // 68: hyapp.wallet.v1.GrantResourceGroupRequest + (*ResourceGrantResponse)(nil), // 69: hyapp.wallet.v1.ResourceGrantResponse + (*ListUserResourcesRequest)(nil), // 70: hyapp.wallet.v1.ListUserResourcesRequest + (*ListUserResourcesResponse)(nil), // 71: hyapp.wallet.v1.ListUserResourcesResponse + (*EquipUserResourceRequest)(nil), // 72: hyapp.wallet.v1.EquipUserResourceRequest + (*EquipUserResourceResponse)(nil), // 73: hyapp.wallet.v1.EquipUserResourceResponse + (*UnequipUserResourceRequest)(nil), // 74: hyapp.wallet.v1.UnequipUserResourceRequest + (*UnequipUserResourceResponse)(nil), // 75: hyapp.wallet.v1.UnequipUserResourceResponse + (*BatchGetUserEquippedResourcesRequest)(nil), // 76: hyapp.wallet.v1.BatchGetUserEquippedResourcesRequest + (*UserEquippedResources)(nil), // 77: hyapp.wallet.v1.UserEquippedResources + (*BatchGetUserEquippedResourcesResponse)(nil), // 78: hyapp.wallet.v1.BatchGetUserEquippedResourcesResponse + (*ListResourceGrantsRequest)(nil), // 79: hyapp.wallet.v1.ListResourceGrantsRequest + (*ListResourceGrantsResponse)(nil), // 80: hyapp.wallet.v1.ListResourceGrantsResponse + (*ResourceShopItemInput)(nil), // 81: hyapp.wallet.v1.ResourceShopItemInput + (*ListResourceShopItemsRequest)(nil), // 82: hyapp.wallet.v1.ListResourceShopItemsRequest + (*ListResourceShopItemsResponse)(nil), // 83: hyapp.wallet.v1.ListResourceShopItemsResponse + (*UpsertResourceShopItemsRequest)(nil), // 84: hyapp.wallet.v1.UpsertResourceShopItemsRequest + (*UpsertResourceShopItemsResponse)(nil), // 85: hyapp.wallet.v1.UpsertResourceShopItemsResponse + (*SetResourceShopItemStatusRequest)(nil), // 86: hyapp.wallet.v1.SetResourceShopItemStatusRequest + (*ResourceShopItemResponse)(nil), // 87: hyapp.wallet.v1.ResourceShopItemResponse + (*PurchaseResourceShopItemRequest)(nil), // 88: hyapp.wallet.v1.PurchaseResourceShopItemRequest + (*PurchaseResourceShopItemResponse)(nil), // 89: hyapp.wallet.v1.PurchaseResourceShopItemResponse + (*RechargeBill)(nil), // 90: hyapp.wallet.v1.RechargeBill + (*ListRechargeBillsRequest)(nil), // 91: hyapp.wallet.v1.ListRechargeBillsRequest + (*ListRechargeBillsResponse)(nil), // 92: hyapp.wallet.v1.ListRechargeBillsResponse + (*WalletFeatureFlags)(nil), // 93: hyapp.wallet.v1.WalletFeatureFlags + (*GetWalletOverviewRequest)(nil), // 94: hyapp.wallet.v1.GetWalletOverviewRequest + (*GetWalletOverviewResponse)(nil), // 95: hyapp.wallet.v1.GetWalletOverviewResponse + (*WalletValueSummary)(nil), // 96: hyapp.wallet.v1.WalletValueSummary + (*GetWalletValueSummaryRequest)(nil), // 97: hyapp.wallet.v1.GetWalletValueSummaryRequest + (*GetWalletValueSummaryResponse)(nil), // 98: hyapp.wallet.v1.GetWalletValueSummaryResponse + (*GiftWallItem)(nil), // 99: hyapp.wallet.v1.GiftWallItem + (*GetUserGiftWallRequest)(nil), // 100: hyapp.wallet.v1.GetUserGiftWallRequest + (*GetUserGiftWallResponse)(nil), // 101: hyapp.wallet.v1.GetUserGiftWallResponse + (*RechargeProduct)(nil), // 102: hyapp.wallet.v1.RechargeProduct + (*ListRechargeProductsRequest)(nil), // 103: hyapp.wallet.v1.ListRechargeProductsRequest + (*ListRechargeProductsResponse)(nil), // 104: hyapp.wallet.v1.ListRechargeProductsResponse + (*ConfirmGooglePaymentRequest)(nil), // 105: hyapp.wallet.v1.ConfirmGooglePaymentRequest + (*ConfirmGooglePaymentResponse)(nil), // 106: hyapp.wallet.v1.ConfirmGooglePaymentResponse + (*ListAdminRechargeProductsRequest)(nil), // 107: hyapp.wallet.v1.ListAdminRechargeProductsRequest + (*ListAdminRechargeProductsResponse)(nil), // 108: hyapp.wallet.v1.ListAdminRechargeProductsResponse + (*CreateRechargeProductRequest)(nil), // 109: hyapp.wallet.v1.CreateRechargeProductRequest + (*UpdateRechargeProductRequest)(nil), // 110: hyapp.wallet.v1.UpdateRechargeProductRequest + (*DeleteRechargeProductRequest)(nil), // 111: hyapp.wallet.v1.DeleteRechargeProductRequest + (*RechargeProductResponse)(nil), // 112: hyapp.wallet.v1.RechargeProductResponse + (*DeleteRechargeProductResponse)(nil), // 113: hyapp.wallet.v1.DeleteRechargeProductResponse + (*ThirdPartyPaymentMethod)(nil), // 114: hyapp.wallet.v1.ThirdPartyPaymentMethod + (*ThirdPartyPaymentChannel)(nil), // 115: hyapp.wallet.v1.ThirdPartyPaymentChannel + (*ListThirdPartyPaymentChannelsRequest)(nil), // 116: hyapp.wallet.v1.ListThirdPartyPaymentChannelsRequest + (*ListThirdPartyPaymentChannelsResponse)(nil), // 117: hyapp.wallet.v1.ListThirdPartyPaymentChannelsResponse + (*SetThirdPartyPaymentMethodStatusRequest)(nil), // 118: hyapp.wallet.v1.SetThirdPartyPaymentMethodStatusRequest + (*ThirdPartyPaymentMethodResponse)(nil), // 119: hyapp.wallet.v1.ThirdPartyPaymentMethodResponse + (*UpdateThirdPartyPaymentRateRequest)(nil), // 120: hyapp.wallet.v1.UpdateThirdPartyPaymentRateRequest + (*H5RechargeOptionsRequest)(nil), // 121: hyapp.wallet.v1.H5RechargeOptionsRequest + (*H5RechargeOptionsResponse)(nil), // 122: hyapp.wallet.v1.H5RechargeOptionsResponse + (*ExternalRechargeOrder)(nil), // 123: hyapp.wallet.v1.ExternalRechargeOrder + (*CreateH5RechargeOrderRequest)(nil), // 124: hyapp.wallet.v1.CreateH5RechargeOrderRequest + (*SubmitH5RechargeTxRequest)(nil), // 125: hyapp.wallet.v1.SubmitH5RechargeTxRequest + (*GetH5RechargeOrderRequest)(nil), // 126: hyapp.wallet.v1.GetH5RechargeOrderRequest + (*H5RechargeOrderResponse)(nil), // 127: hyapp.wallet.v1.H5RechargeOrderResponse + (*HandleMifapayNotifyRequest)(nil), // 128: hyapp.wallet.v1.HandleMifapayNotifyRequest + (*HandleMifapayNotifyResponse)(nil), // 129: hyapp.wallet.v1.HandleMifapayNotifyResponse + (*DiamondExchangeRule)(nil), // 130: hyapp.wallet.v1.DiamondExchangeRule + (*GetDiamondExchangeConfigRequest)(nil), // 131: hyapp.wallet.v1.GetDiamondExchangeConfigRequest + (*GetDiamondExchangeConfigResponse)(nil), // 132: hyapp.wallet.v1.GetDiamondExchangeConfigResponse + (*WalletTransaction)(nil), // 133: hyapp.wallet.v1.WalletTransaction + (*ListWalletTransactionsRequest)(nil), // 134: hyapp.wallet.v1.ListWalletTransactionsRequest + (*ListWalletTransactionsResponse)(nil), // 135: hyapp.wallet.v1.ListWalletTransactionsResponse + (*VipRewardItem)(nil), // 136: hyapp.wallet.v1.VipRewardItem + (*VipLevel)(nil), // 137: hyapp.wallet.v1.VipLevel + (*UserVip)(nil), // 138: hyapp.wallet.v1.UserVip + (*ListVipPackagesRequest)(nil), // 139: hyapp.wallet.v1.ListVipPackagesRequest + (*ListVipPackagesResponse)(nil), // 140: hyapp.wallet.v1.ListVipPackagesResponse + (*GetMyVipRequest)(nil), // 141: hyapp.wallet.v1.GetMyVipRequest + (*GetMyVipResponse)(nil), // 142: hyapp.wallet.v1.GetMyVipResponse + (*PurchaseVipRequest)(nil), // 143: hyapp.wallet.v1.PurchaseVipRequest + (*PurchaseVipResponse)(nil), // 144: hyapp.wallet.v1.PurchaseVipResponse + (*DebitCPBreakupFeeRequest)(nil), // 145: hyapp.wallet.v1.DebitCPBreakupFeeRequest + (*DebitCPBreakupFeeResponse)(nil), // 146: hyapp.wallet.v1.DebitCPBreakupFeeResponse + (*GrantVipRequest)(nil), // 147: hyapp.wallet.v1.GrantVipRequest + (*GrantVipResponse)(nil), // 148: hyapp.wallet.v1.GrantVipResponse + (*AdminVipLevelInput)(nil), // 149: hyapp.wallet.v1.AdminVipLevelInput + (*ListAdminVipLevelsRequest)(nil), // 150: hyapp.wallet.v1.ListAdminVipLevelsRequest + (*ListAdminVipLevelsResponse)(nil), // 151: hyapp.wallet.v1.ListAdminVipLevelsResponse + (*UpdateAdminVipLevelsRequest)(nil), // 152: hyapp.wallet.v1.UpdateAdminVipLevelsRequest + (*UpdateAdminVipLevelsResponse)(nil), // 153: hyapp.wallet.v1.UpdateAdminVipLevelsResponse + (*CreditTaskRewardRequest)(nil), // 154: hyapp.wallet.v1.CreditTaskRewardRequest + (*CreditTaskRewardResponse)(nil), // 155: hyapp.wallet.v1.CreditTaskRewardResponse + (*CreditLuckyGiftRewardRequest)(nil), // 156: hyapp.wallet.v1.CreditLuckyGiftRewardRequest + (*CreditLuckyGiftRewardResponse)(nil), // 157: hyapp.wallet.v1.CreditLuckyGiftRewardResponse + (*CreditRoomTurnoverRewardRequest)(nil), // 158: hyapp.wallet.v1.CreditRoomTurnoverRewardRequest + (*CreditRoomTurnoverRewardResponse)(nil), // 159: hyapp.wallet.v1.CreditRoomTurnoverRewardResponse + (*CreditInviteActivityRewardRequest)(nil), // 160: hyapp.wallet.v1.CreditInviteActivityRewardRequest + (*CreditInviteActivityRewardResponse)(nil), // 161: hyapp.wallet.v1.CreditInviteActivityRewardResponse + (*ApplyGameCoinChangeRequest)(nil), // 162: hyapp.wallet.v1.ApplyGameCoinChangeRequest + (*ApplyGameCoinChangeResponse)(nil), // 163: hyapp.wallet.v1.ApplyGameCoinChangeResponse + (*RedPacketConfig)(nil), // 164: hyapp.wallet.v1.RedPacketConfig + (*RedPacketClaim)(nil), // 165: hyapp.wallet.v1.RedPacketClaim + (*RedPacket)(nil), // 166: hyapp.wallet.v1.RedPacket + (*GetRedPacketConfigRequest)(nil), // 167: hyapp.wallet.v1.GetRedPacketConfigRequest + (*GetRedPacketConfigResponse)(nil), // 168: hyapp.wallet.v1.GetRedPacketConfigResponse + (*UpdateRedPacketConfigRequest)(nil), // 169: hyapp.wallet.v1.UpdateRedPacketConfigRequest + (*UpdateRedPacketConfigResponse)(nil), // 170: hyapp.wallet.v1.UpdateRedPacketConfigResponse + (*CreateRedPacketRequest)(nil), // 171: hyapp.wallet.v1.CreateRedPacketRequest + (*CreateRedPacketResponse)(nil), // 172: hyapp.wallet.v1.CreateRedPacketResponse + (*ClaimRedPacketRequest)(nil), // 173: hyapp.wallet.v1.ClaimRedPacketRequest + (*ClaimRedPacketResponse)(nil), // 174: hyapp.wallet.v1.ClaimRedPacketResponse + (*ListRedPacketsRequest)(nil), // 175: hyapp.wallet.v1.ListRedPacketsRequest + (*ListRedPacketsResponse)(nil), // 176: hyapp.wallet.v1.ListRedPacketsResponse + (*GetRedPacketRequest)(nil), // 177: hyapp.wallet.v1.GetRedPacketRequest + (*GetRedPacketResponse)(nil), // 178: hyapp.wallet.v1.GetRedPacketResponse + (*ExpireRedPacketsRequest)(nil), // 179: hyapp.wallet.v1.ExpireRedPacketsRequest + (*ExpireRedPacketsResponse)(nil), // 180: hyapp.wallet.v1.ExpireRedPacketsResponse + (*RetryRedPacketRefundRequest)(nil), // 181: hyapp.wallet.v1.RetryRedPacketRefundRequest + (*RetryRedPacketRefundResponse)(nil), // 182: hyapp.wallet.v1.RetryRedPacketRefundResponse + (*CronBatchRequest)(nil), // 183: hyapp.wallet.v1.CronBatchRequest + (*CronBatchResponse)(nil), // 184: hyapp.wallet.v1.CronBatchResponse } var file_proto_wallet_v1_wallet_proto_depIdxs = []int32{ 2, // 0: hyapp.wallet.v1.BatchDebitGiftRequest.targets:type_name -> hyapp.wallet.v1.DebitGiftTarget 1, // 1: hyapp.wallet.v1.BatchDebitGiftReceipt.billing:type_name -> hyapp.wallet.v1.DebitGiftResponse 1, // 2: hyapp.wallet.v1.BatchDebitGiftResponse.aggregate:type_name -> hyapp.wallet.v1.DebitGiftResponse 4, // 3: hyapp.wallet.v1.BatchDebitGiftResponse.receipts:type_name -> hyapp.wallet.v1.BatchDebitGiftReceipt - 6, // 4: hyapp.wallet.v1.GetBalancesResponse.balances:type_name -> hyapp.wallet.v1.AssetBalance - 9, // 5: hyapp.wallet.v1.HostSalaryPolicy.levels:type_name -> hyapp.wallet.v1.HostSalaryPolicyLevel - 10, // 6: hyapp.wallet.v1.GetActiveHostSalaryPolicyResponse.policy:type_name -> hyapp.wallet.v1.HostSalaryPolicy - 13, // 7: hyapp.wallet.v1.GetHostSalaryProgressResponse.progress:type_name -> hyapp.wallet.v1.HostSalaryProgress - 6, // 8: hyapp.wallet.v1.AdminCreditAssetResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance - 22, // 9: hyapp.wallet.v1.ListCoinSellerSalaryExchangeRateTiersResponse.tiers:type_name -> hyapp.wallet.v1.CoinSellerSalaryExchangeRateTier - 29, // 10: hyapp.wallet.v1.ResourceGroupItem.resource:type_name -> hyapp.wallet.v1.Resource - 30, // 11: hyapp.wallet.v1.ResourceGroup.items:type_name -> hyapp.wallet.v1.ResourceGroupItem - 29, // 12: hyapp.wallet.v1.GiftConfig.resource:type_name -> hyapp.wallet.v1.Resource - 29, // 13: hyapp.wallet.v1.ResourceShopItem.resource:type_name -> hyapp.wallet.v1.Resource - 29, // 14: hyapp.wallet.v1.UserResourceEntitlement.resource:type_name -> hyapp.wallet.v1.Resource - 36, // 15: hyapp.wallet.v1.ResourceGrant.items:type_name -> hyapp.wallet.v1.ResourceGrantItem - 29, // 16: hyapp.wallet.v1.ListResourcesResponse.resources:type_name -> hyapp.wallet.v1.Resource - 29, // 17: hyapp.wallet.v1.GetResourceResponse.resource:type_name -> hyapp.wallet.v1.Resource - 29, // 18: hyapp.wallet.v1.ResourceResponse.resource:type_name -> hyapp.wallet.v1.Resource - 31, // 19: hyapp.wallet.v1.ListResourceGroupsResponse.groups:type_name -> hyapp.wallet.v1.ResourceGroup - 31, // 20: hyapp.wallet.v1.GetResourceGroupResponse.group:type_name -> hyapp.wallet.v1.ResourceGroup - 38, // 21: hyapp.wallet.v1.CreateResourceGroupRequest.items:type_name -> hyapp.wallet.v1.ResourceGroupItemInput - 38, // 22: hyapp.wallet.v1.UpdateResourceGroupRequest.items:type_name -> hyapp.wallet.v1.ResourceGroupItemInput - 31, // 23: hyapp.wallet.v1.ResourceGroupResponse.group:type_name -> hyapp.wallet.v1.ResourceGroup - 32, // 24: hyapp.wallet.v1.ListGiftConfigsResponse.gifts:type_name -> hyapp.wallet.v1.GiftConfig - 33, // 25: hyapp.wallet.v1.ListGiftTypeConfigsResponse.gift_types:type_name -> hyapp.wallet.v1.GiftTypeConfig - 33, // 26: hyapp.wallet.v1.GiftTypeConfigResponse.gift_type:type_name -> hyapp.wallet.v1.GiftTypeConfig - 32, // 27: hyapp.wallet.v1.GiftConfigResponse.gift:type_name -> hyapp.wallet.v1.GiftConfig - 37, // 28: hyapp.wallet.v1.ResourceGrantResponse.grant:type_name -> hyapp.wallet.v1.ResourceGrant - 35, // 29: hyapp.wallet.v1.ListUserResourcesResponse.resources:type_name -> hyapp.wallet.v1.UserResourceEntitlement - 35, // 30: hyapp.wallet.v1.EquipUserResourceResponse.resource:type_name -> hyapp.wallet.v1.UserResourceEntitlement - 35, // 31: hyapp.wallet.v1.UserEquippedResources.resources:type_name -> hyapp.wallet.v1.UserResourceEntitlement - 76, // 32: hyapp.wallet.v1.BatchGetUserEquippedResourcesResponse.users:type_name -> hyapp.wallet.v1.UserEquippedResources - 37, // 33: hyapp.wallet.v1.ListResourceGrantsResponse.grants:type_name -> hyapp.wallet.v1.ResourceGrant - 34, // 34: hyapp.wallet.v1.ListResourceShopItemsResponse.items:type_name -> hyapp.wallet.v1.ResourceShopItem - 80, // 35: hyapp.wallet.v1.UpsertResourceShopItemsRequest.items:type_name -> hyapp.wallet.v1.ResourceShopItemInput - 34, // 36: hyapp.wallet.v1.UpsertResourceShopItemsResponse.items:type_name -> hyapp.wallet.v1.ResourceShopItem - 34, // 37: hyapp.wallet.v1.ResourceShopItemResponse.item:type_name -> hyapp.wallet.v1.ResourceShopItem - 34, // 38: hyapp.wallet.v1.PurchaseResourceShopItemResponse.shop_item:type_name -> hyapp.wallet.v1.ResourceShopItem - 35, // 39: hyapp.wallet.v1.PurchaseResourceShopItemResponse.resource:type_name -> hyapp.wallet.v1.UserResourceEntitlement - 6, // 40: hyapp.wallet.v1.PurchaseResourceShopItemResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance - 89, // 41: hyapp.wallet.v1.ListRechargeBillsResponse.bills:type_name -> hyapp.wallet.v1.RechargeBill - 6, // 42: hyapp.wallet.v1.GetWalletOverviewResponse.balances:type_name -> hyapp.wallet.v1.AssetBalance - 92, // 43: hyapp.wallet.v1.GetWalletOverviewResponse.feature_flags:type_name -> hyapp.wallet.v1.WalletFeatureFlags - 95, // 44: hyapp.wallet.v1.GetWalletValueSummaryResponse.summary:type_name -> hyapp.wallet.v1.WalletValueSummary - 29, // 45: hyapp.wallet.v1.GiftWallItem.resource:type_name -> hyapp.wallet.v1.Resource - 98, // 46: hyapp.wallet.v1.GetUserGiftWallResponse.items:type_name -> hyapp.wallet.v1.GiftWallItem - 101, // 47: hyapp.wallet.v1.ListRechargeProductsResponse.products:type_name -> hyapp.wallet.v1.RechargeProduct - 6, // 48: hyapp.wallet.v1.ConfirmGooglePaymentResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance - 101, // 49: hyapp.wallet.v1.ListAdminRechargeProductsResponse.products:type_name -> hyapp.wallet.v1.RechargeProduct - 101, // 50: hyapp.wallet.v1.RechargeProductResponse.product:type_name -> hyapp.wallet.v1.RechargeProduct - 113, // 51: hyapp.wallet.v1.ThirdPartyPaymentChannel.methods:type_name -> hyapp.wallet.v1.ThirdPartyPaymentMethod - 114, // 52: hyapp.wallet.v1.ListThirdPartyPaymentChannelsResponse.channels:type_name -> hyapp.wallet.v1.ThirdPartyPaymentChannel - 113, // 53: hyapp.wallet.v1.ThirdPartyPaymentMethodResponse.method:type_name -> hyapp.wallet.v1.ThirdPartyPaymentMethod - 101, // 54: hyapp.wallet.v1.H5RechargeOptionsResponse.products:type_name -> hyapp.wallet.v1.RechargeProduct - 113, // 55: hyapp.wallet.v1.H5RechargeOptionsResponse.payment_methods:type_name -> hyapp.wallet.v1.ThirdPartyPaymentMethod - 122, // 56: hyapp.wallet.v1.H5RechargeOrderResponse.order:type_name -> hyapp.wallet.v1.ExternalRechargeOrder - 129, // 57: hyapp.wallet.v1.GetDiamondExchangeConfigResponse.rules:type_name -> hyapp.wallet.v1.DiamondExchangeRule - 132, // 58: hyapp.wallet.v1.ListWalletTransactionsResponse.transactions:type_name -> hyapp.wallet.v1.WalletTransaction - 135, // 59: hyapp.wallet.v1.VipLevel.reward_items:type_name -> hyapp.wallet.v1.VipRewardItem - 137, // 60: hyapp.wallet.v1.ListVipPackagesResponse.current_vip:type_name -> hyapp.wallet.v1.UserVip - 136, // 61: hyapp.wallet.v1.ListVipPackagesResponse.packages:type_name -> hyapp.wallet.v1.VipLevel - 137, // 62: hyapp.wallet.v1.GetMyVipResponse.vip:type_name -> hyapp.wallet.v1.UserVip - 137, // 63: hyapp.wallet.v1.PurchaseVipResponse.vip:type_name -> hyapp.wallet.v1.UserVip - 135, // 64: hyapp.wallet.v1.PurchaseVipResponse.reward_items:type_name -> hyapp.wallet.v1.VipRewardItem - 6, // 65: hyapp.wallet.v1.DebitCPBreakupFeeResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance - 137, // 66: hyapp.wallet.v1.GrantVipResponse.vip:type_name -> hyapp.wallet.v1.UserVip - 135, // 67: hyapp.wallet.v1.GrantVipResponse.reward_items:type_name -> hyapp.wallet.v1.VipRewardItem - 136, // 68: hyapp.wallet.v1.ListAdminVipLevelsResponse.levels:type_name -> hyapp.wallet.v1.VipLevel - 148, // 69: hyapp.wallet.v1.UpdateAdminVipLevelsRequest.levels:type_name -> hyapp.wallet.v1.AdminVipLevelInput - 136, // 70: hyapp.wallet.v1.UpdateAdminVipLevelsResponse.levels:type_name -> hyapp.wallet.v1.VipLevel - 6, // 71: hyapp.wallet.v1.CreditTaskRewardResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance - 6, // 72: hyapp.wallet.v1.CreditLuckyGiftRewardResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance - 6, // 73: hyapp.wallet.v1.CreditRoomTurnoverRewardResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance - 6, // 74: hyapp.wallet.v1.CreditInviteActivityRewardResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance - 164, // 75: hyapp.wallet.v1.RedPacket.claims:type_name -> hyapp.wallet.v1.RedPacketClaim - 163, // 76: hyapp.wallet.v1.GetRedPacketConfigResponse.config:type_name -> hyapp.wallet.v1.RedPacketConfig - 163, // 77: hyapp.wallet.v1.UpdateRedPacketConfigResponse.config:type_name -> hyapp.wallet.v1.RedPacketConfig - 165, // 78: hyapp.wallet.v1.CreateRedPacketResponse.packet:type_name -> hyapp.wallet.v1.RedPacket - 164, // 79: hyapp.wallet.v1.ClaimRedPacketResponse.claim:type_name -> hyapp.wallet.v1.RedPacketClaim - 165, // 80: hyapp.wallet.v1.ClaimRedPacketResponse.packet:type_name -> hyapp.wallet.v1.RedPacket - 165, // 81: hyapp.wallet.v1.ListRedPacketsResponse.packets:type_name -> hyapp.wallet.v1.RedPacket - 165, // 82: hyapp.wallet.v1.GetRedPacketResponse.packet:type_name -> hyapp.wallet.v1.RedPacket - 165, // 83: hyapp.wallet.v1.RetryRedPacketRefundResponse.packet:type_name -> hyapp.wallet.v1.RedPacket - 182, // 84: hyapp.wallet.v1.WalletCronService.ProcessHostSalaryDailySettlementBatch:input_type -> hyapp.wallet.v1.CronBatchRequest - 182, // 85: hyapp.wallet.v1.WalletCronService.ProcessHostSalaryHalfMonthSettlementBatch:input_type -> hyapp.wallet.v1.CronBatchRequest - 182, // 86: hyapp.wallet.v1.WalletCronService.ProcessHostSalaryMonthEndBatch:input_type -> hyapp.wallet.v1.CronBatchRequest + 7, // 4: hyapp.wallet.v1.GetBalancesResponse.balances:type_name -> hyapp.wallet.v1.AssetBalance + 10, // 5: hyapp.wallet.v1.HostSalaryPolicy.levels:type_name -> hyapp.wallet.v1.HostSalaryPolicyLevel + 11, // 6: hyapp.wallet.v1.GetActiveHostSalaryPolicyResponse.policy:type_name -> hyapp.wallet.v1.HostSalaryPolicy + 14, // 7: hyapp.wallet.v1.GetHostSalaryProgressResponse.progress:type_name -> hyapp.wallet.v1.HostSalaryProgress + 7, // 8: hyapp.wallet.v1.AdminCreditAssetResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance + 23, // 9: hyapp.wallet.v1.ListCoinSellerSalaryExchangeRateTiersResponse.tiers:type_name -> hyapp.wallet.v1.CoinSellerSalaryExchangeRateTier + 30, // 10: hyapp.wallet.v1.ResourceGroupItem.resource:type_name -> hyapp.wallet.v1.Resource + 31, // 11: hyapp.wallet.v1.ResourceGroup.items:type_name -> hyapp.wallet.v1.ResourceGroupItem + 30, // 12: hyapp.wallet.v1.GiftConfig.resource:type_name -> hyapp.wallet.v1.Resource + 30, // 13: hyapp.wallet.v1.ResourceShopItem.resource:type_name -> hyapp.wallet.v1.Resource + 30, // 14: hyapp.wallet.v1.UserResourceEntitlement.resource:type_name -> hyapp.wallet.v1.Resource + 37, // 15: hyapp.wallet.v1.ResourceGrant.items:type_name -> hyapp.wallet.v1.ResourceGrantItem + 30, // 16: hyapp.wallet.v1.ListResourcesResponse.resources:type_name -> hyapp.wallet.v1.Resource + 30, // 17: hyapp.wallet.v1.GetResourceResponse.resource:type_name -> hyapp.wallet.v1.Resource + 30, // 18: hyapp.wallet.v1.ResourceResponse.resource:type_name -> hyapp.wallet.v1.Resource + 32, // 19: hyapp.wallet.v1.ListResourceGroupsResponse.groups:type_name -> hyapp.wallet.v1.ResourceGroup + 32, // 20: hyapp.wallet.v1.GetResourceGroupResponse.group:type_name -> hyapp.wallet.v1.ResourceGroup + 39, // 21: hyapp.wallet.v1.CreateResourceGroupRequest.items:type_name -> hyapp.wallet.v1.ResourceGroupItemInput + 39, // 22: hyapp.wallet.v1.UpdateResourceGroupRequest.items:type_name -> hyapp.wallet.v1.ResourceGroupItemInput + 32, // 23: hyapp.wallet.v1.ResourceGroupResponse.group:type_name -> hyapp.wallet.v1.ResourceGroup + 33, // 24: hyapp.wallet.v1.ListGiftConfigsResponse.gifts:type_name -> hyapp.wallet.v1.GiftConfig + 34, // 25: hyapp.wallet.v1.ListGiftTypeConfigsResponse.gift_types:type_name -> hyapp.wallet.v1.GiftTypeConfig + 34, // 26: hyapp.wallet.v1.GiftTypeConfigResponse.gift_type:type_name -> hyapp.wallet.v1.GiftTypeConfig + 33, // 27: hyapp.wallet.v1.GiftConfigResponse.gift:type_name -> hyapp.wallet.v1.GiftConfig + 38, // 28: hyapp.wallet.v1.ResourceGrantResponse.grant:type_name -> hyapp.wallet.v1.ResourceGrant + 36, // 29: hyapp.wallet.v1.ListUserResourcesResponse.resources:type_name -> hyapp.wallet.v1.UserResourceEntitlement + 36, // 30: hyapp.wallet.v1.EquipUserResourceResponse.resource:type_name -> hyapp.wallet.v1.UserResourceEntitlement + 36, // 31: hyapp.wallet.v1.UserEquippedResources.resources:type_name -> hyapp.wallet.v1.UserResourceEntitlement + 77, // 32: hyapp.wallet.v1.BatchGetUserEquippedResourcesResponse.users:type_name -> hyapp.wallet.v1.UserEquippedResources + 38, // 33: hyapp.wallet.v1.ListResourceGrantsResponse.grants:type_name -> hyapp.wallet.v1.ResourceGrant + 35, // 34: hyapp.wallet.v1.ListResourceShopItemsResponse.items:type_name -> hyapp.wallet.v1.ResourceShopItem + 81, // 35: hyapp.wallet.v1.UpsertResourceShopItemsRequest.items:type_name -> hyapp.wallet.v1.ResourceShopItemInput + 35, // 36: hyapp.wallet.v1.UpsertResourceShopItemsResponse.items:type_name -> hyapp.wallet.v1.ResourceShopItem + 35, // 37: hyapp.wallet.v1.ResourceShopItemResponse.item:type_name -> hyapp.wallet.v1.ResourceShopItem + 35, // 38: hyapp.wallet.v1.PurchaseResourceShopItemResponse.shop_item:type_name -> hyapp.wallet.v1.ResourceShopItem + 36, // 39: hyapp.wallet.v1.PurchaseResourceShopItemResponse.resource:type_name -> hyapp.wallet.v1.UserResourceEntitlement + 7, // 40: hyapp.wallet.v1.PurchaseResourceShopItemResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance + 90, // 41: hyapp.wallet.v1.ListRechargeBillsResponse.bills:type_name -> hyapp.wallet.v1.RechargeBill + 7, // 42: hyapp.wallet.v1.GetWalletOverviewResponse.balances:type_name -> hyapp.wallet.v1.AssetBalance + 93, // 43: hyapp.wallet.v1.GetWalletOverviewResponse.feature_flags:type_name -> hyapp.wallet.v1.WalletFeatureFlags + 96, // 44: hyapp.wallet.v1.GetWalletValueSummaryResponse.summary:type_name -> hyapp.wallet.v1.WalletValueSummary + 30, // 45: hyapp.wallet.v1.GiftWallItem.resource:type_name -> hyapp.wallet.v1.Resource + 99, // 46: hyapp.wallet.v1.GetUserGiftWallResponse.items:type_name -> hyapp.wallet.v1.GiftWallItem + 102, // 47: hyapp.wallet.v1.ListRechargeProductsResponse.products:type_name -> hyapp.wallet.v1.RechargeProduct + 7, // 48: hyapp.wallet.v1.ConfirmGooglePaymentResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance + 102, // 49: hyapp.wallet.v1.ListAdminRechargeProductsResponse.products:type_name -> hyapp.wallet.v1.RechargeProduct + 102, // 50: hyapp.wallet.v1.RechargeProductResponse.product:type_name -> hyapp.wallet.v1.RechargeProduct + 114, // 51: hyapp.wallet.v1.ThirdPartyPaymentChannel.methods:type_name -> hyapp.wallet.v1.ThirdPartyPaymentMethod + 115, // 52: hyapp.wallet.v1.ListThirdPartyPaymentChannelsResponse.channels:type_name -> hyapp.wallet.v1.ThirdPartyPaymentChannel + 114, // 53: hyapp.wallet.v1.ThirdPartyPaymentMethodResponse.method:type_name -> hyapp.wallet.v1.ThirdPartyPaymentMethod + 102, // 54: hyapp.wallet.v1.H5RechargeOptionsResponse.products:type_name -> hyapp.wallet.v1.RechargeProduct + 114, // 55: hyapp.wallet.v1.H5RechargeOptionsResponse.payment_methods:type_name -> hyapp.wallet.v1.ThirdPartyPaymentMethod + 123, // 56: hyapp.wallet.v1.H5RechargeOrderResponse.order:type_name -> hyapp.wallet.v1.ExternalRechargeOrder + 130, // 57: hyapp.wallet.v1.GetDiamondExchangeConfigResponse.rules:type_name -> hyapp.wallet.v1.DiamondExchangeRule + 133, // 58: hyapp.wallet.v1.ListWalletTransactionsResponse.transactions:type_name -> hyapp.wallet.v1.WalletTransaction + 136, // 59: hyapp.wallet.v1.VipLevel.reward_items:type_name -> hyapp.wallet.v1.VipRewardItem + 138, // 60: hyapp.wallet.v1.ListVipPackagesResponse.current_vip:type_name -> hyapp.wallet.v1.UserVip + 137, // 61: hyapp.wallet.v1.ListVipPackagesResponse.packages:type_name -> hyapp.wallet.v1.VipLevel + 138, // 62: hyapp.wallet.v1.GetMyVipResponse.vip:type_name -> hyapp.wallet.v1.UserVip + 138, // 63: hyapp.wallet.v1.PurchaseVipResponse.vip:type_name -> hyapp.wallet.v1.UserVip + 136, // 64: hyapp.wallet.v1.PurchaseVipResponse.reward_items:type_name -> hyapp.wallet.v1.VipRewardItem + 7, // 65: hyapp.wallet.v1.DebitCPBreakupFeeResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance + 138, // 66: hyapp.wallet.v1.GrantVipResponse.vip:type_name -> hyapp.wallet.v1.UserVip + 136, // 67: hyapp.wallet.v1.GrantVipResponse.reward_items:type_name -> hyapp.wallet.v1.VipRewardItem + 137, // 68: hyapp.wallet.v1.ListAdminVipLevelsResponse.levels:type_name -> hyapp.wallet.v1.VipLevel + 149, // 69: hyapp.wallet.v1.UpdateAdminVipLevelsRequest.levels:type_name -> hyapp.wallet.v1.AdminVipLevelInput + 137, // 70: hyapp.wallet.v1.UpdateAdminVipLevelsResponse.levels:type_name -> hyapp.wallet.v1.VipLevel + 7, // 71: hyapp.wallet.v1.CreditTaskRewardResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance + 7, // 72: hyapp.wallet.v1.CreditLuckyGiftRewardResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance + 7, // 73: hyapp.wallet.v1.CreditRoomTurnoverRewardResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance + 7, // 74: hyapp.wallet.v1.CreditInviteActivityRewardResponse.balance:type_name -> hyapp.wallet.v1.AssetBalance + 165, // 75: hyapp.wallet.v1.RedPacket.claims:type_name -> hyapp.wallet.v1.RedPacketClaim + 164, // 76: hyapp.wallet.v1.GetRedPacketConfigResponse.config:type_name -> hyapp.wallet.v1.RedPacketConfig + 164, // 77: hyapp.wallet.v1.UpdateRedPacketConfigResponse.config:type_name -> hyapp.wallet.v1.RedPacketConfig + 166, // 78: hyapp.wallet.v1.CreateRedPacketResponse.packet:type_name -> hyapp.wallet.v1.RedPacket + 165, // 79: hyapp.wallet.v1.ClaimRedPacketResponse.claim:type_name -> hyapp.wallet.v1.RedPacketClaim + 166, // 80: hyapp.wallet.v1.ClaimRedPacketResponse.packet:type_name -> hyapp.wallet.v1.RedPacket + 166, // 81: hyapp.wallet.v1.ListRedPacketsResponse.packets:type_name -> hyapp.wallet.v1.RedPacket + 166, // 82: hyapp.wallet.v1.GetRedPacketResponse.packet:type_name -> hyapp.wallet.v1.RedPacket + 166, // 83: hyapp.wallet.v1.RetryRedPacketRefundResponse.packet:type_name -> hyapp.wallet.v1.RedPacket + 183, // 84: hyapp.wallet.v1.WalletCronService.ProcessHostSalaryDailySettlementBatch:input_type -> hyapp.wallet.v1.CronBatchRequest + 183, // 85: hyapp.wallet.v1.WalletCronService.ProcessHostSalaryHalfMonthSettlementBatch:input_type -> hyapp.wallet.v1.CronBatchRequest + 183, // 86: hyapp.wallet.v1.WalletCronService.ProcessHostSalaryMonthEndBatch:input_type -> hyapp.wallet.v1.CronBatchRequest 0, // 87: hyapp.wallet.v1.WalletService.DebitGift:input_type -> hyapp.wallet.v1.DebitGiftRequest 3, // 88: hyapp.wallet.v1.WalletService.BatchDebitGift:input_type -> hyapp.wallet.v1.BatchDebitGiftRequest - 7, // 89: hyapp.wallet.v1.WalletService.GetBalances:input_type -> hyapp.wallet.v1.GetBalancesRequest - 11, // 90: hyapp.wallet.v1.WalletService.GetActiveHostSalaryPolicy:input_type -> hyapp.wallet.v1.GetActiveHostSalaryPolicyRequest - 14, // 91: hyapp.wallet.v1.WalletService.GetHostSalaryProgress:input_type -> hyapp.wallet.v1.GetHostSalaryProgressRequest - 16, // 92: hyapp.wallet.v1.WalletService.AdminCreditAsset:input_type -> hyapp.wallet.v1.AdminCreditAssetRequest - 18, // 93: hyapp.wallet.v1.WalletService.AdminCreditCoinSellerStock:input_type -> hyapp.wallet.v1.AdminCreditCoinSellerStockRequest - 20, // 94: hyapp.wallet.v1.WalletService.TransferCoinFromSeller:input_type -> hyapp.wallet.v1.TransferCoinFromSellerRequest - 23, // 95: hyapp.wallet.v1.WalletService.ListCoinSellerSalaryExchangeRateTiers:input_type -> hyapp.wallet.v1.ListCoinSellerSalaryExchangeRateTiersRequest - 25, // 96: hyapp.wallet.v1.WalletService.ExchangeSalaryToCoin:input_type -> hyapp.wallet.v1.ExchangeSalaryToCoinRequest - 27, // 97: hyapp.wallet.v1.WalletService.TransferSalaryToCoinSeller:input_type -> hyapp.wallet.v1.TransferSalaryToCoinSellerRequest - 39, // 98: hyapp.wallet.v1.WalletService.ListResources:input_type -> hyapp.wallet.v1.ListResourcesRequest - 41, // 99: hyapp.wallet.v1.WalletService.GetResource:input_type -> hyapp.wallet.v1.GetResourceRequest - 43, // 100: hyapp.wallet.v1.WalletService.CreateResource:input_type -> hyapp.wallet.v1.CreateResourceRequest - 44, // 101: hyapp.wallet.v1.WalletService.UpdateResource:input_type -> hyapp.wallet.v1.UpdateResourceRequest - 45, // 102: hyapp.wallet.v1.WalletService.SetResourceStatus:input_type -> hyapp.wallet.v1.SetResourceStatusRequest - 47, // 103: hyapp.wallet.v1.WalletService.ListResourceGroups:input_type -> hyapp.wallet.v1.ListResourceGroupsRequest - 49, // 104: hyapp.wallet.v1.WalletService.GetResourceGroup:input_type -> hyapp.wallet.v1.GetResourceGroupRequest - 51, // 105: hyapp.wallet.v1.WalletService.CreateResourceGroup:input_type -> hyapp.wallet.v1.CreateResourceGroupRequest - 52, // 106: hyapp.wallet.v1.WalletService.UpdateResourceGroup:input_type -> hyapp.wallet.v1.UpdateResourceGroupRequest - 53, // 107: hyapp.wallet.v1.WalletService.SetResourceGroupStatus:input_type -> hyapp.wallet.v1.SetResourceGroupStatusRequest - 55, // 108: hyapp.wallet.v1.WalletService.ListGiftConfigs:input_type -> hyapp.wallet.v1.ListGiftConfigsRequest - 57, // 109: hyapp.wallet.v1.WalletService.ListGiftTypeConfigs:input_type -> hyapp.wallet.v1.ListGiftTypeConfigsRequest - 61, // 110: hyapp.wallet.v1.WalletService.CreateGiftConfig:input_type -> hyapp.wallet.v1.CreateGiftConfigRequest - 62, // 111: hyapp.wallet.v1.WalletService.UpdateGiftConfig:input_type -> hyapp.wallet.v1.UpdateGiftConfigRequest - 63, // 112: hyapp.wallet.v1.WalletService.SetGiftConfigStatus:input_type -> hyapp.wallet.v1.SetGiftConfigStatusRequest - 64, // 113: hyapp.wallet.v1.WalletService.DeleteGiftConfig:input_type -> hyapp.wallet.v1.DeleteGiftConfigRequest - 59, // 114: hyapp.wallet.v1.WalletService.UpsertGiftTypeConfig:input_type -> hyapp.wallet.v1.UpsertGiftTypeConfigRequest - 66, // 115: hyapp.wallet.v1.WalletService.GrantResource:input_type -> hyapp.wallet.v1.GrantResourceRequest - 67, // 116: hyapp.wallet.v1.WalletService.GrantResourceGroup:input_type -> hyapp.wallet.v1.GrantResourceGroupRequest - 69, // 117: hyapp.wallet.v1.WalletService.ListUserResources:input_type -> hyapp.wallet.v1.ListUserResourcesRequest - 71, // 118: hyapp.wallet.v1.WalletService.EquipUserResource:input_type -> hyapp.wallet.v1.EquipUserResourceRequest - 73, // 119: hyapp.wallet.v1.WalletService.UnequipUserResource:input_type -> hyapp.wallet.v1.UnequipUserResourceRequest - 75, // 120: hyapp.wallet.v1.WalletService.BatchGetUserEquippedResources:input_type -> hyapp.wallet.v1.BatchGetUserEquippedResourcesRequest - 78, // 121: hyapp.wallet.v1.WalletService.ListResourceGrants:input_type -> hyapp.wallet.v1.ListResourceGrantsRequest - 81, // 122: hyapp.wallet.v1.WalletService.ListResourceShopItems:input_type -> hyapp.wallet.v1.ListResourceShopItemsRequest - 83, // 123: hyapp.wallet.v1.WalletService.UpsertResourceShopItems:input_type -> hyapp.wallet.v1.UpsertResourceShopItemsRequest - 85, // 124: hyapp.wallet.v1.WalletService.SetResourceShopItemStatus:input_type -> hyapp.wallet.v1.SetResourceShopItemStatusRequest - 87, // 125: hyapp.wallet.v1.WalletService.PurchaseResourceShopItem:input_type -> hyapp.wallet.v1.PurchaseResourceShopItemRequest - 90, // 126: hyapp.wallet.v1.WalletService.ListRechargeBills:input_type -> hyapp.wallet.v1.ListRechargeBillsRequest - 93, // 127: hyapp.wallet.v1.WalletService.GetWalletOverview:input_type -> hyapp.wallet.v1.GetWalletOverviewRequest - 96, // 128: hyapp.wallet.v1.WalletService.GetWalletValueSummary:input_type -> hyapp.wallet.v1.GetWalletValueSummaryRequest - 99, // 129: hyapp.wallet.v1.WalletService.GetUserGiftWall:input_type -> hyapp.wallet.v1.GetUserGiftWallRequest - 102, // 130: hyapp.wallet.v1.WalletService.ListRechargeProducts:input_type -> hyapp.wallet.v1.ListRechargeProductsRequest - 104, // 131: hyapp.wallet.v1.WalletService.ConfirmGooglePayment:input_type -> hyapp.wallet.v1.ConfirmGooglePaymentRequest - 106, // 132: hyapp.wallet.v1.WalletService.ListAdminRechargeProducts:input_type -> hyapp.wallet.v1.ListAdminRechargeProductsRequest - 108, // 133: hyapp.wallet.v1.WalletService.CreateRechargeProduct:input_type -> hyapp.wallet.v1.CreateRechargeProductRequest - 109, // 134: hyapp.wallet.v1.WalletService.UpdateRechargeProduct:input_type -> hyapp.wallet.v1.UpdateRechargeProductRequest - 110, // 135: hyapp.wallet.v1.WalletService.DeleteRechargeProduct:input_type -> hyapp.wallet.v1.DeleteRechargeProductRequest - 115, // 136: hyapp.wallet.v1.WalletService.ListThirdPartyPaymentChannels:input_type -> hyapp.wallet.v1.ListThirdPartyPaymentChannelsRequest - 117, // 137: hyapp.wallet.v1.WalletService.SetThirdPartyPaymentMethodStatus:input_type -> hyapp.wallet.v1.SetThirdPartyPaymentMethodStatusRequest - 119, // 138: hyapp.wallet.v1.WalletService.UpdateThirdPartyPaymentRate:input_type -> hyapp.wallet.v1.UpdateThirdPartyPaymentRateRequest - 120, // 139: hyapp.wallet.v1.WalletService.ListH5RechargeOptions:input_type -> hyapp.wallet.v1.H5RechargeOptionsRequest - 123, // 140: hyapp.wallet.v1.WalletService.CreateH5RechargeOrder:input_type -> hyapp.wallet.v1.CreateH5RechargeOrderRequest - 124, // 141: hyapp.wallet.v1.WalletService.SubmitH5RechargeTx:input_type -> hyapp.wallet.v1.SubmitH5RechargeTxRequest - 125, // 142: hyapp.wallet.v1.WalletService.GetH5RechargeOrder:input_type -> hyapp.wallet.v1.GetH5RechargeOrderRequest - 127, // 143: hyapp.wallet.v1.WalletService.HandleMifapayNotify:input_type -> hyapp.wallet.v1.HandleMifapayNotifyRequest - 130, // 144: hyapp.wallet.v1.WalletService.GetDiamondExchangeConfig:input_type -> hyapp.wallet.v1.GetDiamondExchangeConfigRequest - 133, // 145: hyapp.wallet.v1.WalletService.ListWalletTransactions:input_type -> hyapp.wallet.v1.ListWalletTransactionsRequest - 138, // 146: hyapp.wallet.v1.WalletService.ListVipPackages:input_type -> hyapp.wallet.v1.ListVipPackagesRequest - 140, // 147: hyapp.wallet.v1.WalletService.GetMyVip:input_type -> hyapp.wallet.v1.GetMyVipRequest - 142, // 148: hyapp.wallet.v1.WalletService.PurchaseVip:input_type -> hyapp.wallet.v1.PurchaseVipRequest - 144, // 149: hyapp.wallet.v1.WalletService.DebitCPBreakupFee:input_type -> hyapp.wallet.v1.DebitCPBreakupFeeRequest - 146, // 150: hyapp.wallet.v1.WalletService.GrantVip:input_type -> hyapp.wallet.v1.GrantVipRequest - 149, // 151: hyapp.wallet.v1.WalletService.ListAdminVipLevels:input_type -> hyapp.wallet.v1.ListAdminVipLevelsRequest - 151, // 152: hyapp.wallet.v1.WalletService.UpdateAdminVipLevels:input_type -> hyapp.wallet.v1.UpdateAdminVipLevelsRequest - 153, // 153: hyapp.wallet.v1.WalletService.CreditTaskReward:input_type -> hyapp.wallet.v1.CreditTaskRewardRequest - 155, // 154: hyapp.wallet.v1.WalletService.CreditLuckyGiftReward:input_type -> hyapp.wallet.v1.CreditLuckyGiftRewardRequest - 157, // 155: hyapp.wallet.v1.WalletService.CreditRoomTurnoverReward:input_type -> hyapp.wallet.v1.CreditRoomTurnoverRewardRequest - 159, // 156: hyapp.wallet.v1.WalletService.CreditInviteActivityReward:input_type -> hyapp.wallet.v1.CreditInviteActivityRewardRequest - 161, // 157: hyapp.wallet.v1.WalletService.ApplyGameCoinChange:input_type -> hyapp.wallet.v1.ApplyGameCoinChangeRequest - 166, // 158: hyapp.wallet.v1.WalletService.GetRedPacketConfig:input_type -> hyapp.wallet.v1.GetRedPacketConfigRequest - 168, // 159: hyapp.wallet.v1.WalletService.UpdateRedPacketConfig:input_type -> hyapp.wallet.v1.UpdateRedPacketConfigRequest - 170, // 160: hyapp.wallet.v1.WalletService.CreateRedPacket:input_type -> hyapp.wallet.v1.CreateRedPacketRequest - 172, // 161: hyapp.wallet.v1.WalletService.ClaimRedPacket:input_type -> hyapp.wallet.v1.ClaimRedPacketRequest - 174, // 162: hyapp.wallet.v1.WalletService.ListRedPackets:input_type -> hyapp.wallet.v1.ListRedPacketsRequest - 176, // 163: hyapp.wallet.v1.WalletService.GetRedPacket:input_type -> hyapp.wallet.v1.GetRedPacketRequest - 178, // 164: hyapp.wallet.v1.WalletService.ExpireRedPackets:input_type -> hyapp.wallet.v1.ExpireRedPacketsRequest - 180, // 165: hyapp.wallet.v1.WalletService.RetryRedPacketRefund:input_type -> hyapp.wallet.v1.RetryRedPacketRefundRequest - 183, // 166: hyapp.wallet.v1.WalletCronService.ProcessHostSalaryDailySettlementBatch:output_type -> hyapp.wallet.v1.CronBatchResponse - 183, // 167: hyapp.wallet.v1.WalletCronService.ProcessHostSalaryHalfMonthSettlementBatch:output_type -> hyapp.wallet.v1.CronBatchResponse - 183, // 168: hyapp.wallet.v1.WalletCronService.ProcessHostSalaryMonthEndBatch:output_type -> hyapp.wallet.v1.CronBatchResponse - 1, // 169: hyapp.wallet.v1.WalletService.DebitGift:output_type -> hyapp.wallet.v1.DebitGiftResponse - 5, // 170: hyapp.wallet.v1.WalletService.BatchDebitGift:output_type -> hyapp.wallet.v1.BatchDebitGiftResponse - 8, // 171: hyapp.wallet.v1.WalletService.GetBalances:output_type -> hyapp.wallet.v1.GetBalancesResponse - 12, // 172: hyapp.wallet.v1.WalletService.GetActiveHostSalaryPolicy:output_type -> hyapp.wallet.v1.GetActiveHostSalaryPolicyResponse - 15, // 173: hyapp.wallet.v1.WalletService.GetHostSalaryProgress:output_type -> hyapp.wallet.v1.GetHostSalaryProgressResponse - 17, // 174: hyapp.wallet.v1.WalletService.AdminCreditAsset:output_type -> hyapp.wallet.v1.AdminCreditAssetResponse - 19, // 175: hyapp.wallet.v1.WalletService.AdminCreditCoinSellerStock:output_type -> hyapp.wallet.v1.AdminCreditCoinSellerStockResponse - 21, // 176: hyapp.wallet.v1.WalletService.TransferCoinFromSeller:output_type -> hyapp.wallet.v1.TransferCoinFromSellerResponse - 24, // 177: hyapp.wallet.v1.WalletService.ListCoinSellerSalaryExchangeRateTiers:output_type -> hyapp.wallet.v1.ListCoinSellerSalaryExchangeRateTiersResponse - 26, // 178: hyapp.wallet.v1.WalletService.ExchangeSalaryToCoin:output_type -> hyapp.wallet.v1.ExchangeSalaryToCoinResponse - 28, // 179: hyapp.wallet.v1.WalletService.TransferSalaryToCoinSeller:output_type -> hyapp.wallet.v1.TransferSalaryToCoinSellerResponse - 40, // 180: hyapp.wallet.v1.WalletService.ListResources:output_type -> hyapp.wallet.v1.ListResourcesResponse - 42, // 181: hyapp.wallet.v1.WalletService.GetResource:output_type -> hyapp.wallet.v1.GetResourceResponse - 46, // 182: hyapp.wallet.v1.WalletService.CreateResource:output_type -> hyapp.wallet.v1.ResourceResponse - 46, // 183: hyapp.wallet.v1.WalletService.UpdateResource:output_type -> hyapp.wallet.v1.ResourceResponse - 46, // 184: hyapp.wallet.v1.WalletService.SetResourceStatus:output_type -> hyapp.wallet.v1.ResourceResponse - 48, // 185: hyapp.wallet.v1.WalletService.ListResourceGroups:output_type -> hyapp.wallet.v1.ListResourceGroupsResponse - 50, // 186: hyapp.wallet.v1.WalletService.GetResourceGroup:output_type -> hyapp.wallet.v1.GetResourceGroupResponse - 54, // 187: hyapp.wallet.v1.WalletService.CreateResourceGroup:output_type -> hyapp.wallet.v1.ResourceGroupResponse - 54, // 188: hyapp.wallet.v1.WalletService.UpdateResourceGroup:output_type -> hyapp.wallet.v1.ResourceGroupResponse - 54, // 189: hyapp.wallet.v1.WalletService.SetResourceGroupStatus:output_type -> hyapp.wallet.v1.ResourceGroupResponse - 56, // 190: hyapp.wallet.v1.WalletService.ListGiftConfigs:output_type -> hyapp.wallet.v1.ListGiftConfigsResponse - 58, // 191: hyapp.wallet.v1.WalletService.ListGiftTypeConfigs:output_type -> hyapp.wallet.v1.ListGiftTypeConfigsResponse - 65, // 192: hyapp.wallet.v1.WalletService.CreateGiftConfig:output_type -> hyapp.wallet.v1.GiftConfigResponse - 65, // 193: hyapp.wallet.v1.WalletService.UpdateGiftConfig:output_type -> hyapp.wallet.v1.GiftConfigResponse - 65, // 194: hyapp.wallet.v1.WalletService.SetGiftConfigStatus:output_type -> hyapp.wallet.v1.GiftConfigResponse - 65, // 195: hyapp.wallet.v1.WalletService.DeleteGiftConfig:output_type -> hyapp.wallet.v1.GiftConfigResponse - 60, // 196: hyapp.wallet.v1.WalletService.UpsertGiftTypeConfig:output_type -> hyapp.wallet.v1.GiftTypeConfigResponse - 68, // 197: hyapp.wallet.v1.WalletService.GrantResource:output_type -> hyapp.wallet.v1.ResourceGrantResponse - 68, // 198: hyapp.wallet.v1.WalletService.GrantResourceGroup:output_type -> hyapp.wallet.v1.ResourceGrantResponse - 70, // 199: hyapp.wallet.v1.WalletService.ListUserResources:output_type -> hyapp.wallet.v1.ListUserResourcesResponse - 72, // 200: hyapp.wallet.v1.WalletService.EquipUserResource:output_type -> hyapp.wallet.v1.EquipUserResourceResponse - 74, // 201: hyapp.wallet.v1.WalletService.UnequipUserResource:output_type -> hyapp.wallet.v1.UnequipUserResourceResponse - 77, // 202: hyapp.wallet.v1.WalletService.BatchGetUserEquippedResources:output_type -> hyapp.wallet.v1.BatchGetUserEquippedResourcesResponse - 79, // 203: hyapp.wallet.v1.WalletService.ListResourceGrants:output_type -> hyapp.wallet.v1.ListResourceGrantsResponse - 82, // 204: hyapp.wallet.v1.WalletService.ListResourceShopItems:output_type -> hyapp.wallet.v1.ListResourceShopItemsResponse - 84, // 205: hyapp.wallet.v1.WalletService.UpsertResourceShopItems:output_type -> hyapp.wallet.v1.UpsertResourceShopItemsResponse - 86, // 206: hyapp.wallet.v1.WalletService.SetResourceShopItemStatus:output_type -> hyapp.wallet.v1.ResourceShopItemResponse - 88, // 207: hyapp.wallet.v1.WalletService.PurchaseResourceShopItem:output_type -> hyapp.wallet.v1.PurchaseResourceShopItemResponse - 91, // 208: hyapp.wallet.v1.WalletService.ListRechargeBills:output_type -> hyapp.wallet.v1.ListRechargeBillsResponse - 94, // 209: hyapp.wallet.v1.WalletService.GetWalletOverview:output_type -> hyapp.wallet.v1.GetWalletOverviewResponse - 97, // 210: hyapp.wallet.v1.WalletService.GetWalletValueSummary:output_type -> hyapp.wallet.v1.GetWalletValueSummaryResponse - 100, // 211: hyapp.wallet.v1.WalletService.GetUserGiftWall:output_type -> hyapp.wallet.v1.GetUserGiftWallResponse - 103, // 212: hyapp.wallet.v1.WalletService.ListRechargeProducts:output_type -> hyapp.wallet.v1.ListRechargeProductsResponse - 105, // 213: hyapp.wallet.v1.WalletService.ConfirmGooglePayment:output_type -> hyapp.wallet.v1.ConfirmGooglePaymentResponse - 107, // 214: hyapp.wallet.v1.WalletService.ListAdminRechargeProducts:output_type -> hyapp.wallet.v1.ListAdminRechargeProductsResponse - 111, // 215: hyapp.wallet.v1.WalletService.CreateRechargeProduct:output_type -> hyapp.wallet.v1.RechargeProductResponse - 111, // 216: hyapp.wallet.v1.WalletService.UpdateRechargeProduct:output_type -> hyapp.wallet.v1.RechargeProductResponse - 112, // 217: hyapp.wallet.v1.WalletService.DeleteRechargeProduct:output_type -> hyapp.wallet.v1.DeleteRechargeProductResponse - 116, // 218: hyapp.wallet.v1.WalletService.ListThirdPartyPaymentChannels:output_type -> hyapp.wallet.v1.ListThirdPartyPaymentChannelsResponse - 118, // 219: hyapp.wallet.v1.WalletService.SetThirdPartyPaymentMethodStatus:output_type -> hyapp.wallet.v1.ThirdPartyPaymentMethodResponse - 118, // 220: hyapp.wallet.v1.WalletService.UpdateThirdPartyPaymentRate:output_type -> hyapp.wallet.v1.ThirdPartyPaymentMethodResponse - 121, // 221: hyapp.wallet.v1.WalletService.ListH5RechargeOptions:output_type -> hyapp.wallet.v1.H5RechargeOptionsResponse - 126, // 222: hyapp.wallet.v1.WalletService.CreateH5RechargeOrder:output_type -> hyapp.wallet.v1.H5RechargeOrderResponse - 126, // 223: hyapp.wallet.v1.WalletService.SubmitH5RechargeTx:output_type -> hyapp.wallet.v1.H5RechargeOrderResponse - 126, // 224: hyapp.wallet.v1.WalletService.GetH5RechargeOrder:output_type -> hyapp.wallet.v1.H5RechargeOrderResponse - 128, // 225: hyapp.wallet.v1.WalletService.HandleMifapayNotify:output_type -> hyapp.wallet.v1.HandleMifapayNotifyResponse - 131, // 226: hyapp.wallet.v1.WalletService.GetDiamondExchangeConfig:output_type -> hyapp.wallet.v1.GetDiamondExchangeConfigResponse - 134, // 227: hyapp.wallet.v1.WalletService.ListWalletTransactions:output_type -> hyapp.wallet.v1.ListWalletTransactionsResponse - 139, // 228: hyapp.wallet.v1.WalletService.ListVipPackages:output_type -> hyapp.wallet.v1.ListVipPackagesResponse - 141, // 229: hyapp.wallet.v1.WalletService.GetMyVip:output_type -> hyapp.wallet.v1.GetMyVipResponse - 143, // 230: hyapp.wallet.v1.WalletService.PurchaseVip:output_type -> hyapp.wallet.v1.PurchaseVipResponse - 145, // 231: hyapp.wallet.v1.WalletService.DebitCPBreakupFee:output_type -> hyapp.wallet.v1.DebitCPBreakupFeeResponse - 147, // 232: hyapp.wallet.v1.WalletService.GrantVip:output_type -> hyapp.wallet.v1.GrantVipResponse - 150, // 233: hyapp.wallet.v1.WalletService.ListAdminVipLevels:output_type -> hyapp.wallet.v1.ListAdminVipLevelsResponse - 152, // 234: hyapp.wallet.v1.WalletService.UpdateAdminVipLevels:output_type -> hyapp.wallet.v1.UpdateAdminVipLevelsResponse - 154, // 235: hyapp.wallet.v1.WalletService.CreditTaskReward:output_type -> hyapp.wallet.v1.CreditTaskRewardResponse - 156, // 236: hyapp.wallet.v1.WalletService.CreditLuckyGiftReward:output_type -> hyapp.wallet.v1.CreditLuckyGiftRewardResponse - 158, // 237: hyapp.wallet.v1.WalletService.CreditRoomTurnoverReward:output_type -> hyapp.wallet.v1.CreditRoomTurnoverRewardResponse - 160, // 238: hyapp.wallet.v1.WalletService.CreditInviteActivityReward:output_type -> hyapp.wallet.v1.CreditInviteActivityRewardResponse - 162, // 239: hyapp.wallet.v1.WalletService.ApplyGameCoinChange:output_type -> hyapp.wallet.v1.ApplyGameCoinChangeResponse - 167, // 240: hyapp.wallet.v1.WalletService.GetRedPacketConfig:output_type -> hyapp.wallet.v1.GetRedPacketConfigResponse - 169, // 241: hyapp.wallet.v1.WalletService.UpdateRedPacketConfig:output_type -> hyapp.wallet.v1.UpdateRedPacketConfigResponse - 171, // 242: hyapp.wallet.v1.WalletService.CreateRedPacket:output_type -> hyapp.wallet.v1.CreateRedPacketResponse - 173, // 243: hyapp.wallet.v1.WalletService.ClaimRedPacket:output_type -> hyapp.wallet.v1.ClaimRedPacketResponse - 175, // 244: hyapp.wallet.v1.WalletService.ListRedPackets:output_type -> hyapp.wallet.v1.ListRedPacketsResponse - 177, // 245: hyapp.wallet.v1.WalletService.GetRedPacket:output_type -> hyapp.wallet.v1.GetRedPacketResponse - 179, // 246: hyapp.wallet.v1.WalletService.ExpireRedPackets:output_type -> hyapp.wallet.v1.ExpireRedPacketsResponse - 181, // 247: hyapp.wallet.v1.WalletService.RetryRedPacketRefund:output_type -> hyapp.wallet.v1.RetryRedPacketRefundResponse - 166, // [166:248] is the sub-list for method output_type - 84, // [84:166] is the sub-list for method input_type + 6, // 89: hyapp.wallet.v1.WalletService.DebitRobotGift:input_type -> hyapp.wallet.v1.DebitRobotGiftRequest + 8, // 90: hyapp.wallet.v1.WalletService.GetBalances:input_type -> hyapp.wallet.v1.GetBalancesRequest + 12, // 91: hyapp.wallet.v1.WalletService.GetActiveHostSalaryPolicy:input_type -> hyapp.wallet.v1.GetActiveHostSalaryPolicyRequest + 15, // 92: hyapp.wallet.v1.WalletService.GetHostSalaryProgress:input_type -> hyapp.wallet.v1.GetHostSalaryProgressRequest + 17, // 93: hyapp.wallet.v1.WalletService.AdminCreditAsset:input_type -> hyapp.wallet.v1.AdminCreditAssetRequest + 19, // 94: hyapp.wallet.v1.WalletService.AdminCreditCoinSellerStock:input_type -> hyapp.wallet.v1.AdminCreditCoinSellerStockRequest + 21, // 95: hyapp.wallet.v1.WalletService.TransferCoinFromSeller:input_type -> hyapp.wallet.v1.TransferCoinFromSellerRequest + 24, // 96: hyapp.wallet.v1.WalletService.ListCoinSellerSalaryExchangeRateTiers:input_type -> hyapp.wallet.v1.ListCoinSellerSalaryExchangeRateTiersRequest + 26, // 97: hyapp.wallet.v1.WalletService.ExchangeSalaryToCoin:input_type -> hyapp.wallet.v1.ExchangeSalaryToCoinRequest + 28, // 98: hyapp.wallet.v1.WalletService.TransferSalaryToCoinSeller:input_type -> hyapp.wallet.v1.TransferSalaryToCoinSellerRequest + 40, // 99: hyapp.wallet.v1.WalletService.ListResources:input_type -> hyapp.wallet.v1.ListResourcesRequest + 42, // 100: hyapp.wallet.v1.WalletService.GetResource:input_type -> hyapp.wallet.v1.GetResourceRequest + 44, // 101: hyapp.wallet.v1.WalletService.CreateResource:input_type -> hyapp.wallet.v1.CreateResourceRequest + 45, // 102: hyapp.wallet.v1.WalletService.UpdateResource:input_type -> hyapp.wallet.v1.UpdateResourceRequest + 46, // 103: hyapp.wallet.v1.WalletService.SetResourceStatus:input_type -> hyapp.wallet.v1.SetResourceStatusRequest + 48, // 104: hyapp.wallet.v1.WalletService.ListResourceGroups:input_type -> hyapp.wallet.v1.ListResourceGroupsRequest + 50, // 105: hyapp.wallet.v1.WalletService.GetResourceGroup:input_type -> hyapp.wallet.v1.GetResourceGroupRequest + 52, // 106: hyapp.wallet.v1.WalletService.CreateResourceGroup:input_type -> hyapp.wallet.v1.CreateResourceGroupRequest + 53, // 107: hyapp.wallet.v1.WalletService.UpdateResourceGroup:input_type -> hyapp.wallet.v1.UpdateResourceGroupRequest + 54, // 108: hyapp.wallet.v1.WalletService.SetResourceGroupStatus:input_type -> hyapp.wallet.v1.SetResourceGroupStatusRequest + 56, // 109: hyapp.wallet.v1.WalletService.ListGiftConfigs:input_type -> hyapp.wallet.v1.ListGiftConfigsRequest + 58, // 110: hyapp.wallet.v1.WalletService.ListGiftTypeConfigs:input_type -> hyapp.wallet.v1.ListGiftTypeConfigsRequest + 62, // 111: hyapp.wallet.v1.WalletService.CreateGiftConfig:input_type -> hyapp.wallet.v1.CreateGiftConfigRequest + 63, // 112: hyapp.wallet.v1.WalletService.UpdateGiftConfig:input_type -> hyapp.wallet.v1.UpdateGiftConfigRequest + 64, // 113: hyapp.wallet.v1.WalletService.SetGiftConfigStatus:input_type -> hyapp.wallet.v1.SetGiftConfigStatusRequest + 65, // 114: hyapp.wallet.v1.WalletService.DeleteGiftConfig:input_type -> hyapp.wallet.v1.DeleteGiftConfigRequest + 60, // 115: hyapp.wallet.v1.WalletService.UpsertGiftTypeConfig:input_type -> hyapp.wallet.v1.UpsertGiftTypeConfigRequest + 67, // 116: hyapp.wallet.v1.WalletService.GrantResource:input_type -> hyapp.wallet.v1.GrantResourceRequest + 68, // 117: hyapp.wallet.v1.WalletService.GrantResourceGroup:input_type -> hyapp.wallet.v1.GrantResourceGroupRequest + 70, // 118: hyapp.wallet.v1.WalletService.ListUserResources:input_type -> hyapp.wallet.v1.ListUserResourcesRequest + 72, // 119: hyapp.wallet.v1.WalletService.EquipUserResource:input_type -> hyapp.wallet.v1.EquipUserResourceRequest + 74, // 120: hyapp.wallet.v1.WalletService.UnequipUserResource:input_type -> hyapp.wallet.v1.UnequipUserResourceRequest + 76, // 121: hyapp.wallet.v1.WalletService.BatchGetUserEquippedResources:input_type -> hyapp.wallet.v1.BatchGetUserEquippedResourcesRequest + 79, // 122: hyapp.wallet.v1.WalletService.ListResourceGrants:input_type -> hyapp.wallet.v1.ListResourceGrantsRequest + 82, // 123: hyapp.wallet.v1.WalletService.ListResourceShopItems:input_type -> hyapp.wallet.v1.ListResourceShopItemsRequest + 84, // 124: hyapp.wallet.v1.WalletService.UpsertResourceShopItems:input_type -> hyapp.wallet.v1.UpsertResourceShopItemsRequest + 86, // 125: hyapp.wallet.v1.WalletService.SetResourceShopItemStatus:input_type -> hyapp.wallet.v1.SetResourceShopItemStatusRequest + 88, // 126: hyapp.wallet.v1.WalletService.PurchaseResourceShopItem:input_type -> hyapp.wallet.v1.PurchaseResourceShopItemRequest + 91, // 127: hyapp.wallet.v1.WalletService.ListRechargeBills:input_type -> hyapp.wallet.v1.ListRechargeBillsRequest + 94, // 128: hyapp.wallet.v1.WalletService.GetWalletOverview:input_type -> hyapp.wallet.v1.GetWalletOverviewRequest + 97, // 129: hyapp.wallet.v1.WalletService.GetWalletValueSummary:input_type -> hyapp.wallet.v1.GetWalletValueSummaryRequest + 100, // 130: hyapp.wallet.v1.WalletService.GetUserGiftWall:input_type -> hyapp.wallet.v1.GetUserGiftWallRequest + 103, // 131: hyapp.wallet.v1.WalletService.ListRechargeProducts:input_type -> hyapp.wallet.v1.ListRechargeProductsRequest + 105, // 132: hyapp.wallet.v1.WalletService.ConfirmGooglePayment:input_type -> hyapp.wallet.v1.ConfirmGooglePaymentRequest + 107, // 133: hyapp.wallet.v1.WalletService.ListAdminRechargeProducts:input_type -> hyapp.wallet.v1.ListAdminRechargeProductsRequest + 109, // 134: hyapp.wallet.v1.WalletService.CreateRechargeProduct:input_type -> hyapp.wallet.v1.CreateRechargeProductRequest + 110, // 135: hyapp.wallet.v1.WalletService.UpdateRechargeProduct:input_type -> hyapp.wallet.v1.UpdateRechargeProductRequest + 111, // 136: hyapp.wallet.v1.WalletService.DeleteRechargeProduct:input_type -> hyapp.wallet.v1.DeleteRechargeProductRequest + 116, // 137: hyapp.wallet.v1.WalletService.ListThirdPartyPaymentChannels:input_type -> hyapp.wallet.v1.ListThirdPartyPaymentChannelsRequest + 118, // 138: hyapp.wallet.v1.WalletService.SetThirdPartyPaymentMethodStatus:input_type -> hyapp.wallet.v1.SetThirdPartyPaymentMethodStatusRequest + 120, // 139: hyapp.wallet.v1.WalletService.UpdateThirdPartyPaymentRate:input_type -> hyapp.wallet.v1.UpdateThirdPartyPaymentRateRequest + 121, // 140: hyapp.wallet.v1.WalletService.ListH5RechargeOptions:input_type -> hyapp.wallet.v1.H5RechargeOptionsRequest + 124, // 141: hyapp.wallet.v1.WalletService.CreateH5RechargeOrder:input_type -> hyapp.wallet.v1.CreateH5RechargeOrderRequest + 125, // 142: hyapp.wallet.v1.WalletService.SubmitH5RechargeTx:input_type -> hyapp.wallet.v1.SubmitH5RechargeTxRequest + 126, // 143: hyapp.wallet.v1.WalletService.GetH5RechargeOrder:input_type -> hyapp.wallet.v1.GetH5RechargeOrderRequest + 128, // 144: hyapp.wallet.v1.WalletService.HandleMifapayNotify:input_type -> hyapp.wallet.v1.HandleMifapayNotifyRequest + 131, // 145: hyapp.wallet.v1.WalletService.GetDiamondExchangeConfig:input_type -> hyapp.wallet.v1.GetDiamondExchangeConfigRequest + 134, // 146: hyapp.wallet.v1.WalletService.ListWalletTransactions:input_type -> hyapp.wallet.v1.ListWalletTransactionsRequest + 139, // 147: hyapp.wallet.v1.WalletService.ListVipPackages:input_type -> hyapp.wallet.v1.ListVipPackagesRequest + 141, // 148: hyapp.wallet.v1.WalletService.GetMyVip:input_type -> hyapp.wallet.v1.GetMyVipRequest + 143, // 149: hyapp.wallet.v1.WalletService.PurchaseVip:input_type -> hyapp.wallet.v1.PurchaseVipRequest + 145, // 150: hyapp.wallet.v1.WalletService.DebitCPBreakupFee:input_type -> hyapp.wallet.v1.DebitCPBreakupFeeRequest + 147, // 151: hyapp.wallet.v1.WalletService.GrantVip:input_type -> hyapp.wallet.v1.GrantVipRequest + 150, // 152: hyapp.wallet.v1.WalletService.ListAdminVipLevels:input_type -> hyapp.wallet.v1.ListAdminVipLevelsRequest + 152, // 153: hyapp.wallet.v1.WalletService.UpdateAdminVipLevels:input_type -> hyapp.wallet.v1.UpdateAdminVipLevelsRequest + 154, // 154: hyapp.wallet.v1.WalletService.CreditTaskReward:input_type -> hyapp.wallet.v1.CreditTaskRewardRequest + 156, // 155: hyapp.wallet.v1.WalletService.CreditLuckyGiftReward:input_type -> hyapp.wallet.v1.CreditLuckyGiftRewardRequest + 158, // 156: hyapp.wallet.v1.WalletService.CreditRoomTurnoverReward:input_type -> hyapp.wallet.v1.CreditRoomTurnoverRewardRequest + 160, // 157: hyapp.wallet.v1.WalletService.CreditInviteActivityReward:input_type -> hyapp.wallet.v1.CreditInviteActivityRewardRequest + 162, // 158: hyapp.wallet.v1.WalletService.ApplyGameCoinChange:input_type -> hyapp.wallet.v1.ApplyGameCoinChangeRequest + 167, // 159: hyapp.wallet.v1.WalletService.GetRedPacketConfig:input_type -> hyapp.wallet.v1.GetRedPacketConfigRequest + 169, // 160: hyapp.wallet.v1.WalletService.UpdateRedPacketConfig:input_type -> hyapp.wallet.v1.UpdateRedPacketConfigRequest + 171, // 161: hyapp.wallet.v1.WalletService.CreateRedPacket:input_type -> hyapp.wallet.v1.CreateRedPacketRequest + 173, // 162: hyapp.wallet.v1.WalletService.ClaimRedPacket:input_type -> hyapp.wallet.v1.ClaimRedPacketRequest + 175, // 163: hyapp.wallet.v1.WalletService.ListRedPackets:input_type -> hyapp.wallet.v1.ListRedPacketsRequest + 177, // 164: hyapp.wallet.v1.WalletService.GetRedPacket:input_type -> hyapp.wallet.v1.GetRedPacketRequest + 179, // 165: hyapp.wallet.v1.WalletService.ExpireRedPackets:input_type -> hyapp.wallet.v1.ExpireRedPacketsRequest + 181, // 166: hyapp.wallet.v1.WalletService.RetryRedPacketRefund:input_type -> hyapp.wallet.v1.RetryRedPacketRefundRequest + 184, // 167: hyapp.wallet.v1.WalletCronService.ProcessHostSalaryDailySettlementBatch:output_type -> hyapp.wallet.v1.CronBatchResponse + 184, // 168: hyapp.wallet.v1.WalletCronService.ProcessHostSalaryHalfMonthSettlementBatch:output_type -> hyapp.wallet.v1.CronBatchResponse + 184, // 169: hyapp.wallet.v1.WalletCronService.ProcessHostSalaryMonthEndBatch:output_type -> hyapp.wallet.v1.CronBatchResponse + 1, // 170: hyapp.wallet.v1.WalletService.DebitGift:output_type -> hyapp.wallet.v1.DebitGiftResponse + 5, // 171: hyapp.wallet.v1.WalletService.BatchDebitGift:output_type -> hyapp.wallet.v1.BatchDebitGiftResponse + 1, // 172: hyapp.wallet.v1.WalletService.DebitRobotGift:output_type -> hyapp.wallet.v1.DebitGiftResponse + 9, // 173: hyapp.wallet.v1.WalletService.GetBalances:output_type -> hyapp.wallet.v1.GetBalancesResponse + 13, // 174: hyapp.wallet.v1.WalletService.GetActiveHostSalaryPolicy:output_type -> hyapp.wallet.v1.GetActiveHostSalaryPolicyResponse + 16, // 175: hyapp.wallet.v1.WalletService.GetHostSalaryProgress:output_type -> hyapp.wallet.v1.GetHostSalaryProgressResponse + 18, // 176: hyapp.wallet.v1.WalletService.AdminCreditAsset:output_type -> hyapp.wallet.v1.AdminCreditAssetResponse + 20, // 177: hyapp.wallet.v1.WalletService.AdminCreditCoinSellerStock:output_type -> hyapp.wallet.v1.AdminCreditCoinSellerStockResponse + 22, // 178: hyapp.wallet.v1.WalletService.TransferCoinFromSeller:output_type -> hyapp.wallet.v1.TransferCoinFromSellerResponse + 25, // 179: hyapp.wallet.v1.WalletService.ListCoinSellerSalaryExchangeRateTiers:output_type -> hyapp.wallet.v1.ListCoinSellerSalaryExchangeRateTiersResponse + 27, // 180: hyapp.wallet.v1.WalletService.ExchangeSalaryToCoin:output_type -> hyapp.wallet.v1.ExchangeSalaryToCoinResponse + 29, // 181: hyapp.wallet.v1.WalletService.TransferSalaryToCoinSeller:output_type -> hyapp.wallet.v1.TransferSalaryToCoinSellerResponse + 41, // 182: hyapp.wallet.v1.WalletService.ListResources:output_type -> hyapp.wallet.v1.ListResourcesResponse + 43, // 183: hyapp.wallet.v1.WalletService.GetResource:output_type -> hyapp.wallet.v1.GetResourceResponse + 47, // 184: hyapp.wallet.v1.WalletService.CreateResource:output_type -> hyapp.wallet.v1.ResourceResponse + 47, // 185: hyapp.wallet.v1.WalletService.UpdateResource:output_type -> hyapp.wallet.v1.ResourceResponse + 47, // 186: hyapp.wallet.v1.WalletService.SetResourceStatus:output_type -> hyapp.wallet.v1.ResourceResponse + 49, // 187: hyapp.wallet.v1.WalletService.ListResourceGroups:output_type -> hyapp.wallet.v1.ListResourceGroupsResponse + 51, // 188: hyapp.wallet.v1.WalletService.GetResourceGroup:output_type -> hyapp.wallet.v1.GetResourceGroupResponse + 55, // 189: hyapp.wallet.v1.WalletService.CreateResourceGroup:output_type -> hyapp.wallet.v1.ResourceGroupResponse + 55, // 190: hyapp.wallet.v1.WalletService.UpdateResourceGroup:output_type -> hyapp.wallet.v1.ResourceGroupResponse + 55, // 191: hyapp.wallet.v1.WalletService.SetResourceGroupStatus:output_type -> hyapp.wallet.v1.ResourceGroupResponse + 57, // 192: hyapp.wallet.v1.WalletService.ListGiftConfigs:output_type -> hyapp.wallet.v1.ListGiftConfigsResponse + 59, // 193: hyapp.wallet.v1.WalletService.ListGiftTypeConfigs:output_type -> hyapp.wallet.v1.ListGiftTypeConfigsResponse + 66, // 194: hyapp.wallet.v1.WalletService.CreateGiftConfig:output_type -> hyapp.wallet.v1.GiftConfigResponse + 66, // 195: hyapp.wallet.v1.WalletService.UpdateGiftConfig:output_type -> hyapp.wallet.v1.GiftConfigResponse + 66, // 196: hyapp.wallet.v1.WalletService.SetGiftConfigStatus:output_type -> hyapp.wallet.v1.GiftConfigResponse + 66, // 197: hyapp.wallet.v1.WalletService.DeleteGiftConfig:output_type -> hyapp.wallet.v1.GiftConfigResponse + 61, // 198: hyapp.wallet.v1.WalletService.UpsertGiftTypeConfig:output_type -> hyapp.wallet.v1.GiftTypeConfigResponse + 69, // 199: hyapp.wallet.v1.WalletService.GrantResource:output_type -> hyapp.wallet.v1.ResourceGrantResponse + 69, // 200: hyapp.wallet.v1.WalletService.GrantResourceGroup:output_type -> hyapp.wallet.v1.ResourceGrantResponse + 71, // 201: hyapp.wallet.v1.WalletService.ListUserResources:output_type -> hyapp.wallet.v1.ListUserResourcesResponse + 73, // 202: hyapp.wallet.v1.WalletService.EquipUserResource:output_type -> hyapp.wallet.v1.EquipUserResourceResponse + 75, // 203: hyapp.wallet.v1.WalletService.UnequipUserResource:output_type -> hyapp.wallet.v1.UnequipUserResourceResponse + 78, // 204: hyapp.wallet.v1.WalletService.BatchGetUserEquippedResources:output_type -> hyapp.wallet.v1.BatchGetUserEquippedResourcesResponse + 80, // 205: hyapp.wallet.v1.WalletService.ListResourceGrants:output_type -> hyapp.wallet.v1.ListResourceGrantsResponse + 83, // 206: hyapp.wallet.v1.WalletService.ListResourceShopItems:output_type -> hyapp.wallet.v1.ListResourceShopItemsResponse + 85, // 207: hyapp.wallet.v1.WalletService.UpsertResourceShopItems:output_type -> hyapp.wallet.v1.UpsertResourceShopItemsResponse + 87, // 208: hyapp.wallet.v1.WalletService.SetResourceShopItemStatus:output_type -> hyapp.wallet.v1.ResourceShopItemResponse + 89, // 209: hyapp.wallet.v1.WalletService.PurchaseResourceShopItem:output_type -> hyapp.wallet.v1.PurchaseResourceShopItemResponse + 92, // 210: hyapp.wallet.v1.WalletService.ListRechargeBills:output_type -> hyapp.wallet.v1.ListRechargeBillsResponse + 95, // 211: hyapp.wallet.v1.WalletService.GetWalletOverview:output_type -> hyapp.wallet.v1.GetWalletOverviewResponse + 98, // 212: hyapp.wallet.v1.WalletService.GetWalletValueSummary:output_type -> hyapp.wallet.v1.GetWalletValueSummaryResponse + 101, // 213: hyapp.wallet.v1.WalletService.GetUserGiftWall:output_type -> hyapp.wallet.v1.GetUserGiftWallResponse + 104, // 214: hyapp.wallet.v1.WalletService.ListRechargeProducts:output_type -> hyapp.wallet.v1.ListRechargeProductsResponse + 106, // 215: hyapp.wallet.v1.WalletService.ConfirmGooglePayment:output_type -> hyapp.wallet.v1.ConfirmGooglePaymentResponse + 108, // 216: hyapp.wallet.v1.WalletService.ListAdminRechargeProducts:output_type -> hyapp.wallet.v1.ListAdminRechargeProductsResponse + 112, // 217: hyapp.wallet.v1.WalletService.CreateRechargeProduct:output_type -> hyapp.wallet.v1.RechargeProductResponse + 112, // 218: hyapp.wallet.v1.WalletService.UpdateRechargeProduct:output_type -> hyapp.wallet.v1.RechargeProductResponse + 113, // 219: hyapp.wallet.v1.WalletService.DeleteRechargeProduct:output_type -> hyapp.wallet.v1.DeleteRechargeProductResponse + 117, // 220: hyapp.wallet.v1.WalletService.ListThirdPartyPaymentChannels:output_type -> hyapp.wallet.v1.ListThirdPartyPaymentChannelsResponse + 119, // 221: hyapp.wallet.v1.WalletService.SetThirdPartyPaymentMethodStatus:output_type -> hyapp.wallet.v1.ThirdPartyPaymentMethodResponse + 119, // 222: hyapp.wallet.v1.WalletService.UpdateThirdPartyPaymentRate:output_type -> hyapp.wallet.v1.ThirdPartyPaymentMethodResponse + 122, // 223: hyapp.wallet.v1.WalletService.ListH5RechargeOptions:output_type -> hyapp.wallet.v1.H5RechargeOptionsResponse + 127, // 224: hyapp.wallet.v1.WalletService.CreateH5RechargeOrder:output_type -> hyapp.wallet.v1.H5RechargeOrderResponse + 127, // 225: hyapp.wallet.v1.WalletService.SubmitH5RechargeTx:output_type -> hyapp.wallet.v1.H5RechargeOrderResponse + 127, // 226: hyapp.wallet.v1.WalletService.GetH5RechargeOrder:output_type -> hyapp.wallet.v1.H5RechargeOrderResponse + 129, // 227: hyapp.wallet.v1.WalletService.HandleMifapayNotify:output_type -> hyapp.wallet.v1.HandleMifapayNotifyResponse + 132, // 228: hyapp.wallet.v1.WalletService.GetDiamondExchangeConfig:output_type -> hyapp.wallet.v1.GetDiamondExchangeConfigResponse + 135, // 229: hyapp.wallet.v1.WalletService.ListWalletTransactions:output_type -> hyapp.wallet.v1.ListWalletTransactionsResponse + 140, // 230: hyapp.wallet.v1.WalletService.ListVipPackages:output_type -> hyapp.wallet.v1.ListVipPackagesResponse + 142, // 231: hyapp.wallet.v1.WalletService.GetMyVip:output_type -> hyapp.wallet.v1.GetMyVipResponse + 144, // 232: hyapp.wallet.v1.WalletService.PurchaseVip:output_type -> hyapp.wallet.v1.PurchaseVipResponse + 146, // 233: hyapp.wallet.v1.WalletService.DebitCPBreakupFee:output_type -> hyapp.wallet.v1.DebitCPBreakupFeeResponse + 148, // 234: hyapp.wallet.v1.WalletService.GrantVip:output_type -> hyapp.wallet.v1.GrantVipResponse + 151, // 235: hyapp.wallet.v1.WalletService.ListAdminVipLevels:output_type -> hyapp.wallet.v1.ListAdminVipLevelsResponse + 153, // 236: hyapp.wallet.v1.WalletService.UpdateAdminVipLevels:output_type -> hyapp.wallet.v1.UpdateAdminVipLevelsResponse + 155, // 237: hyapp.wallet.v1.WalletService.CreditTaskReward:output_type -> hyapp.wallet.v1.CreditTaskRewardResponse + 157, // 238: hyapp.wallet.v1.WalletService.CreditLuckyGiftReward:output_type -> hyapp.wallet.v1.CreditLuckyGiftRewardResponse + 159, // 239: hyapp.wallet.v1.WalletService.CreditRoomTurnoverReward:output_type -> hyapp.wallet.v1.CreditRoomTurnoverRewardResponse + 161, // 240: hyapp.wallet.v1.WalletService.CreditInviteActivityReward:output_type -> hyapp.wallet.v1.CreditInviteActivityRewardResponse + 163, // 241: hyapp.wallet.v1.WalletService.ApplyGameCoinChange:output_type -> hyapp.wallet.v1.ApplyGameCoinChangeResponse + 168, // 242: hyapp.wallet.v1.WalletService.GetRedPacketConfig:output_type -> hyapp.wallet.v1.GetRedPacketConfigResponse + 170, // 243: hyapp.wallet.v1.WalletService.UpdateRedPacketConfig:output_type -> hyapp.wallet.v1.UpdateRedPacketConfigResponse + 172, // 244: hyapp.wallet.v1.WalletService.CreateRedPacket:output_type -> hyapp.wallet.v1.CreateRedPacketResponse + 174, // 245: hyapp.wallet.v1.WalletService.ClaimRedPacket:output_type -> hyapp.wallet.v1.ClaimRedPacketResponse + 176, // 246: hyapp.wallet.v1.WalletService.ListRedPackets:output_type -> hyapp.wallet.v1.ListRedPacketsResponse + 178, // 247: hyapp.wallet.v1.WalletService.GetRedPacket:output_type -> hyapp.wallet.v1.GetRedPacketResponse + 180, // 248: hyapp.wallet.v1.WalletService.ExpireRedPackets:output_type -> hyapp.wallet.v1.ExpireRedPacketsResponse + 182, // 249: hyapp.wallet.v1.WalletService.RetryRedPacketRefund:output_type -> hyapp.wallet.v1.RetryRedPacketRefundResponse + 167, // [167:250] is the sub-list for method output_type + 84, // [84:167] is the sub-list for method input_type 84, // [84:84] is the sub-list for extension type_name 84, // [84:84] is the sub-list for extension extendee 0, // [0:84] is the sub-list for field type_name @@ -18495,15 +18631,15 @@ func file_proto_wallet_v1_wallet_proto_init() { if File_proto_wallet_v1_wallet_proto != nil { return } - file_proto_wallet_v1_wallet_proto_msgTypes[43].OneofWrappers = []any{} file_proto_wallet_v1_wallet_proto_msgTypes[44].OneofWrappers = []any{} + file_proto_wallet_v1_wallet_proto_msgTypes[45].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_wallet_v1_wallet_proto_rawDesc), len(file_proto_wallet_v1_wallet_proto_rawDesc)), NumEnums: 0, - NumMessages: 184, + NumMessages: 185, NumExtensions: 0, NumServices: 2, }, diff --git a/api/proto/wallet/v1/wallet.proto b/api/proto/wallet/v1/wallet.proto index bf7f1101..189b216a 100644 --- a/api/proto/wallet/v1/wallet.proto +++ b/api/proto/wallet/v1/wallet.proto @@ -91,6 +91,21 @@ message BatchDebitGiftResponse { repeated BatchDebitGiftReceipt receipts = 2; } +// DebitRobotGiftRequest 是机器人房间内部送礼扣费命令。 +// 它只扣 ROBOT_COIN,不产生主播钻石、真实充值消费流水或普通礼物墙投影。 +message DebitRobotGiftRequest { + string command_id = 1; + string room_id = 2; + int64 sender_user_id = 3; + int64 target_user_id = 4; + string gift_id = 5; + int32 gift_count = 6; + string price_version = 7; + string app_code = 8; + int64 region_id = 9; + int64 sender_region_id = 10; +} + // AssetBalance 是用户某类资产的余额投影。 message AssetBalance { string asset_type = 1; @@ -1829,6 +1844,7 @@ service WalletCronService { service WalletService { rpc DebitGift(DebitGiftRequest) returns (DebitGiftResponse); rpc BatchDebitGift(BatchDebitGiftRequest) returns (BatchDebitGiftResponse); + rpc DebitRobotGift(DebitRobotGiftRequest) returns (DebitGiftResponse); rpc GetBalances(GetBalancesRequest) returns (GetBalancesResponse); rpc GetActiveHostSalaryPolicy(GetActiveHostSalaryPolicyRequest) returns (GetActiveHostSalaryPolicyResponse); rpc GetHostSalaryProgress(GetHostSalaryProgressRequest) returns (GetHostSalaryProgressResponse); diff --git a/api/proto/wallet/v1/wallet_grpc.pb.go b/api/proto/wallet/v1/wallet_grpc.pb.go index 808819e7..d3ea9735 100644 --- a/api/proto/wallet/v1/wallet_grpc.pb.go +++ b/api/proto/wallet/v1/wallet_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.6.2 -// - protoc v7.35.0 +// - protoc v5.29.2 // source: proto/wallet/v1/wallet.proto package walletv1 @@ -203,6 +203,7 @@ var WalletCronService_ServiceDesc = grpc.ServiceDesc{ const ( WalletService_DebitGift_FullMethodName = "/hyapp.wallet.v1.WalletService/DebitGift" WalletService_BatchDebitGift_FullMethodName = "/hyapp.wallet.v1.WalletService/BatchDebitGift" + WalletService_DebitRobotGift_FullMethodName = "/hyapp.wallet.v1.WalletService/DebitRobotGift" WalletService_GetBalances_FullMethodName = "/hyapp.wallet.v1.WalletService/GetBalances" WalletService_GetActiveHostSalaryPolicy_FullMethodName = "/hyapp.wallet.v1.WalletService/GetActiveHostSalaryPolicy" WalletService_GetHostSalaryProgress_FullMethodName = "/hyapp.wallet.v1.WalletService/GetHostSalaryProgress" @@ -290,6 +291,7 @@ const ( type WalletServiceClient interface { DebitGift(ctx context.Context, in *DebitGiftRequest, opts ...grpc.CallOption) (*DebitGiftResponse, error) BatchDebitGift(ctx context.Context, in *BatchDebitGiftRequest, opts ...grpc.CallOption) (*BatchDebitGiftResponse, error) + DebitRobotGift(ctx context.Context, in *DebitRobotGiftRequest, opts ...grpc.CallOption) (*DebitGiftResponse, error) GetBalances(ctx context.Context, in *GetBalancesRequest, opts ...grpc.CallOption) (*GetBalancesResponse, error) GetActiveHostSalaryPolicy(ctx context.Context, in *GetActiveHostSalaryPolicyRequest, opts ...grpc.CallOption) (*GetActiveHostSalaryPolicyResponse, error) GetHostSalaryProgress(ctx context.Context, in *GetHostSalaryProgressRequest, opts ...grpc.CallOption) (*GetHostSalaryProgressResponse, error) @@ -397,6 +399,16 @@ func (c *walletServiceClient) BatchDebitGift(ctx context.Context, in *BatchDebit return out, nil } +func (c *walletServiceClient) DebitRobotGift(ctx context.Context, in *DebitRobotGiftRequest, opts ...grpc.CallOption) (*DebitGiftResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DebitGiftResponse) + err := c.cc.Invoke(ctx, WalletService_DebitRobotGift_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *walletServiceClient) GetBalances(ctx context.Context, in *GetBalancesRequest, opts ...grpc.CallOption) (*GetBalancesResponse, error) { cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) out := new(GetBalancesResponse) @@ -1175,6 +1187,7 @@ func (c *walletServiceClient) RetryRedPacketRefund(ctx context.Context, in *Retr type WalletServiceServer interface { DebitGift(context.Context, *DebitGiftRequest) (*DebitGiftResponse, error) BatchDebitGift(context.Context, *BatchDebitGiftRequest) (*BatchDebitGiftResponse, error) + DebitRobotGift(context.Context, *DebitRobotGiftRequest) (*DebitGiftResponse, error) GetBalances(context.Context, *GetBalancesRequest) (*GetBalancesResponse, error) GetActiveHostSalaryPolicy(context.Context, *GetActiveHostSalaryPolicyRequest) (*GetActiveHostSalaryPolicyResponse, error) GetHostSalaryProgress(context.Context, *GetHostSalaryProgressRequest) (*GetHostSalaryProgressResponse, error) @@ -1268,6 +1281,9 @@ func (UnimplementedWalletServiceServer) DebitGift(context.Context, *DebitGiftReq func (UnimplementedWalletServiceServer) BatchDebitGift(context.Context, *BatchDebitGiftRequest) (*BatchDebitGiftResponse, error) { return nil, status.Error(codes.Unimplemented, "method BatchDebitGift not implemented") } +func (UnimplementedWalletServiceServer) DebitRobotGift(context.Context, *DebitRobotGiftRequest) (*DebitGiftResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DebitRobotGift not implemented") +} func (UnimplementedWalletServiceServer) GetBalances(context.Context, *GetBalancesRequest) (*GetBalancesResponse, error) { return nil, status.Error(codes.Unimplemented, "method GetBalances not implemented") } @@ -1556,6 +1572,24 @@ func _WalletService_BatchDebitGift_Handler(srv interface{}, ctx context.Context, return interceptor(ctx, in, info, handler) } +func _WalletService_DebitRobotGift_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DebitRobotGiftRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WalletServiceServer).DebitRobotGift(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WalletService_DebitRobotGift_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WalletServiceServer).DebitRobotGift(ctx, req.(*DebitRobotGiftRequest)) + } + return interceptor(ctx, in, info, handler) +} + func _WalletService_GetBalances_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(GetBalancesRequest) if err := dec(in); err != nil { @@ -2957,6 +2991,10 @@ var WalletService_ServiceDesc = grpc.ServiceDesc{ MethodName: "BatchDebitGift", Handler: _WalletService_BatchDebitGift_Handler, }, + { + MethodName: "DebitRobotGift", + Handler: _WalletService_DebitRobotGift_Handler, + }, { MethodName: "GetBalances", Handler: _WalletService_GetBalances_Handler, diff --git a/docs/机器人房间产品文档.md b/docs/机器人房间产品文档.md new file mode 100644 index 00000000..138693e8 --- /dev/null +++ b/docs/机器人房间产品文档.md @@ -0,0 +1,98 @@ +# 机器人房间产品文档 + +## 背景 + +语音房冷启动阶段,房间列表和新房首屏容易显得冷清。机器人房间用于在内部可控范围内营造房间活跃氛围:机器人账号创建房间、进入房间、静音上麦,并在房间内相互送礼,触发客户端已有的礼物动效和幸运礼物展示。 + +机器人房间不面向真人主播发放收益,不参与真实抽奖、真实奖池、榜单和结算。 + +## 产品目标 + +- 后台可创建和控制机器人房间。 +- 每个机器人房间自动拉取一批未被占用的机器人账号进房。 +- 机器人可静音上麦,让房间麦位呈现活跃状态。 +- 机器人之间自动送普通礼物和幸运礼物。 +- 幸运礼物展示复用客户端现有飘屏/房间展示协议,但不影响真实幸运礼物奖池和流水。 +- 机器人房间积分和麦位热度正常增长,用于房间内氛围展示。 +- 机器人礼物不产生真人收益,不污染充值、消费、结算和排行榜数据。 + +## 使用入口 + +后台管理系统路径: + +`房间管理 / 机器人房间` + +权限: + +- `room-robot:view`:查看机器人房间。 +- `room-robot:create`:创建机器人房间。 +- `room-robot:update`:启动/停止机器人房间。 + +## 创建机器人房间 + +点击 `增加机器人房间` 后配置: + +- 房间名称:机器人房间对外展示名称。 +- 房主机器人:从未被机器人房间占用的房间机器人账号中选择。 +- 候选机器人:从未被机器人房间占用的机器人账号中选择,默认可选择全部可用机器人。 +- 进房人数范围:例如 `6-10`,系统会从候选机器人中随机抽取一个人数。 +- 礼物合集:普通礼物池,机器人普通送礼时随机选择。 +- 幸运礼物合集:幸运礼物展示池,机器人幸运送礼时随机选择。 +- 普通礼物频次:每个机器人每隔固定毫秒数送一次普通礼物。 +- 幸运礼物连击范围:每轮幸运礼物随机生成连击次数。 +- 幸运礼物间隔范围:一轮幸运礼物结束后,随机等待一段时间再开始下一轮。 + +## 送礼规则 + +### 普通礼物 + +- 每个机器人独立执行。 +- 到达配置间隔后,从普通礼物合集中随机选择 1 个礼物。 +- 随机选择同房间另一个机器人作为收礼人。 +- 每次只送 1 个目标机器人。 + +### 幸运礼物 + +- 每个机器人独立执行。 +- 从幸运礼物合集中随机选择 1 个礼物。 +- 当前机器人向同房间所有其他机器人送礼。 +- 按配置范围随机生成连击次数,例如 `100-10000`。 +- 连击完成后,按配置间隔范围随机等待,例如 `5-20 秒`,再开始下一轮。 + +## 状态管理 + +机器人房间支持: + +- 运行中:机器人送礼循环运行。 +- 已停止:机器人送礼循环停止,配置和房间占用保留。 + +后台列表中可使用状态开关快速启动或停止。 + +## 数据隔离 + +机器人房间遵循以下隔离规则: + +- 机器人只给同房间机器人送礼。 +- 服务端禁止机器人给真人送礼。 +- 机器人礼物使用机器人专用金币 `ROBOT_COIN`。 +- 不消耗真人金币 `COIN`。 +- 不产生主播钻石和工资周期钻石。 +- 不写真实礼物墙。 +- 不参与真实幸运礼物奖池、抽奖、返奖和统计。 +- 不参与房间排行榜、活动排行榜和结算。 + +## 运营建议 + +- 单房机器人数量建议从 `6-10` 开始。 +- 普通礼物频次建议不要过低,避免房间消息过密。 +- 幸运礼物连击范围建议根据活动氛围配置,测试环境可用较小范围验证。 +- 礼物合集应选择低价或专门用于展示的礼物,避免用户误解真实返奖。 +- 机器人房间应优先用于冷启动、活动预热和列表氛围补足。 + +## 风险与限制 + +- 机器人房间不应和真人主播收益挂钩。 +- 不建议使用真人主播账号作为机器人账号。 +- 如果候选机器人不足,创建会失败。 +- 同一个机器人不能同时被多个 active 机器人房间占用。 +- 停止房间只停止送礼循环,不删除房间配置。 diff --git a/docs/机器人房间技术架构文档.md b/docs/机器人房间技术架构文档.md new file mode 100644 index 00000000..f4264258 --- /dev/null +++ b/docs/机器人房间技术架构文档.md @@ -0,0 +1,243 @@ +# 机器人房间技术架构文档 + +## 目标 + +机器人房间提供后台配置驱动的内部房间编排能力,支持机器人创建房间、进房、虚拟静音上麦、普通礼物展示、幸运礼物展示,并保证与真实钱包、真实幸运礼物、真实奖池、真实榜单和结算隔离。 + +## 模块边界 + +### admin-platform + +- 提供机器人房间配置页面。 +- 调用 admin-server HTTP 接口。 +- 不直接访问业务服务。 + +### admin-server + +- 暴露后台 HTTP API。 +- 做权限、审计、参数校验和 DTO 转换。 +- 通过 gRPC client 调用 room-service 和 robot-service。 +- 通过 wallet-service gRPC 获取礼物配置。 +- 只读用户库补齐机器人展示资料。 + +### robot-service + +- 只拥有机器人账号池事实。 +- 房间机器人池表:`hyapp_robot.robot_room_robots`。 +- 不处理进房、麦位、送礼和 IM。 + +### room-service + +- 机器人房间配置 owner。 +- 创建真实房间状态。 +- 管理机器人房间配置表:`hyapp_room.room_robot_rooms`。 +- 执行机器人进房、虚拟静音上麦、送礼循环。 +- 强校验机器人送礼仅限同房间机器人。 +- 生成机器人幸运礼物展示事件。 + +### wallet-service + +- 机器人礼物扣费入口:`DebitRobotGift`。 +- 使用专用资产 `ROBOT_COIN`。 +- 自动补足机器人专用金币后扣减。 +- 不发出真实 `WalletGiftDebited` 事件。 +- 不写主播周期钻石和真实礼物墙。 + +### activity/statistics + +- 消费房间送礼事件时跳过 `is_robot_gift`。 +- 机器人礼物不进入真实活动、榜单、任务、成长值和统计。 + +## 核心数据表 + +### `hyapp_robot.robot_room_robots` + +机器人账号池事实表。 + +关键字段: + +- `app_code` +- `room_scene` +- `user_id` +- `status` +- `last_used_at_ms` +- `used_count` + +### `hyapp_room.room_robot_rooms` + +机器人房间配置和占用事实表。 + +关键字段: + +- `room_id` +- `room_short_id` +- `status` +- `owner_robot_user_id` +- `robot_user_ids_json` +- `gift_ids_json` +- `lucky_gift_ids_json` +- `normal_gift_interval_ms` +- `lucky_combo_min` +- `lucky_combo_max` +- `lucky_pause_min_ms` +- `lucky_pause_max_ms` + +## 后台 API + +后台 HTTP: + +- `GET /api/v1/admin/rooms/robot-rooms` +- `GET /api/v1/admin/rooms/robot-rooms/available-robots` +- `POST /api/v1/admin/rooms/robot-rooms` +- `POST /api/v1/admin/rooms/robot-rooms/{room_id}/start` +- `POST /api/v1/admin/rooms/robot-rooms/{room_id}/stop` + +room-service gRPC: + +- `AdminListRobotRooms` +- `AdminFilterAvailableRoomRobots` +- `AdminCreateRobotRoom` +- `AdminSetRobotRoomStatus` + +wallet-service gRPC: + +- `DebitRobotGift` + +## 创建流程 + +```mermaid +sequenceDiagram + participant Admin as admin-platform + participant AS as admin-server + participant RS as room-service + participant RB as robot-service + participant DB as MySQL + + Admin->>AS: POST /admin/rooms/robot-rooms + AS->>RS: AdminCreateRobotRoom + RS->>DB: 查询 active 机器人房占用 + RS->>RS: 从候选机器人随机抽取人数 + RS->>RS: CreateRoom(robot_room=true) + RS->>RS: JoinRoom for robots + RS->>RS: RobotVirtualMicUp for robots + RS->>DB: 写 room_robot_rooms + RS->>RS: start runtime loops + RS-->>AS: AdminRobotRoom + AS-->>Admin: 机器人房间详情 +``` + +## 运行时循环 + +room-service 启动时会扫描所有 active 机器人房间并恢复运行时循环。 + +每个 active 机器人房间: + +- 为每个机器人启动普通礼物 loop。 +- 为每个机器人启动幸运礼物 loop。 +- stop 后取消对应房间的 context。 + +普通礼物 loop: + +1. 等待 `normal_gift_interval_ms`。 +2. 从 `gift_ids_json` 随机选择礼物。 +3. 从同房间其他机器人随机选择 1 个目标。 +4. 调用 `RobotSendGift`。 + +幸运礼物 loop: + +1. 从 `lucky_gift_ids_json` 随机选择礼物。 +2. 随机生成 `lucky_combo_min-lucky_combo_max` 连击次数。 +3. 当前机器人向同房间其他机器人逐个送礼。 +4. 使用 `synthetic_lucky_gift=true`,跳过真实抽奖。 +5. 等待 `lucky_pause_min_ms-lucky_pause_max_ms` 后继续。 + +## 服务端安全校验 + +room-service 在机器人送礼时强校验: + +- 当前房间必须是机器人房间。 +- sender 必须在该机器人房间 `robot_user_ids_json` 内。 +- target 必须在同一机器人房间 `robot_user_ids_json` 内。 +- sender 不能给真人送礼。 +- 当前机器人礼物只允许单目标调用。 + +## 钱包隔离 + +机器人礼物使用 `DebitRobotGift`: + +- 资产类型固定为 `ROBOT_COIN`。 +- 如果机器人 `ROBOT_COIN` 不足,同一事务内自动补足。 +- 立即扣减本次礼物价格。 +- 交易类型为 `robot_gift_debit`。 +- 不写真实 `gift_debit`。 +- 不发 `WalletGiftDebited`。 +- 不写 `user_gift_wall`。 +- 不写 `host_period_diamond_accounts`。 + +## 幸运礼物隔离 + +机器人幸运礼物不会调用真实幸运抽奖链路。 + +room-service 只生成展示事件: + +- `RoomRobotLuckyGiftDrawn` +- 对 IM 客户端映射为 `lucky_gift_drawn` +- 标记 `synthetic=true` +- 携带机器人房间、送礼人、收礼人、礼物和展示金额字段 + +真实奖池、真实流水、真实返奖、真实统计完全不写入。 + +## 排行榜与统计隔离 + +`RoomGiftSent` 增加: + +- `is_robot_gift` +- `synthetic_lucky_gift` + +下游服务看到 `is_robot_gift=true` 时跳过: + +- 活动播报统计 +- 周星 +- 房间流水奖励 +- 每日任务 +- 成长值 +- statistics 礼物消费与幸运礼物统计 + +room-service 本地仍允许机器人房内: + +- 房间热度增长 +- 麦位热度增长 +- 房内展示事件发送 + +## 本地接口测试 + +测试工具: + +```bash +go run ./tools/robot-room-api-test +``` + +默认依赖: + +- admin-server: `http://127.0.0.1:13100/api/v1` +- MySQL: `127.0.0.1:23306` +- 管理员账号: `admin / admin123` + +工具会: + +1. 种 12 个房间机器人账号。 +2. 种 2 个礼物配置和价格。 +3. 登录 admin-server。 +4. 调用可用机器人列表接口。 +5. 创建机器人房间。 +6. 查询 active 列表。 +7. 停止、启动、再次停止机器人房间。 +8. 校验数据库中机器人房间配置和真实 `gift_debit` 隔离。 + +## 运维注意事项 + +- 多实例 room-service 下,机器人房间 runtime 是进程内循环;重启会从 MySQL active 配置恢复。 +- 机器人房间配置以 MySQL 为准。 +- 同一机器人账号不能被多个 active 机器人房间占用。 +- 停止机器人房间只停止 runtime,不删除房间。 +- 如果需要彻底释放机器人账号,应增加删除/归档能力后再开放。 diff --git a/server/admin/cmd/server/main.go b/server/admin/cmd/server/main.go index a4ba9fa5..e0e0ccb6 100644 --- a/server/admin/cmd/server/main.go +++ b/server/admin/cmd/server/main.go @@ -18,6 +18,7 @@ import ( "hyapp-admin-server/internal/config" "hyapp-admin-server/internal/integration/activityclient" "hyapp-admin-server/internal/integration/gameclient" + "hyapp-admin-server/internal/integration/robotclient" "hyapp-admin-server/internal/integration/roomclient" "hyapp-admin-server/internal/integration/userclient" "hyapp-admin-server/internal/integration/walletclient" @@ -197,6 +198,13 @@ func main() { defer roomConn.Close() roomClient := roomclient.NewGRPC(roomConn) + robotConn, err := dialBackendGRPC(cfg.RobotService.Addr) + if err != nil { + fatalRuntime("connect_robot_service_failed", err) + } + defer robotConn.Close() + robotClient := robotclient.NewGRPC(robotConn) + activityConn, err := dialBackendGRPC(cfg.ActivityService.Addr) if err != nil { fatalRuntime("connect_activity_service_failed", err) @@ -279,7 +287,7 @@ func main() { RegistrationReward: registrationrewardmodule.New(activityclient.NewGRPC(activityConn), userDB, auditHandler), RegionBlock: regionblockmodule.New(userDB, auditHandler), Resource: resourcemodule.New(walletclient.NewGRPC(walletConn), store, userDB, cfg.WalletService.RequestTimeout, auditHandler), - RoomAdmin: roomadminmodule.New(userDB, roomClient, auditHandler), + RoomAdmin: roomadminmodule.New(userDB, roomClient, robotClient, auditHandler), RoomRocket: roomrocketmodule.New(roomClient, auditHandler), RoomTurnoverReward: roomturnoverrewardmodule.New(activityclient.NewGRPC(activityConn), auditHandler), Search: searchmodule.New(store), diff --git a/server/admin/configs/config.tencent.example.yaml b/server/admin/configs/config.tencent.example.yaml index 5325cb89..436c693f 100644 --- a/server/admin/configs/config.tencent.example.yaml +++ b/server/admin/configs/config.tencent.example.yaml @@ -47,6 +47,9 @@ wallet_service: room_service: addr: "10.2.1.16:13001" request_timeout: "3s" +robot_service: + addr: "10.2.1.16:13011" + request_timeout: "3s" activity_service: addr: "10.2.1.16:13006" request_timeout: "3s" diff --git a/server/admin/configs/config.yaml b/server/admin/configs/config.yaml index d62f2416..c7a55179 100644 --- a/server/admin/configs/config.yaml +++ b/server/admin/configs/config.yaml @@ -46,6 +46,9 @@ wallet_service: room_service: addr: "127.0.0.1:13001" request_timeout: "3s" +robot_service: + addr: "127.0.0.1:13011" + request_timeout: "3s" activity_service: addr: "127.0.0.1:13006" request_timeout: "3s" diff --git a/server/admin/internal/config/config.go b/server/admin/internal/config/config.go index b5a2080f..aeaea0f9 100644 --- a/server/admin/internal/config/config.go +++ b/server/admin/internal/config/config.go @@ -38,6 +38,7 @@ type Config struct { Jobs JobsConfig `yaml:"jobs"` WalletService WalletServiceConfig `yaml:"wallet_service"` RoomService RoomServiceConfig `yaml:"room_service"` + RobotService RobotServiceConfig `yaml:"robot_service"` ActivityService ActivityServiceConfig `yaml:"activity_service"` GameService GameServiceConfig `yaml:"game_service"` StatisticsService StatisticsServiceConfig `yaml:"statistics_service"` @@ -64,6 +65,11 @@ type RoomServiceConfig struct { RequestTimeout time.Duration `yaml:"request_timeout"` } +type RobotServiceConfig struct { + Addr string `yaml:"addr"` + RequestTimeout time.Duration `yaml:"request_timeout"` +} + type ActivityServiceConfig struct { Addr string `yaml:"addr"` RequestTimeout time.Duration `yaml:"request_timeout"` @@ -168,6 +174,10 @@ func Default() Config { Addr: "127.0.0.1:13001", RequestTimeout: 3 * time.Second, }, + RobotService: RobotServiceConfig{ + Addr: "127.0.0.1:13011", + RequestTimeout: 3 * time.Second, + }, ActivityService: ActivityServiceConfig{ Addr: "127.0.0.1:13006", RequestTimeout: 3 * time.Second, @@ -281,6 +291,13 @@ func (cfg *Config) Normalize() { if cfg.RoomService.RequestTimeout <= 0 { cfg.RoomService.RequestTimeout = 3 * time.Second } + cfg.RobotService.Addr = strings.TrimSpace(cfg.RobotService.Addr) + if cfg.RobotService.Addr == "" { + cfg.RobotService.Addr = "127.0.0.1:13011" + } + if cfg.RobotService.RequestTimeout <= 0 { + cfg.RobotService.RequestTimeout = 3 * time.Second + } cfg.ActivityService.Addr = strings.TrimSpace(cfg.ActivityService.Addr) if cfg.ActivityService.RequestTimeout <= 0 { cfg.ActivityService.RequestTimeout = 3 * time.Second @@ -394,6 +411,12 @@ func (cfg Config) Validate() error { if cfg.RoomService.RequestTimeout <= 0 { return errors.New("room_service.request_timeout must be greater than 0") } + if strings.TrimSpace(cfg.RobotService.Addr) == "" { + return errors.New("robot_service.addr is required") + } + if cfg.RobotService.RequestTimeout <= 0 { + return errors.New("robot_service.request_timeout must be greater than 0") + } if strings.TrimSpace(cfg.ActivityService.Addr) == "" { return errors.New("activity_service.addr is required") } diff --git a/server/admin/internal/integration/robotclient/client.go b/server/admin/internal/integration/robotclient/client.go new file mode 100644 index 00000000..8936c4a3 --- /dev/null +++ b/server/admin/internal/integration/robotclient/client.go @@ -0,0 +1,83 @@ +package robotclient + +import ( + "context" + "fmt" + "strings" + "time" + + "hyapp-admin-server/internal/appctx" + robotv1 "hyapp.local/api/proto/robot/v1" + + "google.golang.org/grpc" +) + +type Client interface { + ListRoomRobots(ctx context.Context, req ListRoomRobotsRequest) (ListRoomRobotsResult, error) +} + +type Robot struct { + UserID int64 + Status string + RoomScene string + CreatedAtMS int64 + UpdatedAtMS int64 + LastUsedAtMS int64 + UsedCount int64 +} + +type ListRoomRobotsRequest struct { + RoomScene string + Status string + PageSize int32 + Cursor string +} + +type ListRoomRobotsResult struct { + Robots []Robot + NextCursor string + ServerTimeMS int64 +} + +type GRPCClient struct { + client robotv1.RoomRobotServiceClient +} + +func NewGRPC(conn grpc.ClientConnInterface) *GRPCClient { + return &GRPCClient{client: robotv1.NewRoomRobotServiceClient(conn)} +} + +func (c *GRPCClient) ListRoomRobots(ctx context.Context, req ListRoomRobotsRequest) (ListRoomRobotsResult, error) { + if c == nil || c.client == nil { + return ListRoomRobotsResult{}, fmt.Errorf("robot service client is not configured") + } + resp, err := c.client.ListRoomRobots(ctx, &robotv1.ListRoomRobotsRequest{ + Meta: &robotv1.RequestMeta{ + RequestId: fmt.Sprintf("admin-room-robots-%d", time.Now().UnixMilli()), + Caller: "admin-server", + AppCode: appctx.FromContext(ctx), + SentAtMs: time.Now().UnixMilli(), + ActorUserId: 0, + }, + RoomScene: strings.TrimSpace(req.RoomScene), + Status: strings.TrimSpace(req.Status), + PageSize: req.PageSize, + Cursor: strings.TrimSpace(req.Cursor), + }) + if err != nil { + return ListRoomRobotsResult{}, err + } + items := make([]Robot, 0, len(resp.GetRobots())) + for _, item := range resp.GetRobots() { + items = append(items, Robot{ + UserID: item.GetUserId(), + Status: item.GetStatus(), + RoomScene: item.GetRoomScene(), + CreatedAtMS: item.GetCreatedAtMs(), + UpdatedAtMS: item.GetUpdatedAtMs(), + LastUsedAtMS: item.GetLastUsedAtMs(), + UsedCount: item.GetUsedCount(), + }) + } + return ListRoomRobotsResult{Robots: items, NextCursor: resp.GetNextCursor(), ServerTimeMS: resp.GetServerTimeMs()}, nil +} diff --git a/server/admin/internal/integration/roomclient/client.go b/server/admin/internal/integration/roomclient/client.go index fbd69775..5b377c04 100644 --- a/server/admin/internal/integration/roomclient/client.go +++ b/server/admin/internal/integration/roomclient/client.go @@ -24,6 +24,10 @@ type Client interface { ListRoomPins(ctx context.Context, req ListRoomPinsRequest) (ListRoomPinsResult, error) CreateRoomPin(ctx context.Context, req CreateRoomPinRequest) (RoomPin, error) CancelRoomPin(ctx context.Context, req CancelRoomPinRequest) (RoomPin, error) + ListRobotRooms(ctx context.Context, req ListRobotRoomsRequest) (ListRobotRoomsResult, error) + CreateRobotRoom(ctx context.Context, req CreateRobotRoomRequest) (RobotRoom, error) + SetRobotRoomStatus(ctx context.Context, req SetRobotRoomStatusRequest) (RobotRoom, error) + FilterAvailableRoomRobots(ctx context.Context, userIDs []int64) (FilterAvailableRoomRobotsResult, error) CloseRoom(ctx context.Context, req CloseRoomRequest) (*CloseRoomResult, error) ReopenRoom(ctx context.Context, req ReopenRoomRequest) (*CloseRoomResult, error) } @@ -214,6 +218,66 @@ type CancelRoomPinRequest struct { AdminID uint64 } +type RobotRoomGiftRule struct { + GiftIDs []string + LuckyGiftIDs []string + NormalGiftIntervalMS int64 + LuckyComboMin int64 + LuckyComboMax int64 + LuckyPauseMinMS int64 + LuckyPauseMaxMS int64 +} + +type RobotRoom struct { + AppCode string + RoomID string + RoomShortID string + Title string + CoverURL string + VisibleRegionID int64 + Status string + OwnerRobotUserID int64 + RobotUserIDs []int64 + GiftRule RobotRoomGiftRule + CreatedByAdminID uint64 + CreatedAtMS int64 + UpdatedAtMS int64 +} + +type ListRobotRoomsRequest struct { + Page int + PageSize int + Status string +} + +type ListRobotRoomsResult struct { + Rooms []RobotRoom + Total int64 +} + +type CreateRobotRoomRequest struct { + OwnerRobotUserID int64 + CandidateRobotUserIDs []int64 + MinRobotCount int32 + MaxRobotCount int32 + RoomName string + RoomAvatar string + VisibleRegionID int64 + GiftRule RobotRoomGiftRule + AdminID uint64 +} + +type SetRobotRoomStatusRequest struct { + RoomID string + Status string + AdminID uint64 +} + +type FilterAvailableRoomRobotsResult struct { + AvailableUserIDs []int64 + OccupiedUserIDs []int64 +} + type CloseRoomRequest struct { RequestID string RoomID string @@ -400,6 +464,68 @@ func (c *GRPCClient) CancelRoomPin(ctx context.Context, req CancelRoomPinRequest return roomPinFromProto(resp.GetPin()), nil } +func (c *GRPCClient) ListRobotRooms(ctx context.Context, req ListRobotRoomsRequest) (ListRobotRoomsResult, error) { + resp, err := c.queryClient.AdminListRobotRooms(ctx, &roomv1.AdminListRobotRoomsRequest{ + Meta: requestMeta(ctx, "", 0, "admin-list-robot-rooms"), + Page: int32(req.Page), + PageSize: int32(req.PageSize), + Status: strings.TrimSpace(req.Status), + }) + if err != nil { + return ListRobotRoomsResult{}, err + } + items := make([]RobotRoom, 0, len(resp.GetRooms())) + for _, item := range resp.GetRooms() { + items = append(items, robotRoomFromProto(item)) + } + return ListRobotRoomsResult{Rooms: items, Total: resp.GetTotal()}, nil +} + +func (c *GRPCClient) CreateRobotRoom(ctx context.Context, req CreateRobotRoomRequest) (RobotRoom, error) { + resp, err := c.client.AdminCreateRobotRoom(ctx, &roomv1.AdminCreateRobotRoomRequest{ + Meta: requestMeta(ctx, "", int64(req.AdminID), "admin-create-robot-room"), + OwnerRobotUserId: req.OwnerRobotUserID, + CandidateRobotUserIds: append([]int64(nil), req.CandidateRobotUserIDs...), + MinRobotCount: req.MinRobotCount, + MaxRobotCount: req.MaxRobotCount, + RoomName: strings.TrimSpace(req.RoomName), + RoomAvatar: strings.TrimSpace(req.RoomAvatar), + VisibleRegionId: req.VisibleRegionID, + GiftRule: robotRoomGiftRuleToProto(req.GiftRule), + AdminId: req.AdminID, + }) + if err != nil { + return RobotRoom{}, err + } + return robotRoomFromProto(resp.GetRoom()), nil +} + +func (c *GRPCClient) SetRobotRoomStatus(ctx context.Context, req SetRobotRoomStatusRequest) (RobotRoom, error) { + resp, err := c.client.AdminSetRobotRoomStatus(ctx, &roomv1.AdminSetRobotRoomStatusRequest{ + Meta: requestMeta(ctx, strings.TrimSpace(req.RoomID), int64(req.AdminID), "admin-set-robot-room-status"), + Status: strings.TrimSpace(req.Status), + AdminId: req.AdminID, + }) + if err != nil { + return RobotRoom{}, err + } + return robotRoomFromProto(resp.GetRoom()), nil +} + +func (c *GRPCClient) FilterAvailableRoomRobots(ctx context.Context, userIDs []int64) (FilterAvailableRoomRobotsResult, error) { + resp, err := c.queryClient.AdminFilterAvailableRoomRobots(ctx, &roomv1.AdminFilterAvailableRoomRobotsRequest{ + Meta: requestMeta(ctx, "", 0, "admin-filter-available-room-robots"), + UserIds: append([]int64(nil), userIDs...), + }) + if err != nil { + return FilterAvailableRoomRobotsResult{}, err + } + return FilterAvailableRoomRobotsResult{ + AvailableUserIDs: append([]int64(nil), resp.GetAvailableUserIds()...), + OccupiedUserIDs: append([]int64(nil), resp.GetOccupiedUserIds()...), + }, nil +} + func (c *GRPCClient) CloseRoom(ctx context.Context, req CloseRoomRequest) (*CloseRoomResult, error) { return c.setRoomLifecycle(ctx, req.RequestID, req.RoomID, req.ActorUserID, firstNonEmpty(req.Reason, "admin_closed")) } @@ -560,6 +686,54 @@ func roomPinFromProto(input *roomv1.AdminRoomPin) RoomPin { } } +func robotRoomFromProto(input *roomv1.AdminRobotRoom) RobotRoom { + if input == nil { + return RobotRoom{} + } + return RobotRoom{ + AppCode: input.GetAppCode(), + RoomID: input.GetRoomId(), + RoomShortID: input.GetRoomShortId(), + Title: input.GetTitle(), + CoverURL: input.GetCoverUrl(), + VisibleRegionID: input.GetVisibleRegionId(), + Status: input.GetStatus(), + OwnerRobotUserID: input.GetOwnerRobotUserId(), + RobotUserIDs: append([]int64(nil), input.GetRobotUserIds()...), + GiftRule: robotRoomGiftRuleFromProto(input.GetGiftRule()), + CreatedByAdminID: input.GetCreatedByAdminId(), + CreatedAtMS: input.GetCreatedAtMs(), + UpdatedAtMS: input.GetUpdatedAtMs(), + } +} + +func robotRoomGiftRuleFromProto(input *roomv1.AdminRobotRoomGiftRule) RobotRoomGiftRule { + if input == nil { + return RobotRoomGiftRule{} + } + return RobotRoomGiftRule{ + GiftIDs: append([]string(nil), input.GetGiftIds()...), + LuckyGiftIDs: append([]string(nil), input.GetLuckyGiftIds()...), + NormalGiftIntervalMS: input.GetNormalGiftIntervalMs(), + LuckyComboMin: input.GetLuckyComboMin(), + LuckyComboMax: input.GetLuckyComboMax(), + LuckyPauseMinMS: input.GetLuckyPauseMinMs(), + LuckyPauseMaxMS: input.GetLuckyPauseMaxMs(), + } +} + +func robotRoomGiftRuleToProto(input RobotRoomGiftRule) *roomv1.AdminRobotRoomGiftRule { + return &roomv1.AdminRobotRoomGiftRule{ + GiftIds: append([]string(nil), input.GiftIDs...), + LuckyGiftIds: append([]string(nil), input.LuckyGiftIDs...), + NormalGiftIntervalMs: input.NormalGiftIntervalMS, + LuckyComboMin: input.LuckyComboMin, + LuckyComboMax: input.LuckyComboMax, + LuckyPauseMinMs: input.LuckyPauseMinMS, + LuckyPauseMaxMs: input.LuckyPauseMaxMS, + } +} + func roomRocketConfigToProto(input RoomRocketConfig) *roomv1.AdminRoomRocketConfig { return &roomv1.AdminRoomRocketConfig{ AppCode: input.AppCode, diff --git a/server/admin/internal/modules/roomadmin/handler.go b/server/admin/internal/modules/roomadmin/handler.go index 24dd3ec0..329fd740 100644 --- a/server/admin/internal/modules/roomadmin/handler.go +++ b/server/admin/internal/modules/roomadmin/handler.go @@ -6,6 +6,7 @@ import ( "strconv" "strings" + "hyapp-admin-server/internal/integration/robotclient" "hyapp-admin-server/internal/integration/roomclient" "hyapp-admin-server/internal/middleware" "hyapp-admin-server/internal/modules/shared" @@ -19,8 +20,8 @@ type Handler struct { audit shared.OperationLogger } -func New(userDB *sql.DB, roomClient roomclient.Client, audit shared.OperationLogger) *Handler { - return &Handler{service: NewService(userDB, roomClient), audit: audit} +func New(userDB *sql.DB, roomClient roomclient.Client, robotClient robotclient.Client, audit shared.OperationLogger) *Handler { + return &Handler{service: NewService(userDB, roomClient, robotClient), audit: audit} } func (h *Handler) ListRooms(c *gin.Context) { @@ -78,6 +79,48 @@ func (h *Handler) CancelRoomPin(c *gin.Context) { response.OK(c, pin) } +func (h *Handler) ListRobotRooms(c *gin.Context) { + query := parseRobotRoomListQuery(c) + items, total, err := h.service.ListRobotRooms(c.Request.Context(), query) + if err != nil { + response.ServerError(c, "获取机器人房间列表失败") + return + } + response.OK(c, response.Page{Items: items, Page: query.Page, PageSize: query.PageSize, Total: total}) +} + +func (h *Handler) ListAvailableRoomRobots(c *gin.Context) { + items, err := h.service.ListAvailableRoomRobots(c.Request.Context()) + if err != nil { + response.ServerError(c, "获取可用机器人失败") + return + } + response.OK(c, items) +} + +func (h *Handler) CreateRobotRoom(c *gin.Context) { + var req createRobotRoomRequest + if err := c.ShouldBindJSON(&req); err != nil { + response.BadRequest(c, "机器人房间参数不正确") + return + } + room, err := h.service.CreateRobotRoom(c.Request.Context(), req, shared.ActorFromContext(c)) + if err != nil { + writeMutationError(c, err, "创建机器人房间失败") + return + } + writeRoomAuditLog(c, h.audit, "create-robot-room", "room_robot_rooms", room.RoomID, "success", "create robot room") + response.Created(c, room) +} + +func (h *Handler) StartRobotRoom(c *gin.Context) { + h.setRobotRoomStatus(c, "active", "start-robot-room", "启动机器人房间失败") +} + +func (h *Handler) StopRobotRoom(c *gin.Context) { + h.setRobotRoomStatus(c, "stopped", "stop-robot-room", "停止机器人房间失败") +} + func (h *Handler) GetRoomConfig(c *gin.Context) { config, err := h.service.GetRoomConfig(c.Request.Context()) if err != nil { @@ -134,6 +177,20 @@ func (h *Handler) DeleteRoom(c *gin.Context) { response.OK(c, gin.H{"deleted": true}) } +func (h *Handler) setRobotRoomStatus(c *gin.Context, status string, action string, fallback string) { + roomID, ok := parseRoomID(c) + if !ok { + return + } + room, err := h.service.SetRobotRoomStatus(c.Request.Context(), roomID, status, shared.ActorFromContext(c)) + if err != nil { + writeMutationError(c, err, fallback) + return + } + writeRoomAuditLog(c, h.audit, action, "room_robot_rooms", roomID, "success", action) + response.OK(c, room) +} + func parseListQuery(c *gin.Context) (listQuery, bool) { options := shared.ListOptions(c) query := listQuery{ @@ -168,6 +225,15 @@ func parseRoomPinListQuery(c *gin.Context) (roomPinListQuery, bool) { }), true } +func parseRobotRoomListQuery(c *gin.Context) robotRoomListQuery { + options := shared.ListOptions(c) + return robotRoomListQuery{ + Page: options.Page, + PageSize: options.PageSize, + Status: options.Status, + } +} + func firstQueryValue(c *gin.Context, names ...string) string { for _, name := range names { if value := strings.TrimSpace(c.Query(name)); value != "" { diff --git a/server/admin/internal/modules/roomadmin/request.go b/server/admin/internal/modules/roomadmin/request.go index 908f1a45..1ac54615 100644 --- a/server/admin/internal/modules/roomadmin/request.go +++ b/server/admin/internal/modules/roomadmin/request.go @@ -19,6 +19,29 @@ type roomPinListQuery struct { Status string } +type robotRoomListQuery struct { + Page int + PageSize int + Status string +} + +type createRobotRoomRequest struct { + OwnerRobotUserID int64 `json:"ownerRobotUserId"` + CandidateRobotUserIDs []int64 `json:"candidateRobotUserIds"` + MinRobotCount int32 `json:"minRobotCount"` + MaxRobotCount int32 `json:"maxRobotCount"` + RoomName string `json:"roomName"` + RoomAvatar string `json:"roomAvatar"` + VisibleRegionID int64 `json:"visibleRegionId"` + GiftIDs []string `json:"giftIds"` + LuckyGiftIDs []string `json:"luckyGiftIds"` + NormalGiftIntervalMS int64 `json:"normalGiftIntervalMs"` + LuckyComboMin int64 `json:"luckyComboMin"` + LuckyComboMax int64 `json:"luckyComboMax"` + LuckyPauseMinMS int64 `json:"luckyPauseMinMs"` + LuckyPauseMaxMS int64 `json:"luckyPauseMaxMs"` +} + type createRoomPinRequest struct { DurationDays int64 `json:"durationDays"` ExpiresAtMS int64 `json:"expiresAtMs"` diff --git a/server/admin/internal/modules/roomadmin/robot_room.go b/server/admin/internal/modules/roomadmin/robot_room.go new file mode 100644 index 00000000..600a32d4 --- /dev/null +++ b/server/admin/internal/modules/roomadmin/robot_room.go @@ -0,0 +1,300 @@ +package roomadmin + +import ( + "context" + "fmt" + "strconv" + "strings" + + "hyapp-admin-server/internal/integration/robotclient" + "hyapp-admin-server/internal/integration/roomclient" + "hyapp-admin-server/internal/modules/shared" +) + +const defaultRoomRobotScene = "voice" + +type RobotRoom struct { + AppCode string `json:"appCode"` + RoomID string `json:"roomId"` + RoomShortID string `json:"roomShortId"` + Title string `json:"title"` + CoverURL string `json:"coverUrl"` + VisibleRegionID int64 `json:"visibleRegionId"` + RegionName string `json:"regionName"` + Status string `json:"status"` + OwnerRobotUserID string `json:"ownerRobotUserId"` + Owner RoomOwner `json:"owner"` + RobotUserIDs []string `json:"robotUserIds"` + Robots []RoomOwner `json:"robots"` + GiftRule RobotGiftRule `json:"giftRule"` + CreatedByAdminID uint64 `json:"createdByAdminId"` + CreatedAtMS int64 `json:"createdAtMs"` + UpdatedAtMS int64 `json:"updatedAtMs"` +} + +type RobotGiftRule struct { + GiftIDs []string `json:"giftIds"` + LuckyGiftIDs []string `json:"luckyGiftIds"` + NormalGiftIntervalMS int64 `json:"normalGiftIntervalMs"` + LuckyComboMin int64 `json:"luckyComboMin"` + LuckyComboMax int64 `json:"luckyComboMax"` + LuckyPauseMinMS int64 `json:"luckyPauseMinMs"` + LuckyPauseMaxMS int64 `json:"luckyPauseMaxMs"` +} + +type AvailableRoomRobot struct { + UserID string `json:"userId"` + Status string `json:"status"` + RoomScene string `json:"roomScene"` + LastUsedAtMS int64 `json:"lastUsedAtMs"` + UsedCount int64 `json:"usedCount"` + User RoomOwner `json:"user"` +} + +func (s *Service) ListRobotRooms(ctx context.Context, query robotRoomListQuery) ([]RobotRoom, int64, error) { + if s.roomClient == nil { + return nil, 0, fmt.Errorf("room service client is not configured") + } + if query.Page <= 0 { + query.Page = 1 + } + if query.PageSize <= 0 || query.PageSize > 100 { + query.PageSize = 50 + } + result, err := s.roomClient.ListRobotRooms(ctx, roomclient.ListRobotRoomsRequest{ + Page: query.Page, + PageSize: query.PageSize, + Status: normalizeRobotRoomListStatus(query.Status), + }) + if err != nil { + return nil, 0, err + } + items := robotRoomsFromClient(result.Rooms) + if err := s.fillRobotRoomDetails(ctx, items); err != nil { + return nil, 0, err + } + return items, result.Total, nil +} + +func normalizeRobotRoomListStatus(status string) string { + switch strings.TrimSpace(status) { + case "active", "stopped": + return strings.TrimSpace(status) + default: + return "" + } +} + +func (s *Service) ListAvailableRoomRobots(ctx context.Context) ([]AvailableRoomRobot, error) { + if s.robotClient == nil || s.roomClient == nil { + return nil, fmt.Errorf("robot or room service client is not configured") + } + result, err := s.robotClient.ListRoomRobots(ctx, robotclient.ListRoomRobotsRequest{ + RoomScene: defaultRoomRobotScene, + Status: "active", + PageSize: 200, + }) + if err != nil { + return nil, err + } + userIDs := make([]int64, 0, len(result.Robots)) + for _, item := range result.Robots { + if item.UserID > 0 { + userIDs = append(userIDs, item.UserID) + } + } + available, err := s.roomClient.FilterAvailableRoomRobots(ctx, userIDs) + if err != nil { + return nil, err + } + allowed := make(map[int64]bool, len(available.AvailableUserIDs)) + for _, userID := range available.AvailableUserIDs { + allowed[userID] = true + } + owners, err := s.queryRoomOwners(ctx, available.AvailableUserIDs) + if err != nil { + return nil, err + } + items := make([]AvailableRoomRobot, 0, len(available.AvailableUserIDs)) + for _, robot := range result.Robots { + if !allowed[robot.UserID] { + continue + } + items = append(items, AvailableRoomRobot{ + UserID: strconv.FormatInt(robot.UserID, 10), + Status: robot.Status, + RoomScene: robot.RoomScene, + LastUsedAtMS: robot.LastUsedAtMS, + UsedCount: robot.UsedCount, + User: owners[robot.UserID], + }) + } + return items, nil +} + +func (s *Service) CreateRobotRoom(ctx context.Context, req createRobotRoomRequest, actor shared.Actor) (RobotRoom, error) { + if s.roomClient == nil { + return RobotRoom{}, fmt.Errorf("room service client is not configured") + } + if _, err := normalizeCreateRobotRoomRequest(req); err != nil { + return RobotRoom{}, err + } + created, err := s.roomClient.CreateRobotRoom(ctx, roomclient.CreateRobotRoomRequest{ + OwnerRobotUserID: req.OwnerRobotUserID, + CandidateRobotUserIDs: req.CandidateRobotUserIDs, + MinRobotCount: req.MinRobotCount, + MaxRobotCount: req.MaxRobotCount, + RoomName: req.RoomName, + RoomAvatar: req.RoomAvatar, + VisibleRegionID: req.VisibleRegionID, + GiftRule: roomclient.RobotRoomGiftRule{ + GiftIDs: req.GiftIDs, + LuckyGiftIDs: req.LuckyGiftIDs, + NormalGiftIntervalMS: req.NormalGiftIntervalMS, + LuckyComboMin: req.LuckyComboMin, + LuckyComboMax: req.LuckyComboMax, + LuckyPauseMinMS: req.LuckyPauseMinMS, + LuckyPauseMaxMS: req.LuckyPauseMaxMS, + }, + AdminID: uint64(actor.UserID), + }) + if err != nil { + return RobotRoom{}, mapRoomClientError(err) + } + items := []RobotRoom{robotRoomFromClient(created)} + if err := s.fillRobotRoomDetails(ctx, items); err != nil { + return RobotRoom{}, err + } + return items[0], nil +} + +func (s *Service) SetRobotRoomStatus(ctx context.Context, roomID string, status string, actor shared.Actor) (RobotRoom, error) { + if s.roomClient == nil { + return RobotRoom{}, fmt.Errorf("room service client is not configured") + } + roomID = strings.TrimSpace(roomID) + status = strings.TrimSpace(status) + if roomID == "" || (status != "active" && status != "stopped") { + return RobotRoom{}, fmt.Errorf("%w: 机器人房间状态参数不正确", ErrInvalidArgument) + } + item, err := s.roomClient.SetRobotRoomStatus(ctx, roomclient.SetRobotRoomStatusRequest{ + RoomID: roomID, + Status: status, + AdminID: uint64(actor.UserID), + }) + if err != nil { + return RobotRoom{}, mapRoomClientError(err) + } + items := []RobotRoom{robotRoomFromClient(item)} + if err := s.fillRobotRoomDetails(ctx, items); err != nil { + return RobotRoom{}, err + } + return items[0], nil +} + +func normalizeCreateRobotRoomRequest(req createRobotRoomRequest) (createRobotRoomRequest, error) { + if req.OwnerRobotUserID <= 0 { + return req, fmt.Errorf("%w: 请选择房主机器人", ErrInvalidArgument) + } + if req.MinRobotCount <= 0 || req.MaxRobotCount < req.MinRobotCount { + return req, fmt.Errorf("%w: 机器人数量范围不正确", ErrInvalidArgument) + } + if len(req.CandidateRobotUserIDs) == 0 { + return req, fmt.Errorf("%w: 请选择候选机器人", ErrInvalidArgument) + } + if len(req.GiftIDs) == 0 { + return req, fmt.Errorf("%w: 请选择普通礼物合集", ErrInvalidArgument) + } + if len(req.LuckyGiftIDs) == 0 { + return req, fmt.Errorf("%w: 请选择幸运礼物合集", ErrInvalidArgument) + } + if req.NormalGiftIntervalMS <= 0 { + return req, fmt.Errorf("%w: 普通礼物频次不正确", ErrInvalidArgument) + } + if req.LuckyComboMin <= 0 || req.LuckyComboMax < req.LuckyComboMin { + return req, fmt.Errorf("%w: 幸运礼物连击范围不正确", ErrInvalidArgument) + } + if req.LuckyPauseMinMS <= 0 || req.LuckyPauseMaxMS < req.LuckyPauseMinMS { + return req, fmt.Errorf("%w: 幸运礼物间隔范围不正确", ErrInvalidArgument) + } + return req, nil +} + +func robotRoomsFromClient(items []roomclient.RobotRoom) []RobotRoom { + out := make([]RobotRoom, 0, len(items)) + for _, item := range items { + out = append(out, robotRoomFromClient(item)) + } + return out +} + +func robotRoomFromClient(item roomclient.RobotRoom) RobotRoom { + robotUserIDs := make([]string, 0, len(item.RobotUserIDs)) + for _, userID := range item.RobotUserIDs { + robotUserIDs = append(robotUserIDs, strconv.FormatInt(userID, 10)) + } + return RobotRoom{ + AppCode: item.AppCode, + RoomID: item.RoomID, + RoomShortID: item.RoomShortID, + Title: item.Title, + CoverURL: item.CoverURL, + VisibleRegionID: item.VisibleRegionID, + Status: item.Status, + OwnerRobotUserID: strconv.FormatInt(item.OwnerRobotUserID, 10), + RobotUserIDs: robotUserIDs, + GiftRule: RobotGiftRule{ + GiftIDs: item.GiftRule.GiftIDs, + LuckyGiftIDs: item.GiftRule.LuckyGiftIDs, + NormalGiftIntervalMS: item.GiftRule.NormalGiftIntervalMS, + LuckyComboMin: item.GiftRule.LuckyComboMin, + LuckyComboMax: item.GiftRule.LuckyComboMax, + LuckyPauseMinMS: item.GiftRule.LuckyPauseMinMS, + LuckyPauseMaxMS: item.GiftRule.LuckyPauseMaxMS, + }, + CreatedByAdminID: item.CreatedByAdminID, + CreatedAtMS: item.CreatedAtMS, + UpdatedAtMS: item.UpdatedAtMS, + } +} + +func (s *Service) fillRobotRoomDetails(ctx context.Context, items []RobotRoom) error { + if s.userDB == nil || len(items) == 0 { + return nil + } + userIDs := make([]int64, 0) + regionIDs := make([]int64, 0) + for _, item := range items { + if ownerID, err := strconv.ParseInt(item.OwnerRobotUserID, 10, 64); err == nil && ownerID > 0 { + userIDs = append(userIDs, ownerID) + } + for _, rawID := range item.RobotUserIDs { + if userID, err := strconv.ParseInt(rawID, 10, 64); err == nil && userID > 0 { + userIDs = append(userIDs, userID) + } + } + if item.VisibleRegionID > 0 { + regionIDs = append(regionIDs, item.VisibleRegionID) + } + } + owners, err := s.queryRoomOwners(ctx, uniqueInt64s(userIDs)) + if err != nil { + return err + } + regions, err := s.queryRegionNames(ctx, uniqueInt64s(regionIDs)) + if err != nil { + return err + } + for index := range items { + if ownerID, err := strconv.ParseInt(items[index].OwnerRobotUserID, 10, 64); err == nil { + items[index].Owner = owners[ownerID] + } + for _, rawID := range items[index].RobotUserIDs { + if userID, err := strconv.ParseInt(rawID, 10, 64); err == nil { + items[index].Robots = append(items[index].Robots, owners[userID]) + } + } + items[index].RegionName = regions[items[index].VisibleRegionID] + } + return nil +} diff --git a/server/admin/internal/modules/roomadmin/routes.go b/server/admin/internal/modules/roomadmin/routes.go index fa38f28e..9680b7a6 100644 --- a/server/admin/internal/modules/roomadmin/routes.go +++ b/server/admin/internal/modules/roomadmin/routes.go @@ -15,6 +15,11 @@ func RegisterRoutes(protected *gin.RouterGroup, h *Handler) { protected.GET("/admin/rooms/pins", middleware.RequirePermission("room-pin:view"), h.ListRoomPins) protected.POST("/admin/rooms/pins", middleware.RequirePermission("room-pin:create"), h.CreateRoomPin) protected.DELETE("/admin/rooms/pins/:pin_id", middleware.RequirePermission("room-pin:cancel"), h.CancelRoomPin) + protected.GET("/admin/rooms/robot-rooms", middleware.RequirePermission("room-robot:view"), h.ListRobotRooms) + protected.GET("/admin/rooms/robot-rooms/available-robots", middleware.RequirePermission("room-robot:view"), h.ListAvailableRoomRobots) + protected.POST("/admin/rooms/robot-rooms", middleware.RequirePermission("room-robot:create"), h.CreateRobotRoom) + protected.POST("/admin/rooms/robot-rooms/:room_id/start", middleware.RequirePermission("room-robot:update"), h.StartRobotRoom) + protected.POST("/admin/rooms/robot-rooms/:room_id/stop", middleware.RequirePermission("room-robot:update"), h.StopRobotRoom) protected.GET("/admin/rooms/config", middleware.RequirePermission("room-config:view"), h.GetRoomConfig) protected.PUT("/admin/rooms/config", middleware.RequirePermission("room-config:update"), h.UpdateRoomConfig) protected.PATCH("/admin/rooms/:room_id", middleware.RequirePermission("room:update"), h.UpdateRoom) diff --git a/server/admin/internal/modules/roomadmin/service.go b/server/admin/internal/modules/roomadmin/service.go index 0d749e5c..3be7d6fe 100644 --- a/server/admin/internal/modules/roomadmin/service.go +++ b/server/admin/internal/modules/roomadmin/service.go @@ -12,6 +12,7 @@ import ( "google.golang.org/grpc/codes" "google.golang.org/grpc/status" "hyapp-admin-server/internal/appctx" + "hyapp-admin-server/internal/integration/robotclient" "hyapp-admin-server/internal/integration/roomclient" "hyapp-admin-server/internal/modules/shared" ) @@ -22,8 +23,9 @@ var ( ) type Service struct { - userDB *sql.DB - roomClient roomclient.Client + userDB *sql.DB + roomClient roomclient.Client + robotClient robotclient.Client } type RoomOwner struct { @@ -58,8 +60,8 @@ type Room struct { VisibleRegionID int64 `json:"visibleRegionId"` } -func NewService(userDB *sql.DB, roomClient roomclient.Client) *Service { - return &Service{userDB: userDB, roomClient: roomClient} +func NewService(userDB *sql.DB, roomClient roomclient.Client, robotClient robotclient.Client) *Service { + return &Service{userDB: userDB, roomClient: roomClient, robotClient: robotClient} } func (s *Service) ListRooms(ctx context.Context, query listQuery) ([]Room, int64, error) { diff --git a/server/admin/internal/repository/seed.go b/server/admin/internal/repository/seed.go index 94014302..c828f24d 100644 --- a/server/admin/internal/repository/seed.go +++ b/server/admin/internal/repository/seed.go @@ -36,6 +36,9 @@ var defaultPermissions = []model.Permission{ {Name: "房间置顶取消", Code: "room-pin:cancel", Kind: "button"}, {Name: "房间配置查看", Code: "room-config:view", Kind: "menu"}, {Name: "房间配置更新", Code: "room-config:update", Kind: "button"}, + {Name: "机器人房间查看", Code: "room-robot:view", Kind: "menu"}, + {Name: "机器人房间创建", Code: "room-robot:create", Kind: "button"}, + {Name: "机器人房间更新", Code: "room-robot:update", Kind: "button"}, {Name: "APP 配置查看", Code: "app-config:view", Kind: "menu"}, {Name: "APP 配置更新", Code: "app-config:update", Kind: "button"}, {Name: "版本管理查看", Code: "app-version:view", Kind: "menu"}, @@ -255,6 +258,7 @@ func (s *Store) seedMenus() error { {ParentID: &roomsID, Title: "房间列表", Code: "room-list", Path: "/rooms", Icon: "room", PermissionCode: "room:view", Sort: 65, Visible: true}, {ParentID: &roomsID, Title: "房间置顶", Code: "room-pins", Path: "/rooms/pins", Icon: "push_pin", PermissionCode: "room-pin:view", Sort: 66, Visible: true}, {ParentID: &roomsID, Title: "房间配置", Code: "room-config", Path: "/rooms/config", Icon: "settings", PermissionCode: "room-config:view", Sort: 67, Visible: true}, + {ParentID: &roomsID, Title: "机器人房间", Code: "room-robots", Path: "/rooms/robots", Icon: "team", PermissionCode: "room-robot:view", Sort: 68, Visible: true}, {ParentID: &appConfigID, Title: "H5配置", Code: "app-config-h5", Path: "/app-config/h5", Icon: "settings", PermissionCode: "app-config:view", Sort: 66, Visible: true}, {ParentID: &appConfigID, Title: "BANNER配置", Code: "app-config-banners", Path: "/app-config/banners", Icon: "image", PermissionCode: "app-config:view", Sort: 67, Visible: true}, {ParentID: &appConfigID, Title: "开屏配置", Code: "app-config-splash-screens", Path: "/app-config/splash-screens", Icon: "image", PermissionCode: "app-config:view", Sort: 68, Visible: true}, @@ -511,7 +515,7 @@ func defaultRolePermissionCodes(code string) []string { "level-config:view", "level-config:update", "pretty-id:view", "pretty-id:update", "pretty-id:generate", "pretty-id:grant", "region-block:view", "region-block:update", - "room:view", "room:update", "room:delete", "room-pin:view", "room-pin:create", "room-pin:cancel", "room-config:view", "room-config:update", + "room:view", "room:update", "room:delete", "room-pin:view", "room-pin:create", "room-pin:cancel", "room-config:view", "room-config:update", "room-robot:view", "room-robot:create", "room-robot:update", "app-config:view", "app-config:update", "app-version:view", "app-version:create", "app-version:update", "app-version:delete", "resource:view", "resource:create", "resource:update", @@ -542,7 +546,7 @@ func defaultRolePermissionCodes(code string) []string { "upload:create", } case "auditor": - return []string{"overview:view", "log:view", "user:view", "app-user:view", "level-config:view", "pretty-id:view", "region-block:view", "room:view", "room-pin:view", "room-config:view", "app-config:view", "app-version:view", "resource:view", "resource-shop:view", "resource-group:view", "resource-grant:view", "gift:view", "emoji-pack:view", "host-agency-policy:view", "team-salary-policy:view", "host-salary-settlement:view", "coin-ledger:view", "coin-seller-ledger:view", "coin-adjustment:view", "report:view", "gift-diamond:view", "lucky-gift:view", "payment-bill:view", "payment-third-party:view", "payment-product:view", "game:view", "daily-task:view", "achievement:view", "seven-day-checkin:view", "room-rocket:view", "red-packet:view", "cp-config:view", "vip-config:view", "weekly-star:view", "role:view", "permission:view", "job:view"} + return []string{"overview:view", "log:view", "user:view", "app-user:view", "level-config:view", "pretty-id:view", "region-block:view", "room:view", "room-pin:view", "room-config:view", "room-robot:view", "app-config:view", "app-version:view", "resource:view", "resource-shop:view", "resource-group:view", "resource-grant:view", "gift:view", "emoji-pack:view", "host-agency-policy:view", "team-salary-policy:view", "host-salary-settlement:view", "coin-ledger:view", "coin-seller-ledger:view", "coin-adjustment:view", "report:view", "gift-diamond:view", "lucky-gift:view", "payment-bill:view", "payment-third-party:view", "payment-product:view", "game:view", "daily-task:view", "achievement:view", "seven-day-checkin:view", "room-rocket:view", "red-packet:view", "cp-config:view", "vip-config:view", "weekly-star:view", "role:view", "permission:view", "job:view"} case "readonly": return []string{ "overview:view", @@ -554,6 +558,7 @@ func defaultRolePermissionCodes(code string) []string { "room:view", "room-pin:view", "room-config:view", + "room-robot:view", "app-config:view", "app-version:view", "resource:view", @@ -605,7 +610,7 @@ func defaultRolePermissionMigrationCodes(code string) []string { case "ops-admin": return []string{ "app-user:update", "app-user:status", "app-user:password", - "room:view", "room:update", "room:delete", "room-pin:view", "room-pin:create", "room-pin:cancel", "room-config:view", "room-config:update", + "room:view", "room:update", "room:delete", "room-pin:view", "room-pin:create", "room-pin:cancel", "room-config:view", "room-config:update", "room-robot:view", "room-robot:create", "room-robot:update", "app-config:view", "app-config:update", "app-version:view", "app-version:create", "app-version:update", "app-version:delete", "level-config:view", "level-config:update", @@ -635,7 +640,7 @@ func defaultRolePermissionMigrationCodes(code string) []string { "weekly-star:view", "weekly-star:create", "weekly-star:update", "weekly-star:settle", } case "auditor", "readonly": - return []string{"level-config:view", "pretty-id:view", "region-block:view", "room:view", "room-pin:view", "room-config:view", "app-config:view", "app-version:view", "resource:view", "resource-shop:view", "resource-group:view", "resource-grant:view", "gift:view", "emoji-pack:view", "host-agency-policy:view", "team-salary-policy:view", "host-salary-settlement:view", "coin-seller:view", "coin-ledger:view", "coin-seller-ledger:view", "coin-adjustment:view", "report:view", "gift-diamond:view", "lucky-gift:view", "payment-bill:view", "payment-third-party:view", "payment-product:view", "game:view", "daily-task:view", "achievement:view", "seven-day-checkin:view", "room-rocket:view", "red-packet:view", "cp-config:view", "vip-config:view", "weekly-star:view"} + return []string{"level-config:view", "pretty-id:view", "region-block:view", "room:view", "room-pin:view", "room-config:view", "room-robot:view", "app-config:view", "app-version:view", "resource:view", "resource-shop:view", "resource-group:view", "resource-grant:view", "gift:view", "emoji-pack:view", "host-agency-policy:view", "team-salary-policy:view", "host-salary-settlement:view", "coin-seller:view", "coin-ledger:view", "coin-seller-ledger:view", "coin-adjustment:view", "report:view", "gift-diamond:view", "lucky-gift:view", "payment-bill:view", "payment-third-party:view", "payment-product:view", "game:view", "daily-task:view", "achievement:view", "seven-day-checkin:view", "room-rocket:view", "red-packet:view", "cp-config:view", "vip-config:view", "weekly-star:view"} default: return nil } diff --git a/server/admin/migrations/054_robot_room_navigation.sql b/server/admin/migrations/054_robot_room_navigation.sql new file mode 100644 index 00000000..ec62e3d9 --- /dev/null +++ b/server/admin/migrations/054_robot_room_navigation.sql @@ -0,0 +1,41 @@ +SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci; + +SET @now_ms = CAST(UNIX_TIMESTAMP(UTC_TIMESTAMP(3)) * 1000 AS UNSIGNED); + +INSERT INTO admin_permissions (name, code, kind, description, created_at_ms, updated_at_ms) VALUES + ('机器人房间查看', 'room-robot:view', 'menu', '', @now_ms, @now_ms), + ('机器人房间创建', 'room-robot:create', 'button', '', @now_ms, @now_ms), + ('机器人房间更新', 'room-robot:update', 'button', '', @now_ms, @now_ms) +ON DUPLICATE KEY UPDATE + name = VALUES(name), + kind = VALUES(kind), + description = VALUES(description), + updated_at_ms = @now_ms; + +INSERT INTO admin_menus (parent_id, title, code, path, icon, permission_code, sort, visible, created_at_ms, updated_at_ms) +SELECT parent.id, '机器人房间', 'room-robots', '/rooms/robots', 'team', 'room-robot:view', 68, TRUE, @now_ms, @now_ms +FROM admin_menus parent +WHERE parent.code = 'rooms' +ON DUPLICATE KEY UPDATE + parent_id = VALUES(parent_id), + title = VALUES(title), + path = VALUES(path), + icon = VALUES(icon), + permission_code = VALUES(permission_code), + sort = VALUES(sort), + visible = VALUES(visible), + updated_at_ms = @now_ms; + +INSERT IGNORE INTO admin_role_permissions (role_id, permission_id) +SELECT admin_role.id, admin_permission.id +FROM admin_roles admin_role +JOIN admin_permissions admin_permission +WHERE admin_role.code IN ('platform-admin', 'ops-admin') + AND admin_permission.code IN ('room-robot:view', 'room-robot:create', 'room-robot:update'); + +INSERT IGNORE INTO admin_role_permissions (role_id, permission_id) +SELECT admin_role.id, admin_permission.id +FROM admin_roles admin_role +JOIN admin_permissions admin_permission +WHERE admin_role.code IN ('auditor', 'readonly') + AND admin_permission.code = 'room-robot:view'; diff --git a/services/activity-service/internal/service/broadcast/service.go b/services/activity-service/internal/service/broadcast/service.go index 52c2b98a..53cf9a3c 100644 --- a/services/activity-service/internal/service/broadcast/service.go +++ b/services/activity-service/internal/service/broadcast/service.go @@ -323,6 +323,9 @@ func (s *Service) HandleRoomEvent(ctx context.Context, envelope *roomeventsv1.Ev if err := proto.Unmarshal(envelope.GetBody(), &gift); err != nil { return broadcastdomain.ConsumeRoomEventResult{}, err } + if gift.GetIsRobotGift() { + return result, nil + } if gift.GetVisibleRegionId() <= 0 || !s.shouldBroadcastGift(&gift) { // visible_region_id 来自房间/主播可见区域,不能用客户端当前 IP 或本地时区推断。 return result, nil diff --git a/services/activity-service/internal/service/growth/service.go b/services/activity-service/internal/service/growth/service.go index 940a1502..89e46545 100644 --- a/services/activity-service/internal/service/growth/service.go +++ b/services/activity-service/internal/service/growth/service.go @@ -257,6 +257,9 @@ func (s *Service) HandleRoomEvent(ctx context.Context, envelope *roomeventsv1.Ev if err := proto.Unmarshal(envelope.GetBody(), &gift); err != nil { return 0, err } + if gift.GetIsRobotGift() { + return 0, nil + } if gift.GetSenderUserId() <= 0 || gift.GetTargetUserId() <= 0 || gift.GetGiftValue() <= 0 { return 0, xerr.New(xerr.InvalidArgument, "room gift event is incomplete") } diff --git a/services/activity-service/internal/service/roomturnoverreward/service.go b/services/activity-service/internal/service/roomturnoverreward/service.go index 9a8afbae..6a8cc1f2 100644 --- a/services/activity-service/internal/service/roomturnoverreward/service.go +++ b/services/activity-service/internal/service/roomturnoverreward/service.go @@ -157,6 +157,9 @@ func (s *Service) HandleRoomEvent(ctx context.Context, envelope *roomeventsv1.Ev if err := proto.Unmarshal(envelope.GetBody(), &gift); err != nil { return domain.EventResult{}, err } + if gift.GetIsRobotGift() { + return domain.EventResult{EventID: envelope.GetEventId(), Status: domain.EventStatusSkipped}, nil + } if strings.TrimSpace(envelope.GetRoomId()) == "" || gift.GetCoinSpent() <= 0 { // 缺房间或 0 金币不会形成有效房间贡献;这类事件本身没有可补偿数据,跳过比失败重放更安全。 return domain.EventResult{EventID: envelope.GetEventId(), Status: domain.EventStatusSkipped}, nil diff --git a/services/activity-service/internal/service/task/service.go b/services/activity-service/internal/service/task/service.go index 7a2f223c..e68ddbb6 100644 --- a/services/activity-service/internal/service/task/service.go +++ b/services/activity-service/internal/service/task/service.go @@ -207,6 +207,9 @@ func (s *Service) HandleRoomEvent(ctx context.Context, envelope *roomeventsv1.Ev if err := proto.Unmarshal(envelope.GetBody(), &gift); err != nil { return 0, err } + if gift.GetIsRobotGift() { + return 0, nil + } if gift.GetSenderUserId() <= 0 || gift.GetGiftId() == "" || gift.GetGiftCount() <= 0 { return 0, nil } diff --git a/services/activity-service/internal/service/weeklystar/service.go b/services/activity-service/internal/service/weeklystar/service.go index 8d115f3d..9548a7e0 100644 --- a/services/activity-service/internal/service/weeklystar/service.go +++ b/services/activity-service/internal/service/weeklystar/service.go @@ -163,6 +163,9 @@ func (s *Service) HandleRoomEvent(ctx context.Context, envelope *roomeventsv1.Ev if err := proto.Unmarshal(envelope.GetBody(), &gift); err != nil { return 0, err } + if gift.GetIsRobotGift() { + return 0, nil + } if gift.GetSenderUserId() <= 0 || gift.GetGiftId() == "" || gift.GetCoinSpent() <= 0 { return 0, nil } diff --git a/services/room-service/deploy/mysql/initdb/001_room_service.sql b/services/room-service/deploy/mysql/initdb/001_room_service.sql index 907fb031..4162b15f 100644 --- a/services/room-service/deploy/mysql/initdb/001_room_service.sql +++ b/services/room-service/deploy/mysql/initdb/001_room_service.sql @@ -225,6 +225,31 @@ CREATE TABLE IF NOT EXISTS room_rocket_configs ( KEY idx_room_rocket_enabled (app_code, enabled) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='语音房火箭后台配置表'; +CREATE TABLE IF NOT EXISTS room_robot_rooms ( + app_code VARCHAR(32) NOT NULL COMMENT '应用编码,用于多租户隔离', + room_id VARCHAR(64) NOT NULL COMMENT '机器人房间 ID', + room_short_id VARCHAR(32) NOT NULL DEFAULT '' COMMENT '房间短 ID', + title VARCHAR(128) NOT NULL DEFAULT '' COMMENT '房间名称', + cover_url VARCHAR(512) NOT NULL DEFAULT '' COMMENT '房间头像', + visible_region_id BIGINT NOT NULL DEFAULT 0 COMMENT '可见区域 ID', + status VARCHAR(32) NOT NULL COMMENT '运行状态:active/stopped', + owner_robot_user_id BIGINT NOT NULL COMMENT '房主机器人用户 ID', + robot_user_ids_json JSON NOT NULL COMMENT '本房间占用的机器人用户 ID 集合', + gift_ids_json JSON NOT NULL COMMENT '普通礼物 ID 集合', + lucky_gift_ids_json JSON NOT NULL COMMENT '幸运礼物 ID 集合', + normal_gift_interval_ms BIGINT NOT NULL COMMENT '普通礼物间隔毫秒', + lucky_combo_min BIGINT NOT NULL COMMENT '幸运礼物最小连击次数', + lucky_combo_max BIGINT NOT NULL COMMENT '幸运礼物最大连击次数', + lucky_pause_min_ms BIGINT NOT NULL COMMENT '幸运礼物连击后最小暂停毫秒', + lucky_pause_max_ms BIGINT NOT NULL COMMENT '幸运礼物连击后最大暂停毫秒', + created_by_admin_id BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '创建管理员 ID', + created_at_ms BIGINT NOT NULL COMMENT '创建时间,UTC epoch ms', + updated_at_ms BIGINT NOT NULL COMMENT '更新时间,UTC epoch ms', + PRIMARY KEY (app_code, room_id), + KEY idx_room_robot_rooms_status (app_code, status, updated_at_ms, room_id), + KEY idx_room_robot_rooms_owner (app_code, owner_robot_user_id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='机器人房间后台配置表'; + INSERT IGNORE INTO room_seat_configs ( app_code, allowed_seat_counts, diff --git a/services/room-service/internal/app/app.go b/services/room-service/internal/app/app.go index dfb57423..9fbd1f60 100644 --- a/services/room-service/internal/app/app.go +++ b/services/room-service/internal/app/app.go @@ -391,6 +391,9 @@ func (a *App) Run() error { }) }) } + a.workerWG.Go(func() { + a.service.RunRobotRoomRuntimeManager(a.workerCtx, 10*time.Second) + }) err := a.grpcServer.Serve(a.listener) a.health.MarkGRPCStopped() diff --git a/services/room-service/internal/integration/clients.go b/services/room-service/internal/integration/clients.go index 770351a6..cce2e1aa 100644 --- a/services/room-service/internal/integration/clients.go +++ b/services/room-service/internal/integration/clients.go @@ -16,6 +16,8 @@ type WalletClient interface { DebitGift(ctx context.Context, req *walletv1.DebitGiftRequest) (*walletv1.DebitGiftResponse, error) // BatchDebitGift 在 wallet-service 单事务内结算多目标送礼;任一目标失败时整批失败。 BatchDebitGift(ctx context.Context, req *walletv1.BatchDebitGiftRequest) (*walletv1.BatchDebitGiftResponse, error) + // DebitRobotGift 扣机器人专用金币;只用于机器人房间内部展示礼物。 + DebitRobotGift(ctx context.Context, req *walletv1.DebitRobotGiftRequest) (*walletv1.DebitGiftResponse, error) // GrantResourceGroup 发放火箭奖励资源组;命令 ID 必须由 room-service 按火箭结算事实生成。 GrantResourceGroup(ctx context.Context, req *walletv1.GrantResourceGroupRequest) (*walletv1.ResourceGrantResponse, error) } diff --git a/services/room-service/internal/integration/clients_grpc.go b/services/room-service/internal/integration/clients_grpc.go index a2600081..f5d8544d 100644 --- a/services/room-service/internal/integration/clients_grpc.go +++ b/services/room-service/internal/integration/clients_grpc.go @@ -34,6 +34,11 @@ func (c *grpcWalletClient) BatchDebitGift(ctx context.Context, req *walletv1.Bat return c.client.BatchDebitGift(ctx, req) } +// DebitRobotGift 直接转调 wallet-service 机器人专用金币扣费接口。 +func (c *grpcWalletClient) DebitRobotGift(ctx context.Context, req *walletv1.DebitRobotGiftRequest) (*walletv1.DebitGiftResponse, error) { + return c.client.DebitRobotGift(ctx, req) +} + // GrantResourceGroup 直接转调 wallet-service 资源组发放接口。 func (c *grpcWalletClient) GrantResourceGroup(ctx context.Context, req *walletv1.GrantResourceGroupRequest) (*walletv1.ResourceGrantResponse, error) { // 火箭奖励以 resource group 为后台配置单位,wallet-service 负责展开资产和权益。 diff --git a/services/room-service/internal/integration/tencent_im.go b/services/room-service/internal/integration/tencent_im.go index 4d19f35d..6d95a885 100644 --- a/services/room-service/internal/integration/tencent_im.go +++ b/services/room-service/internal/integration/tencent_im.go @@ -315,6 +315,36 @@ func roomEventFromEnvelope(envelope *roomeventsv1.EventEnvelope) (tencentim.Room "gift_effect_types": string(effectTypesJSON), } return base, true, nil + case "RoomRobotLuckyGiftDrawn": + // 机器人幸运礼物只发房间展示协议,不进入 activity-service 真实抽奖和奖池链路。 + var body roomeventsv1.RoomRobotLuckyGiftDrawn + if err := proto.Unmarshal(envelope.GetBody(), &body); err != nil { + return tencentim.RoomEvent{}, false, err + } + base.ActorUserID = body.GetSenderUserId() + base.TargetUserID = body.GetTargetUserId() + base.GiftValue = body.GetEffectiveRewardCoins() + base.Attributes = map[string]string{ + "event_type": "lucky_gift_drawn", + "draw_id": body.GetDrawId(), + "command_id": body.GetCommandId(), + "sender_user_id": fmt.Sprintf("%d", body.GetSenderUserId()), + "target_user_id": fmt.Sprintf("%d", body.GetTargetUserId()), + "gift_id": body.GetGiftId(), + "gift_count": fmt.Sprintf("%d", body.GetGiftCount()), + "pool_id": body.GetPoolId(), + "multiplier_ppm": fmt.Sprintf("%d", body.GetMultiplierPpm()), + "base_reward_coins": fmt.Sprintf("%d", body.GetBaseRewardCoins()), + "room_atmosphere_reward_coins": fmt.Sprintf("%d", body.GetRoomAtmosphereRewardCoins()), + "activity_subsidy_coins": fmt.Sprintf("%d", body.GetActivitySubsidyCoins()), + "effective_reward_coins": fmt.Sprintf("%d", body.GetEffectiveRewardCoins()), + "created_at_ms": fmt.Sprintf("%d", body.GetCreatedAtMs()), + "visible_region_id": fmt.Sprintf("%d", body.GetVisibleRegionId()), + "is_robot": fmt.Sprintf("%t", body.GetIsRobot()), + "synthetic": fmt.Sprintf("%t", body.GetSynthetic()), + "reward_status": "granted", + } + return base, true, nil case "RoomRocketFuelChanged": var body roomeventsv1.RoomRocketFuelChanged if err := proto.Unmarshal(envelope.GetBody(), &body); err != nil { @@ -441,6 +471,8 @@ func eventTypeForClient(eventType string) string { return "room_user_unbanned" case "RoomGiftSent": return "room_gift_sent" + case "RoomRobotLuckyGiftDrawn": + return "lucky_gift_drawn" case "RoomRocketFuelChanged": return "room_rocket_fuel_changed" case "RoomRocketIgnited": diff --git a/services/room-service/internal/room/command/command.go b/services/room-service/internal/room/command/command.go index 728db698..62350529 100644 --- a/services/room-service/internal/room/command/command.go +++ b/services/room-service/internal/room/command/command.go @@ -74,6 +74,10 @@ type CreateRoom struct { RoomDescription string `json:"room_description"` // RoomShortID 是房间短 ID,首版等于创建者当前展示短号。 RoomShortID string `json:"room_short_id"` + // RobotRoom 标记该房间由内部机器人编排器创建,机器人礼物校验依赖它 fail-close。 + RobotRoom bool `json:"robot_room,omitempty"` + // RobotUserIDs 是该机器人房间允许参与虚拟上麦和机器人送礼的用户集合。 + RobotUserIDs []int64 `json:"robot_user_ids,omitempty"` } // Type 返回命令类型。 @@ -200,6 +204,17 @@ type MicUp struct { // Type 返回命令类型。 func (MicUp) Type() string { return "mic_up" } +// RobotMicUp 定义机器人虚拟静音占麦请求。 +// 它不等待 RTC 发流确认,也不会被 pending_publish 超时任务释放。 +type RobotMicUp struct { + Base + TargetUserID int64 `json:"target_user_id"` + SeatNo int32 `json:"seat_no"` + MicSessionID string `json:"mic_session_id"` +} + +func (RobotMicUp) Type() string { return "robot_mic_up" } + // MicDown 定义下麦请求。 type MicDown struct { Base @@ -459,6 +474,14 @@ type SendGift struct { RocketPendingLaunches []RocketPendingLaunch `json:"rocket_pending_launches,omitempty"` // RocketCurrentContributions 保存当前等级真实加燃料贡献,恢复时用于继续按本级贡献锁 top1。 RocketCurrentContributions []RocketContribution `json:"rocket_current_contributions,omitempty"` + // RobotGift 表示本次礼物只服务机器人房间展示;不写真实统计、任务、周星和房间贡献榜。 + RobotGift bool `json:"robot_gift,omitempty"` + // SyntheticLuckyGift 表示幸运礼物只生成展示事件,不调用真实 activity 抽奖和奖池。 + SyntheticLuckyGift bool `json:"synthetic_lucky_gift,omitempty"` + // SyntheticLuckyRewardCoins 是机器人幸运礼物展示用爆奖金币值,不代表真实钱包返奖。 + SyntheticLuckyRewardCoins int64 `json:"synthetic_lucky_reward_coins,omitempty"` + // SyntheticLuckyMultiplierPPM 是机器人幸运礼物展示用倍率。 + SyntheticLuckyMultiplierPPM int64 `json:"synthetic_lucky_multiplier_ppm,omitempty"` } // Type 返回命令类型。 @@ -624,6 +647,8 @@ func Deserialize(commandType string, payload []byte) (Command, error) { cmd = &AdminDeleteRoom{} case MicUp{}.Type(): cmd = &MicUp{} + case RobotMicUp{}.Type(): + cmd = &RobotMicUp{} case MicDown{}.Type(): cmd = &MicDown{} case ConfirmMicPublishing{}.Type(): diff --git a/services/room-service/internal/room/service/admin_robot_room.go b/services/room-service/internal/room/service/admin_robot_room.go new file mode 100644 index 00000000..5d70d5ef --- /dev/null +++ b/services/room-service/internal/room/service/admin_robot_room.go @@ -0,0 +1,566 @@ +package service + +import ( + "context" + "fmt" + "log/slog" + "math/rand" + "slices" + "strings" + "time" + + roomv1 "hyapp.local/api/proto/room/v1" + "hyapp/pkg/appcode" + "hyapp/pkg/logx" + "hyapp/pkg/roomid" + "hyapp/pkg/xerr" +) + +const ( + robotRoomStatusActive = "active" + robotRoomStatusStopped = "stopped" + robotRoomMode = "voice" + robotRoomLuckyPoolID = "robot_lucky_display" +) + +func (s *Service) AdminListRobotRooms(ctx context.Context, req *roomv1.AdminListRobotRoomsRequest) (*roomv1.AdminListRobotRoomsResponse, error) { + ctx = contextFromMeta(ctx, req.GetMeta()) + items, total, err := s.repository.ListRobotRooms(ctx, RobotRoomListQuery{ + AppCode: appcode.FromContext(ctx), + Status: strings.TrimSpace(req.GetStatus()), + Page: int(req.GetPage()), + PageSize: int(req.GetPageSize()), + }) + if err != nil { + return nil, err + } + resp := &roomv1.AdminListRobotRoomsResponse{Total: total, ServerTimeMs: s.clock.Now().UnixMilli()} + for _, item := range items { + resp.Rooms = append(resp.Rooms, robotRoomConfigToProto(item)) + } + return resp, nil +} + +func (s *Service) AdminFilterAvailableRoomRobots(ctx context.Context, req *roomv1.AdminFilterAvailableRoomRobotsRequest) (*roomv1.AdminFilterAvailableRoomRobotsResponse, error) { + ctx = contextFromMeta(ctx, req.GetMeta()) + ids := normalizeRobotUserIDs(req.GetUserIds()) + occupied, err := s.repository.OccupiedRobotUserIDs(ctx, ids) + if err != nil { + return nil, err + } + resp := &roomv1.AdminFilterAvailableRoomRobotsResponse{ServerTimeMs: s.clock.Now().UnixMilli()} + for _, userID := range ids { + if occupied[userID] { + resp.OccupiedUserIds = append(resp.OccupiedUserIds, userID) + continue + } + resp.AvailableUserIds = append(resp.AvailableUserIds, userID) + } + slices.Sort(resp.AvailableUserIds) + slices.Sort(resp.OccupiedUserIds) + return resp, nil +} + +func (s *Service) AdminCreateRobotRoom(ctx context.Context, req *roomv1.AdminCreateRobotRoomRequest) (*roomv1.AdminCreateRobotRoomResponse, error) { + ctx = contextFromMeta(ctx, req.GetMeta()) + now := s.clock.Now() + config, err := s.buildRobotRoomConfig(ctx, req, now) + if err != nil { + return nil, err + } + if err := s.bootstrapRobotRoom(ctx, config); err != nil { + logx.Error(ctx, "admin_robot_room_bootstrap_failed", err, + slog.String("room_id", config.RoomID), + slog.Int64("owner_robot_user_id", config.OwnerRobotUserID), + slog.Int("robot_count", len(config.RobotUserIDs)), + ) + return nil, err + } + saved, err := s.repository.CreateRobotRoomConfig(ctx, CreateRobotRoomConfigInput{Config: config, NowMS: now.UnixMilli()}) + if err != nil { + logx.Error(ctx, "admin_robot_room_config_save_failed", err, + slog.String("room_id", config.RoomID), + slog.Int64("owner_robot_user_id", config.OwnerRobotUserID), + slog.Int("robot_count", len(config.RobotUserIDs)), + ) + return nil, err + } + s.startRobotRoomRuntime(ctx, saved) + return &roomv1.AdminCreateRobotRoomResponse{Room: robotRoomConfigToProto(saved), ServerTimeMs: now.UnixMilli()}, nil +} + +func (s *Service) AdminSetRobotRoomStatus(ctx context.Context, req *roomv1.AdminSetRobotRoomStatusRequest) (*roomv1.AdminSetRobotRoomStatusResponse, error) { + ctx = contextFromMeta(ctx, req.GetMeta()) + roomID := strings.TrimSpace(req.GetMeta().GetRoomId()) + status := normalizeRobotRoomStatus(req.GetStatus()) + if roomID == "" { + return nil, xerr.New(xerr.InvalidArgument, "room_id is required") + } + if status == "" { + return nil, xerr.New(xerr.InvalidArgument, "robot room status is invalid") + } + config, exists, err := s.repository.UpdateRobotRoomStatus(ctx, roomID, status, s.clock.Now().UnixMilli()) + if err != nil { + return nil, err + } + if !exists { + return nil, xerr.New(xerr.NotFound, "robot room not found") + } + if status == robotRoomStatusActive { + s.startRobotRoomRuntime(ctx, config) + } else { + s.stopRobotRoomRuntime(roomID) + } + return &roomv1.AdminSetRobotRoomStatusResponse{Room: robotRoomConfigToProto(config), ServerTimeMs: s.clock.Now().UnixMilli()}, nil +} + +func (s *Service) buildRobotRoomConfig(ctx context.Context, req *roomv1.AdminCreateRobotRoomRequest, now time.Time) (RobotRoomConfig, error) { + ownerID := req.GetOwnerRobotUserId() + if ownerID <= 0 { + return RobotRoomConfig{}, xerr.New(xerr.InvalidArgument, "owner_robot_user_id is required") + } + candidates := normalizeRobotUserIDs(req.GetCandidateRobotUserIds()) + containsOwner := false + for _, userID := range candidates { + if userID == ownerID { + containsOwner = true + break + } + } + if !containsOwner { + candidates = append(candidates, ownerID) + } + occupied, err := s.repository.OccupiedRobotUserIDs(ctx, candidates) + if err != nil { + return RobotRoomConfig{}, err + } + if occupied[ownerID] { + return RobotRoomConfig{}, xerr.New(xerr.Conflict, "owner robot already assigned to active robot room") + } + available := make([]int64, 0, len(candidates)) + for _, userID := range candidates { + if !occupied[userID] { + available = append(available, userID) + } + } + minCount, maxCount := normalizeRobotCountRange(req.GetMinRobotCount(), req.GetMaxRobotCount()) + if len(available) < minCount { + return RobotRoomConfig{}, xerr.New(xerr.Conflict, "available robot count is not enough") + } + rng := rand.New(rand.NewSource(now.UnixNano())) + selectedCount := randomIntRange(rng, minCount, maxCount) + if selectedCount > len(available) { + selectedCount = len(available) + } + selected := selectRobotUsers(rng, ownerID, available, selectedCount) + rule, err := normalizeRobotRoomGiftRule(req.GetGiftRule()) + if err != nil { + return RobotRoomConfig{}, err + } + roomID := fmt.Sprintf("robot_%d_%d", now.UnixMilli(), rng.Intn(900000)+100000) + if !roomid.ValidStringID(roomID) { + return RobotRoomConfig{}, xerr.New(xerr.Internal, "generated robot room id is invalid") + } + title := strings.TrimSpace(req.GetRoomName()) + if title == "" { + title = fmt.Sprintf("Robot Room %d", ownerID) + } + coverURL := strings.TrimSpace(req.GetRoomAvatar()) + if coverURL == "" { + coverURL = defaultRoomAvatar + } + return RobotRoomConfig{ + AppCode: appcode.FromContext(ctx), + RoomID: roomID, + RoomShortID: fmt.Sprintf("%d", ownerID), + Title: title, + CoverURL: coverURL, + VisibleRegionID: normalizeVisibleRegionID(req.GetVisibleRegionId()), + Status: robotRoomStatusActive, + OwnerRobotUserID: ownerID, + RobotUserIDs: selected, + GiftRule: rule, + CreatedByAdminID: req.GetAdminId(), + CreatedAtMS: now.UnixMilli(), + UpdatedAtMS: now.UnixMilli(), + }, nil +} + +func (s *Service) bootstrapRobotRoom(ctx context.Context, config RobotRoomConfig) error { + _, err := s.CreateRoom(ctx, &roomv1.CreateRoomRequest{ + Meta: &roomv1.RequestMeta{ + RequestId: fmt.Sprintf("admin-robot-room-create-%s", config.RoomID), + CommandId: fmt.Sprintf("admin-robot-room:%s:create", config.RoomID), + ActorUserId: config.OwnerRobotUserID, + RoomId: config.RoomID, + AppCode: config.AppCode, + SentAtMs: s.clock.Now().UnixMilli(), + }, + SeatCount: int32(max(10, len(config.RobotUserIDs))), + Mode: robotRoomMode, + VisibleRegionId: config.VisibleRegionID, + RoomName: config.Title, + RoomAvatar: config.CoverURL, + RoomShortId: config.RoomShortID, + RobotRoom: true, + RobotUserIds: config.RobotUserIDs, + }) + if err != nil { + return err + } + for _, userID := range config.RobotUserIDs { + if userID == config.OwnerRobotUserID { + continue + } + if _, err := s.JoinRoom(ctx, &roomv1.JoinRoomRequest{ + Meta: robotRoomCommandMeta(config, userID, fmt.Sprintf("join:%d", userID)), + Role: "audience", + }); err != nil { + return err + } + } + for index, userID := range config.RobotUserIDs { + if _, err := s.RobotVirtualMicUp(ctx, RobotMicUpInput{ + Meta: robotRoomCommandMeta(config, config.OwnerRobotUserID, fmt.Sprintf("mic:%d", userID)), + TargetUserID: userID, + SeatNo: int32(index + 1), + }); err != nil { + return err + } + } + return nil +} + +// RunRobotRoomRuntimeManager 恢复 active 机器人房间的进程内送礼循环;配置事实仍以 MySQL 为准。 +func (s *Service) RunRobotRoomRuntimeManager(ctx context.Context, interval time.Duration) { + if interval <= 0 { + interval = 10 * time.Second + } + ticker := time.NewTicker(interval) + defer ticker.Stop() + s.startActiveRobotRooms(ctx) + for { + select { + case <-ctx.Done(): + s.stopAllRobotRoomRuntimes() + return + case <-ticker.C: + s.startActiveRobotRooms(ctx) + } + } +} + +func (s *Service) startActiveRobotRooms(ctx context.Context) { + configs, err := s.repository.ListActiveRobotRooms(ctx) + if err != nil { + logx.Warn(ctx, "robot_room_runtime_scan_failed", slog.String("error", err.Error())) + return + } + for _, config := range configs { + s.startRobotRoomRuntime(ctx, config) + } +} + +func (s *Service) startRobotRoomRuntime(parent context.Context, config RobotRoomConfig) { + if config.Status != robotRoomStatusActive || len(config.RobotUserIDs) < 2 { + return + } + s.robotRuntimeMu.Lock() + if s.robotRuntimes == nil { + s.robotRuntimes = make(map[string]context.CancelFunc) + } + if _, exists := s.robotRuntimes[config.RoomID]; exists { + s.robotRuntimeMu.Unlock() + return + } + ctx, cancel := context.WithCancel(appcode.WithContext(parent, config.AppCode)) + s.robotRuntimes[config.RoomID] = cancel + s.robotRuntimeMu.Unlock() + go s.runRobotRoomRuntime(ctx, config) +} + +func (s *Service) stopRobotRoomRuntime(roomID string) { + s.robotRuntimeMu.Lock() + cancel := s.robotRuntimes[roomID] + delete(s.robotRuntimes, roomID) + s.robotRuntimeMu.Unlock() + if cancel != nil { + cancel() + } +} + +func (s *Service) stopAllRobotRoomRuntimes() { + s.robotRuntimeMu.Lock() + cancels := make([]context.CancelFunc, 0, len(s.robotRuntimes)) + for roomID, cancel := range s.robotRuntimes { + cancels = append(cancels, cancel) + delete(s.robotRuntimes, roomID) + } + s.robotRuntimeMu.Unlock() + for _, cancel := range cancels { + cancel() + } +} + +func (s *Service) runRobotRoomRuntime(ctx context.Context, config RobotRoomConfig) { + for _, senderID := range config.RobotUserIDs { + senderID := senderID + go s.runRobotNormalGiftLoop(ctx, config, senderID) + go s.runRobotLuckyGiftLoop(ctx, config, senderID) + } + <-ctx.Done() +} + +func (s *Service) runRobotNormalGiftLoop(ctx context.Context, config RobotRoomConfig, senderID int64) { + interval := time.Duration(config.GiftRule.NormalGiftIntervalMS) * time.Millisecond + if interval <= 0 || len(config.GiftRule.GiftIDs) == 0 { + return + } + rng := rand.New(rand.NewSource(time.Now().UnixNano() + senderID)) + timer := time.NewTimer(randomJitter(interval, rng)) + defer timer.Stop() + for { + select { + case <-ctx.Done(): + return + case <-timer.C: + targetID := randomRobotTarget(rng, config.RobotUserIDs, senderID) + giftID := randomString(rng, config.GiftRule.GiftIDs) + if targetID > 0 && giftID != "" { + s.sendRobotGiftBestEffort(ctx, config, senderID, targetID, giftID, "", "normal") + } + timer.Reset(interval) + } + } +} + +func (s *Service) runRobotLuckyGiftLoop(ctx context.Context, config RobotRoomConfig, senderID int64) { + if len(config.GiftRule.LuckyGiftIDs) == 0 || config.GiftRule.LuckyComboMax <= 0 { + return + } + rng := rand.New(rand.NewSource(time.Now().UnixNano() + senderID*17)) + for { + combo := randomInt64Range(rng, config.GiftRule.LuckyComboMin, config.GiftRule.LuckyComboMax) + for i := int64(0); i < combo; i++ { + giftID := randomString(rng, config.GiftRule.LuckyGiftIDs) + for _, targetID := range config.RobotUserIDs { + if targetID == senderID { + continue + } + if err := ctx.Err(); err != nil { + return + } + s.sendRobotGiftBestEffort(ctx, config, senderID, targetID, giftID, robotRoomLuckyPoolID, "lucky") + } + } + pause := time.Duration(randomInt64Range(rng, config.GiftRule.LuckyPauseMinMS, config.GiftRule.LuckyPauseMaxMS)) * time.Millisecond + if pause <= 0 { + pause = 5 * time.Second + } + timer := time.NewTimer(pause) + select { + case <-ctx.Done(): + timer.Stop() + return + case <-timer.C: + } + } +} + +func (s *Service) sendRobotGiftBestEffort(ctx context.Context, config RobotRoomConfig, senderID int64, targetID int64, giftID string, poolID string, kind string) { + _, err := s.RobotSendGift(ctx, RobotSendGiftInput{ + Meta: robotRoomCommandMeta(config, senderID, fmt.Sprintf("gift:%s:%d:%d", kind, targetID, time.Now().UTC().UnixNano())), + TargetUserID: targetID, + GiftID: giftID, + GiftCount: 1, + PoolID: poolID, + RobotUserIDs: config.RobotUserIDs, + SyntheticRewardCoins: 0, + SyntheticMultiplierPPM: 0, + }) + if err != nil { + logx.Warn(ctx, "robot_room_send_gift_failed", slog.String("room_id", config.RoomID), slog.String("kind", kind), slog.Int64("sender_user_id", senderID), slog.Int64("target_user_id", targetID), slog.String("gift_id", giftID), slog.String("error", err.Error())) + } +} + +func robotRoomCommandMeta(config RobotRoomConfig, actorUserID int64, suffix string) *roomv1.RequestMeta { + commandID := fmt.Sprintf("robot-room:%s:%s", config.RoomID, strings.TrimSpace(suffix)) + if len(commandID) > 128 { + commandID = commandID[:128] + } + return &roomv1.RequestMeta{ + RequestId: commandID, + CommandId: commandID, + ActorUserId: actorUserID, + RoomId: config.RoomID, + AppCode: config.AppCode, + SentAtMs: time.Now().UTC().UnixMilli(), + } +} + +func normalizeRobotRoomGiftRule(input *roomv1.AdminRobotRoomGiftRule) (RobotRoomGiftRule, error) { + if input == nil { + return RobotRoomGiftRule{}, xerr.New(xerr.InvalidArgument, "gift_rule is required") + } + rule := RobotRoomGiftRule{ + GiftIDs: normalizeStringSet(input.GetGiftIds()), + LuckyGiftIDs: normalizeStringSet(input.GetLuckyGiftIds()), + NormalGiftIntervalMS: input.GetNormalGiftIntervalMs(), + LuckyComboMin: input.GetLuckyComboMin(), + LuckyComboMax: input.GetLuckyComboMax(), + LuckyPauseMinMS: input.GetLuckyPauseMinMs(), + LuckyPauseMaxMS: input.GetLuckyPauseMaxMs(), + } + if len(rule.GiftIDs) == 0 { + return RobotRoomGiftRule{}, xerr.New(xerr.InvalidArgument, "gift_ids is required") + } + if len(rule.LuckyGiftIDs) == 0 { + return RobotRoomGiftRule{}, xerr.New(xerr.InvalidArgument, "lucky_gift_ids is required") + } + if rule.NormalGiftIntervalMS <= 0 { + return RobotRoomGiftRule{}, xerr.New(xerr.InvalidArgument, "normal_gift_interval_ms is required") + } + if rule.LuckyComboMin <= 0 || rule.LuckyComboMax < rule.LuckyComboMin { + return RobotRoomGiftRule{}, xerr.New(xerr.InvalidArgument, "lucky combo range is invalid") + } + if rule.LuckyPauseMinMS <= 0 || rule.LuckyPauseMaxMS < rule.LuckyPauseMinMS { + return RobotRoomGiftRule{}, xerr.New(xerr.InvalidArgument, "lucky pause range is invalid") + } + return rule, nil +} + +func robotRoomConfigToProto(config RobotRoomConfig) *roomv1.AdminRobotRoom { + return &roomv1.AdminRobotRoom{ + AppCode: config.AppCode, + RoomId: config.RoomID, + RoomShortId: config.RoomShortID, + Title: config.Title, + CoverUrl: config.CoverURL, + VisibleRegionId: config.VisibleRegionID, + Status: config.Status, + OwnerRobotUserId: config.OwnerRobotUserID, + RobotUserIds: append([]int64(nil), config.RobotUserIDs...), + GiftRule: &roomv1.AdminRobotRoomGiftRule{ + GiftIds: append([]string(nil), config.GiftRule.GiftIDs...), + LuckyGiftIds: append([]string(nil), config.GiftRule.LuckyGiftIDs...), + NormalGiftIntervalMs: config.GiftRule.NormalGiftIntervalMS, + LuckyComboMin: config.GiftRule.LuckyComboMin, + LuckyComboMax: config.GiftRule.LuckyComboMax, + LuckyPauseMinMs: config.GiftRule.LuckyPauseMinMS, + LuckyPauseMaxMs: config.GiftRule.LuckyPauseMaxMS, + }, + CreatedByAdminId: config.CreatedByAdminID, + CreatedAtMs: config.CreatedAtMS, + UpdatedAtMs: config.UpdatedAtMS, + } +} + +func normalizeRobotCountRange(minCount int32, maxCount int32) (int, int) { + minValue := int(minCount) + maxValue := int(maxCount) + if minValue <= 0 { + minValue = 6 + } + if maxValue <= 0 { + maxValue = 8 + } + if maxValue < minValue { + maxValue = minValue + } + return minValue, maxValue +} + +func selectRobotUsers(rng *rand.Rand, ownerID int64, available []int64, count int) []int64 { + others := make([]int64, 0, len(available)) + for _, userID := range available { + if userID != ownerID { + others = append(others, userID) + } + } + rng.Shuffle(len(others), func(i, j int) { others[i], others[j] = others[j], others[i] }) + selected := []int64{ownerID} + for _, userID := range others { + if len(selected) >= count { + break + } + selected = append(selected, userID) + } + slices.Sort(selected) + return selected +} + +func normalizeRobotRoomStatus(status string) string { + switch strings.TrimSpace(status) { + case robotRoomStatusActive: + return robotRoomStatusActive + case robotRoomStatusStopped: + return robotRoomStatusStopped + default: + return "" + } +} + +func normalizeStringSet(values []string) []string { + seen := make(map[string]bool, len(values)) + out := make([]string, 0, len(values)) + for _, value := range values { + value = strings.TrimSpace(value) + if value == "" || seen[value] { + continue + } + seen[value] = true + out = append(out, value) + } + slices.Sort(out) + return out +} + +func int64SetKeys(values map[int64]bool) []int64 { + out := make([]int64, 0, len(values)) + for value := range values { + out = append(out, value) + } + slices.Sort(out) + return out +} + +func randomString(rng *rand.Rand, values []string) string { + if len(values) == 0 { + return "" + } + return values[rng.Intn(len(values))] +} + +func randomRobotTarget(rng *rand.Rand, robots []int64, senderID int64) int64 { + targets := make([]int64, 0, len(robots)) + for _, userID := range robots { + if userID != senderID { + targets = append(targets, userID) + } + } + if len(targets) == 0 { + return 0 + } + return targets[rng.Intn(len(targets))] +} + +func randomIntRange(rng *rand.Rand, minValue int, maxValue int) int { + if maxValue <= minValue { + return minValue + } + return minValue + rng.Intn(maxValue-minValue+1) +} + +func randomInt64Range(rng *rand.Rand, minValue int64, maxValue int64) int64 { + if maxValue <= minValue { + return minValue + } + return minValue + rng.Int63n(maxValue-minValue+1) +} + +func randomJitter(interval time.Duration, rng *rand.Rand) time.Duration { + if interval <= time.Second { + return interval + } + return time.Duration(rng.Int63n(int64(interval))) + time.Second +} diff --git a/services/room-service/internal/room/service/create_room.go b/services/room-service/internal/room/service/create_room.go index cc43987c..341e1535 100644 --- a/services/room-service/internal/room/service/create_room.go +++ b/services/room-service/internal/room/service/create_room.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "log/slog" + "strconv" "strings" "time" "unicode/utf8" @@ -27,6 +28,8 @@ const ( roomExtShortIDKey = "room_short_id" roomExtOwnerCountryKey = "owner_country_code" roomExtBackgroundKey = "background_url" + roomExtRobotRoomKey = "robot_room" + roomExtRobotUserIDsKey = "robot_user_ids" // defaultRoomAvatar 只服务房间资料更新/后台清空封面后的兜底;创建房间必须显式提交封面。 defaultRoomAvatar = "hyapp://room/default-avatar" @@ -104,6 +107,8 @@ func (s *Service) CreateRoom(ctx context.Context, req *roomv1.CreateRoomRequest) RoomAvatar: profile.Avatar, RoomDescription: profile.Description, RoomShortID: normalizeRoomShortID(req.GetRoomShortId(), actorUserID), + RobotRoom: req.GetRobotRoom(), + RobotUserIDs: normalizeRobotUserIDs(req.GetRobotUserIds()), } idempotencyStartedAt := time.Now() @@ -183,6 +188,7 @@ func (s *Service) CreateRoom(ctx context.Context, req *roomv1.CreateRoomRequest) ShortID: cmd.RoomShortID, OwnerCountryCode: cmd.OwnerCountryCode, }) + applyRobotRoomExt(roomState, cmd.RobotRoom, cmd.RobotUserIDs) roomState.OnlineUsers[cmd.ActorUserID()] = &state.RoomUserState{ UserID: cmd.ActorUserID(), Role: "owner", @@ -338,3 +344,46 @@ func applyRoomProfileExt(roomState *state.RoomState, profile roomProfileInput) { roomState.RoomExt[roomExtShortIDKey] = profile.ShortID roomState.RoomExt[roomExtOwnerCountryKey] = normalizeRoomCountryCode(profile.OwnerCountryCode) } + +func applyRobotRoomExt(roomState *state.RoomState, robotRoom bool, robotUserIDs []int64) { + if roomState == nil || !robotRoom { + return + } + if roomState.RoomExt == nil { + roomState.RoomExt = make(map[string]string) + } + roomState.RoomExt[roomExtRobotRoomKey] = "true" + roomState.RoomExt[roomExtRobotUserIDsKey] = joinInt64CSV(normalizeRobotUserIDs(robotUserIDs)) +} + +func normalizeRobotUserIDs(values []int64) []int64 { + seen := make(map[int64]bool, len(values)) + out := make([]int64, 0, len(values)) + for _, value := range values { + if value <= 0 || seen[value] { + continue + } + seen[value] = true + out = append(out, value) + } + return out +} + +func joinInt64CSV(values []int64) string { + parts := make([]string, 0, len(values)) + for _, value := range values { + parts = append(parts, strconv.FormatInt(value, 10)) + } + return strings.Join(parts, ",") +} + +func parseInt64CSV(raw string) map[int64]bool { + result := make(map[int64]bool) + for _, part := range strings.Split(raw, ",") { + value, err := strconv.ParseInt(strings.TrimSpace(part), 10, 64) + if err == nil && value > 0 { + result[value] = true + } + } + return result +} diff --git a/services/room-service/internal/room/service/follow_test.go b/services/room-service/internal/room/service/follow_test.go index 624ca98b..9e1e3012 100644 --- a/services/room-service/internal/room/service/follow_test.go +++ b/services/room-service/internal/room/service/follow_test.go @@ -24,6 +24,10 @@ func (followTestWallet) BatchDebitGift(context.Context, *walletv1.BatchDebitGift return &walletv1.BatchDebitGiftResponse{Aggregate: &walletv1.DebitGiftResponse{BillingReceiptId: "receipt-follow-test"}}, nil } +func (followTestWallet) DebitRobotGift(context.Context, *walletv1.DebitRobotGiftRequest) (*walletv1.DebitGiftResponse, error) { + return &walletv1.DebitGiftResponse{BillingReceiptId: "receipt-robot-follow-test"}, nil +} + func (followTestWallet) GrantResourceGroup(context.Context, *walletv1.GrantResourceGroupRequest) (*walletv1.ResourceGrantResponse, error) { return &walletv1.ResourceGrantResponse{Grant: &walletv1.ResourceGrant{GrantId: "grant-follow-test"}}, nil } diff --git a/services/room-service/internal/room/service/gift.go b/services/room-service/internal/room/service/gift.go index da504482..dfd322aa 100644 --- a/services/room-service/internal/room/service/gift.go +++ b/services/room-service/internal/room/service/gift.go @@ -23,6 +23,46 @@ import ( // SendGift 先同步调用 wallet,再在 Room Cell 内完成热度、榜单和房间事件落地。 func (s *Service) SendGift(ctx context.Context, req *roomv1.SendGiftRequest) (*roomv1.SendGiftResponse, error) { + return s.sendGift(ctx, req, robotGiftOptions{}) +} + +type RobotSendGiftInput struct { + Meta *roomv1.RequestMeta + TargetUserID int64 + GiftID string + GiftCount int32 + PoolID string + RobotUserIDs []int64 + SyntheticRewardCoins int64 + SyntheticMultiplierPPM int64 +} + +type robotGiftOptions struct { + Enabled bool + RobotUserIDs []int64 + SyntheticRewardCoins int64 + SyntheticMultiplierPPM int64 +} + +func (s *Service) RobotSendGift(ctx context.Context, input RobotSendGiftInput) (*roomv1.SendGiftResponse, error) { + req := &roomv1.SendGiftRequest{ + Meta: input.Meta, + TargetUserId: input.TargetUserID, + TargetUserIds: []int64{input.TargetUserID}, + GiftId: input.GiftID, + GiftCount: input.GiftCount, + TargetType: "user", + PoolId: input.PoolID, + } + return s.sendGift(ctx, req, robotGiftOptions{ + Enabled: true, + RobotUserIDs: input.RobotUserIDs, + SyntheticRewardCoins: input.SyntheticRewardCoins, + SyntheticMultiplierPPM: input.SyntheticMultiplierPPM, + }) +} + +func (s *Service) sendGift(ctx context.Context, req *roomv1.SendGiftRequest, robotOptions robotGiftOptions) (*roomv1.SendGiftResponse, error) { ctx = contextFromMeta(ctx, req.GetMeta()) // SendGift 的账务不在 room-service 内结算,但房间表现、热度和榜单由 Room Cell 同步更新。 cmd := command.SendGift{ @@ -36,8 +76,12 @@ func (s *Service) SendGift(ctx context.Context, req *roomv1.SendGiftRequest) (*r SenderRegionID: req.GetSenderRegionId(), TargetIsHost: req.GetTargetIsHost(), // 工资区域由 gateway 从 user-service host profile 注入;房间 visible_region_id 只用于房间/礼物可见性。 - TargetHostRegionID: req.GetTargetHostRegionId(), - TargetAgencyOwnerUserID: req.GetTargetAgencyOwnerUserId(), + TargetHostRegionID: req.GetTargetHostRegionId(), + TargetAgencyOwnerUserID: req.GetTargetAgencyOwnerUserId(), + RobotGift: robotOptions.Enabled, + SyntheticLuckyGift: robotOptions.Enabled && strings.TrimSpace(req.GetPoolId()) != "", + SyntheticLuckyRewardCoins: firstPositiveInt64(robotOptions.SyntheticRewardCoins, 0), + SyntheticLuckyMultiplierPPM: firstPositiveInt64(robotOptions.SyntheticMultiplierPPM, 1000000), } if cmd.TargetType == "" { cmd.TargetType = "user" @@ -65,6 +109,11 @@ func (s *Service) SendGift(ctx context.Context, req *roomv1.SendGiftRequest) (*r return mutationResult{}, nil, xerr.New(xerr.NotFound, "target not in room") } } + if cmd.RobotGift { + if err := requireRobotGiftParticipants(current, cmd.ActorUserID(), cmd.TargetUserIDs, robotOptions.RobotUserIDs); err != nil { + return mutationResult{}, nil, err + } + } if cmd.GiftID == "" || cmd.GiftCount <= 0 { // 礼物 ID 和数量是钱包查服务端价格的最小输入,客户端不再提交礼物单价。 @@ -78,7 +127,7 @@ func (s *Service) SendGift(ctx context.Context, req *roomv1.SendGiftRequest) (*r return mutationResult{}, nil, xerr.New(xerr.NotFound, "room not found") } luckyEnabled := false - if cmd.PoolID != "" { + if cmd.PoolID != "" && !cmd.SyntheticLuckyGift { // 客户端显式传 pool_id 时必须先检查活动规则;规则未启用就拒绝,避免先扣费再发现不能抽奖。 if s.luckyGift == nil { return mutationResult{}, nil, xerr.New(xerr.Unavailable, "lucky gift service is not configured") @@ -129,11 +178,16 @@ func (s *Service) SendGift(ctx context.Context, req *roomv1.SendGiftRequest) (*r settledCommand.GiftTypeCode = billing.GetGiftTypeCode() settledCommand.HostPeriodDiamondAdded = billing.GetHostPeriodDiamondAdded() settledCommand.HostPeriodCycleKey = billing.GetHostPeriodCycleKey() - if !luckyEnabled { + if cmd.SyntheticLuckyGift { + luckyGift = syntheticLuckyGiftResult(cmd, targetBillings, now) + if luckyGift != nil { + luckyGifts = []*roomv1.LuckyGiftDrawResult{luckyGift} + } + } else if !luckyEnabled { // 未显式传 pool_id 的旧客户端仍可通过钱包礼物类型触发默认幸运礼物逻辑;新客户端应传明确 pool_id。 luckyEnabled = s.shouldDrawLuckyGift(cmd.PoolID, billing.GetGiftTypeCode()) } - if luckyEnabled { + if !cmd.SyntheticLuckyGift && luckyEnabled { luckyGifts, err = s.executeLuckyGiftDraws(ctx, req.GetMeta(), cmd, roomMeta, targetBillings, now) if err != nil { // 抽奖失败时整笔送礼失败并依赖 wallet 幂等重试;不能落普通礼物后丢失幸运礼物抽奖事实。 @@ -206,7 +260,9 @@ func (s *Service) SendGift(ctx context.Context, req *roomv1.SendGiftRequest) (*r GiftAnimationUrl: targetBilling.Billing.GetGiftAnimationUrl(), TargetGiftValue: targetCurrentGiftValues[targetBilling.TargetUserID], // effect_types 来自后台礼物配置,房间事件必须原样带出,后续 activity-service 才能识别全服广播标识。 - GiftEffectTypes: targetBilling.Billing.GetGiftEffectTypes(), + GiftEffectTypes: targetBilling.Billing.GetGiftEffectTypes(), + IsRobotGift: cmd.RobotGift, + SyntheticLuckyGift: cmd.SyntheticLuckyGift, }) if err != nil { return mutationResult{}, nil, err @@ -249,8 +305,32 @@ func (s *Service) SendGift(ctx context.Context, req *roomv1.SendGiftRequest) (*r } records = append(records, ignitedEvent) } + if cmd.SyntheticLuckyGift && luckyGift != nil { + drawEvent, err := outbox.Build(current.RoomID, "RoomRobotLuckyGiftDrawn", current.Version, now, &roomeventsv1.RoomRobotLuckyGiftDrawn{ + DrawId: luckyGift.GetDrawId(), + CommandId: cmd.ID(), + SenderUserId: cmd.ActorUserID(), + TargetUserId: cmd.TargetUserID, + GiftId: cmd.GiftID, + GiftCount: cmd.GiftCount, + PoolId: cmd.PoolID, + MultiplierPpm: luckyGift.GetMultiplierPpm(), + BaseRewardCoins: luckyGift.GetBaseRewardCoins(), + RoomAtmosphereRewardCoins: luckyGift.GetRoomAtmosphereRewardCoins(), + ActivitySubsidyCoins: luckyGift.GetActivitySubsidyCoins(), + EffectiveRewardCoins: luckyGift.GetEffectiveRewardCoins(), + CreatedAtMs: luckyGift.GetCreatedAtMs(), + VisibleRegionId: roomMeta.VisibleRegionID, + IsRobot: true, + Synthetic: true, + }) + if err != nil { + return mutationResult{}, nil, err + } + records = append(records, drawEvent) + } - return mutationResult{ + result := mutationResult{ snapshot: current.ToProto(), billingReceiptID: billing.GetBillingReceiptId(), roomHeat: current.Heat, @@ -301,9 +381,17 @@ func (s *Service) SendGift(ctx context.Context, req *roomv1.SendGiftRequest) (*r "gift_icon_url": billing.GetGiftIconUrl(), "gift_animation_url": billing.GetGiftAnimationUrl(), "target_gift_value": fmt.Sprintf("%d", targetCurrentGiftValues[cmd.TargetUserID]), + "is_robot_gift": fmt.Sprintf("%t", cmd.RobotGift), + "synthetic_lucky_gift": fmt.Sprintf("%t", cmd.SyntheticLuckyGift), }, }, - }, records, nil + } + if cmd.RobotGift { + // 机器人房间可以增加房间热度和麦位收礼热度,但不进入跨房礼物榜和房间送礼统计。 + result.roomGiftLeaderboard = nil + result.roomUserGiftStats = nil + } + return result, records, nil }) if err != nil { return nil, err @@ -328,6 +416,26 @@ type giftTargetBilling struct { } func (s *Service) debitGiftTargets(ctx context.Context, cmd command.SendGift, roomMeta RoomMeta) (*walletv1.DebitGiftResponse, []giftTargetBilling, error) { + if cmd.RobotGift { + if len(cmd.TargetUserIDs) != 1 { + return nil, nil, xerr.New(xerr.InvalidArgument, "robot gift only supports one target") + } + billing, err := s.wallet.DebitRobotGift(ctx, &walletv1.DebitRobotGiftRequest{ + CommandId: cmd.ID(), + RoomId: cmd.RoomID(), + SenderUserId: cmd.ActorUserID(), + TargetUserId: cmd.TargetUserID, + GiftId: cmd.GiftID, + GiftCount: cmd.GiftCount, + AppCode: appcode.FromContext(ctx), + RegionId: roomMeta.VisibleRegionID, + SenderRegionId: cmd.SenderRegionID, + }) + if err != nil { + return nil, nil, err + } + return billing, []giftTargetBilling{{TargetUserID: cmd.TargetUserID, CommandID: cmd.ID(), Billing: billing}}, nil + } if len(cmd.TargetUserIDs) == 1 { // 单目标保留原 wallet command_id,避免改变已有幂等键、账务回执和排障路径。 billing, err := s.wallet.DebitGift(ctx, &walletv1.DebitGiftRequest{ @@ -657,3 +765,56 @@ func findRankItem(items []state.RankItem, userID int64) state.RankItem { return state.RankItem{UserID: userID} } + +func requireRobotGiftParticipants(current *state.RoomState, senderUserID int64, targetUserIDs []int64, runtimeRobotUserIDs []int64) error { + if current == nil || current.RoomExt[roomExtRobotRoomKey] != "true" { + return xerr.New(xerr.PermissionDenied, "robot gift requires robot room") + } + allowed := parseInt64CSV(current.RoomExt[roomExtRobotUserIDsKey]) + for _, userID := range runtimeRobotUserIDs { + if userID > 0 { + allowed[userID] = true + } + } + if !allowed[senderUserID] { + return xerr.New(xerr.PermissionDenied, "robot sender is not allowed") + } + for _, targetUserID := range targetUserIDs { + if !allowed[targetUserID] { + return xerr.New(xerr.PermissionDenied, "robot gift target is not allowed") + } + } + return nil +} + +func syntheticLuckyGiftResult(cmd command.SendGift, targetBillings []giftTargetBilling, now time.Time) *roomv1.LuckyGiftDrawResult { + if len(targetBillings) == 0 || targetBillings[0].Billing == nil { + return nil + } + rewardCoins := firstPositiveInt64(cmd.SyntheticLuckyRewardCoins, targetBillings[0].Billing.GetCoinSpent()*5) + multiplier := firstPositiveInt64(cmd.SyntheticLuckyMultiplierPPM, 5000000) + return &roomv1.LuckyGiftDrawResult{ + Enabled: true, + DrawId: fmt.Sprintf("robot_lucky_%s_%d", cmd.ID(), now.UnixMilli()), + CommandId: cmd.ID(), + PoolId: cmd.PoolID, + GiftId: cmd.GiftID, + MultiplierPpm: multiplier, + BaseRewardCoins: rewardCoins, + EffectiveRewardCoins: rewardCoins, + RewardStatus: "granted", + StageFeedback: true, + HighMultiplier: multiplier >= 5000000, + CreatedAtMs: now.UnixMilli(), + TargetUserId: cmd.TargetUserID, + } +} + +func firstPositiveInt64(values ...int64) int64 { + for _, value := range values { + if value > 0 { + return value + } + } + return 0 +} diff --git a/services/room-service/internal/room/service/recovery.go b/services/room-service/internal/room/service/recovery.go index 4b8fee5e..3ea70e53 100644 --- a/services/room-service/internal/room/service/recovery.go +++ b/services/room-service/internal/room/service/recovery.go @@ -130,6 +130,7 @@ func replay(current *state.RoomState, cmd command.Command, committedAtMS int64) Description: typed.RoomDescription, ShortID: typed.RoomShortID, }) + applyRobotRoomExt(current, typed.RobotRoom, typed.RobotUserIDs) // 创建命令的 owner/mode 等基础 meta 已由 RoomMeta 或快照恢复,这里只保证版本进入初始提交态。 current.Version = 1 case *command.UpdateRoomProfile: @@ -212,6 +213,20 @@ func replay(current *state.RoomState, cmd command.Command, committedAtMS int64) current.MicSeats[index].MicSessionRoomVersion = current.Version // pending_publish 还没有接受 RTC/客户端事件,恢复时保持 0,避免客户端时间慢于服务端命令时间时无法确认。 current.MicSeats[index].LastPublishEventTimeMS = 0 + case *command.RobotMicUp: + index := current.SeatIndex(typed.SeatNo) + if index < 0 { + return fmt.Errorf("robot_mic_up replay references missing seat: %d", typed.SeatNo) + } + current.Version++ + current.MicSeats[index].UserID = typed.TargetUserID + current.MicSeats[index].PublishState = state.MicPublishPublishing + current.MicSeats[index].MicSessionID = typed.MicSessionID + current.MicSeats[index].PublishDeadlineMS = 0 + current.MicSeats[index].MicSessionRoomVersion = current.Version + current.MicSeats[index].LastPublishEventTimeMS = typed.SentAtMS + current.MicSeats[index].MicHeartbeatAtMS = typed.SentAtMS + current.MicSeats[index].MicMuted = true case *command.MicDown: seat, exists := current.SeatByUser(typed.TargetUserID) if !exists { diff --git a/services/room-service/internal/room/service/repository.go b/services/room-service/internal/room/service/repository.go index 8c18f4cf..b335228a 100644 --- a/services/room-service/internal/room/service/repository.go +++ b/services/room-service/internal/room/service/repository.go @@ -309,6 +309,48 @@ type GiftFuelRuleConfig struct { Excluded bool `json:"excluded"` } +// RobotRoomGiftRule 是后台配置的机器人房间送礼节奏;它只驱动机器人展示链路,不进入真实活动奖池。 +type RobotRoomGiftRule struct { + GiftIDs []string + LuckyGiftIDs []string + NormalGiftIntervalMS int64 + LuckyComboMin int64 + LuckyComboMax int64 + LuckyPauseMinMS int64 + LuckyPauseMaxMS int64 +} + +// RobotRoomConfig 是 room-service 持久化的机器人房间配置和账号占用事实。 +type RobotRoomConfig struct { + AppCode string + RoomID string + RoomShortID string + Title string + CoverURL string + VisibleRegionID int64 + Status string + OwnerRobotUserID int64 + RobotUserIDs []int64 + GiftRule RobotRoomGiftRule + CreatedByAdminID uint64 + CreatedAtMS int64 + UpdatedAtMS int64 +} + +// RobotRoomListQuery 是后台机器人房间列表查询条件。 +type RobotRoomListQuery struct { + AppCode string + Status string + Page int + PageSize int +} + +// CreateRobotRoomConfigInput 在同一事务中锁定机器人账号并写入房间配置。 +type CreateRobotRoomConfigInput struct { + Config RobotRoomConfig + NowMS int64 +} + // RoomPresence 是当前用户可恢复房间的轻量读模型。 // 它从 RoomSnapshot 投影而来,只用于 App 启动/回前台探测,不替代 Room Cell 权威状态。 type RoomPresence struct { @@ -577,6 +619,12 @@ type Repository interface { AdminListRoomPins(ctx context.Context, query AdminRoomPinQuery) ([]AdminRoomPinEntry, int64, error) AdminCreateRoomPin(ctx context.Context, input AdminCreateRoomPinInput) (AdminRoomPinEntry, bool, error) AdminCancelRoomPin(ctx context.Context, pinID int64, adminID uint64, nowMS int64) (AdminRoomPinEntry, bool, error) + ListRobotRooms(ctx context.Context, query RobotRoomListQuery) ([]RobotRoomConfig, int64, error) + GetRobotRoom(ctx context.Context, roomID string) (RobotRoomConfig, bool, error) + CreateRobotRoomConfig(ctx context.Context, input CreateRobotRoomConfigInput) (RobotRoomConfig, error) + UpdateRobotRoomStatus(ctx context.Context, roomID string, status string, nowMS int64) (RobotRoomConfig, bool, error) + OccupiedRobotUserIDs(ctx context.Context, userIDs []int64) (map[int64]bool, error) + ListActiveRobotRooms(ctx context.Context) ([]RobotRoomConfig, error) } // RoomPresenceSnapshot 是 repository 投影接口的稳定入参,避免存储层反向依赖 protobuf。 diff --git a/services/room-service/internal/room/service/robot_mic.go b/services/room-service/internal/room/service/robot_mic.go new file mode 100644 index 00000000..b37f33c5 --- /dev/null +++ b/services/room-service/internal/room/service/robot_mic.go @@ -0,0 +1,126 @@ +package service + +import ( + "context" + "time" + + roomeventsv1 "hyapp.local/api/proto/events/room/v1" + roomv1 "hyapp.local/api/proto/room/v1" + "hyapp/pkg/tencentim" + "hyapp/pkg/xerr" + "hyapp/services/room-service/internal/room/command" + "hyapp/services/room-service/internal/room/outbox" + "hyapp/services/room-service/internal/room/rank" + "hyapp/services/room-service/internal/room/state" +) + +// RobotMicUpInput 是内部机器人编排器占麦输入;调用方必须只传 robot-service 登记过的机器人用户。 +type RobotMicUpInput struct { + Meta *roomv1.RequestMeta + TargetUserID int64 + SeatNo int32 +} + +// RobotVirtualMicUp 把机器人放到静音虚拟麦位,不要求真实 RTC 推流。 +func (s *Service) RobotVirtualMicUp(ctx context.Context, input RobotMicUpInput) (*roomv1.MicUpResponse, error) { + ctx = contextFromMeta(ctx, input.Meta) + cmd := command.RobotMicUp{ + Base: baseFromMeta(input.Meta), + TargetUserID: input.TargetUserID, + SeatNo: input.SeatNo, + } + if cmd.TargetUserID <= 0 { + cmd.TargetUserID = cmd.ActorUserID() + } + cmd.MicSessionID = micSessionIDForCommand(cmd.RoomID(), cmd.ID()) + + result, err := s.mutateRoom(ctx, cmd, true, func(now time.Time, current *state.RoomState, _ *rank.LocalRank) (mutationResult, []outbox.Record, error) { + if err := requireActiveRoom(current); err != nil { + return mutationResult{}, nil, err + } + if _, exists := current.OnlineUsers[cmd.TargetUserID]; !exists { + return mutationResult{}, nil, xerr.New(xerr.NotFound, "robot not in room") + } + if _, exists := current.SeatByUser(cmd.TargetUserID); exists { + return mutationResult{}, nil, xerr.New(xerr.Conflict, "robot already on seat") + } + index := current.SeatIndex(cmd.SeatNo) + if index < 0 { + return mutationResult{}, nil, xerr.New(xerr.InvalidArgument, "seat does not exist") + } + if current.MicSeats[index].Locked { + return mutationResult{}, nil, xerr.New(xerr.PermissionDenied, "seat is locked") + } + if current.MicSeats[index].UserID != 0 { + return mutationResult{}, nil, xerr.New(xerr.Conflict, "seat is occupied") + } + + current.Version++ + current.MicSeats[index].UserID = cmd.TargetUserID + current.MicSeats[index].PublishState = state.MicPublishPublishing + current.MicSeats[index].MicSessionID = cmd.MicSessionID + current.MicSeats[index].PublishDeadlineMS = 0 + current.MicSeats[index].MicSessionRoomVersion = current.Version + current.MicSeats[index].LastPublishEventTimeMS = now.UnixMilli() + current.MicSeats[index].MicHeartbeatAtMS = now.UnixMilli() + current.MicSeats[index].MicMuted = true + seatStatus := current.MicSeats[index].SeatStatus() + targetGiftValue := roomUserGiftValue(current, cmd.TargetUserID) + + micEvent, err := outbox.Build(current.RoomID, "RoomMicChanged", current.Version, now, &roomeventsv1.RoomMicChanged{ + ActorUserId: cmd.ActorUserID(), + TargetUserId: cmd.TargetUserID, + FromSeat: 0, + ToSeat: cmd.SeatNo, + Action: "robot_up", + MicSessionId: cmd.MicSessionID, + PublishState: state.MicPublishPublishing, + PublishDeadlineMs: 0, + SeatStatus: seatStatus, + TargetGiftValue: targetGiftValue, + }) + if err != nil { + return mutationResult{}, nil, err + } + + return mutationResult{ + snapshot: current.ToProto(), + seatNo: cmd.SeatNo, + micSessionID: cmd.MicSessionID, + publishDeadlineMS: 0, + syncEvent: &tencentim.RoomEvent{ + EventID: micEvent.EventID, + RoomID: current.RoomID, + EventType: "room_mic_publish_confirmed", + ActorUserID: cmd.ActorUserID(), + TargetUserID: cmd.TargetUserID, + SeatNo: cmd.SeatNo, + RoomVersion: current.Version, + Attributes: map[string]string{ + "action": "robot_up", + "publish_state": state.MicPublishPublishing, + "mic_session_id": cmd.MicSessionID, + "seat_status": seatStatus, + "mic_muted": "true", + "target_gift_value": int64String(targetGiftValue), + }, + }, + }, []outbox.Record{micEvent}, nil + }) + if err != nil { + return nil, err + } + if result.micSessionID == "" { + if seat := protoSeatByUser(result.snapshot, cmd.TargetUserID); seat != nil { + result.seatNo = seat.GetSeatNo() + result.micSessionID = seat.GetMicSessionId() + } + } + return &roomv1.MicUpResponse{ + Result: commandResult(result.applied, result.snapshot.GetVersion(), s.clock.Now()), + SeatNo: result.seatNo, + Room: result.snapshot, + MicSessionId: result.micSessionID, + PublishDeadlineMs: 0, + }, nil +} diff --git a/services/room-service/internal/room/service/room_rocket_test.go b/services/room-service/internal/room/service/room_rocket_test.go index d99272f0..46490392 100644 --- a/services/room-service/internal/room/service/room_rocket_test.go +++ b/services/room-service/internal/room/service/room_rocket_test.go @@ -81,6 +81,15 @@ func (w *rocketTestWallet) BatchDebitGift(_ context.Context, req *walletv1.Batch return &walletv1.BatchDebitGiftResponse{Aggregate: aggregate, Receipts: receipts}, nil } +func (w *rocketTestWallet) DebitRobotGift(_ context.Context, req *walletv1.DebitRobotGiftRequest) (*walletv1.DebitGiftResponse, error) { + if len(w.debits) == 0 { + return &walletv1.DebitGiftResponse{BillingReceiptId: "receipt-robot-default", HeatValue: 1, CoinSpent: 1, ChargeAmount: 1, ChargeAssetType: "ROBOT_COIN"}, nil + } + next := w.debits[0] + w.debits = w.debits[1:] + return next, nil +} + func joinReceiptIDs(left string, right string) string { if left == "" { return right diff --git a/services/room-service/internal/room/service/service.go b/services/room-service/internal/room/service/service.go index 932b7969..a449db0c 100644 --- a/services/room-service/internal/room/service/service.go +++ b/services/room-service/internal/room/service/service.go @@ -2,6 +2,7 @@ package service import ( + "context" "errors" "sync" "sync/atomic" @@ -89,6 +90,11 @@ type Service struct { mu sync.Mutex // cells 保存当前节点已经装载的单房间执行单元。 cells map[string]*cell.RoomCell + + // robotRuntimeMu 保护后台机器人房间运行循环;配置变更时要取消旧循环后重建。 + robotRuntimeMu sync.Mutex + // robotRuntimes 保存 room_id -> cancel,避免同一房间被重复启动多个送礼循环。 + robotRuntimes map[string]context.CancelFunc } // mutationResult 是命令在 Room Cell 内执行后的统一结果包。 @@ -203,6 +209,7 @@ func New(cfg Config, directory router.Directory, repository Repository, wallet i luckyGiftSendLockTTL: luckyGiftSendLockTTL, rtcUserRemover: cfg.RTCUserRemover, cells: make(map[string]*cell.RoomCell), + robotRuntimes: make(map[string]context.CancelFunc), } } diff --git a/services/room-service/internal/storage/mysql/repository.go b/services/room-service/internal/storage/mysql/repository.go index 308ebfaa..9ee136b5 100644 --- a/services/room-service/internal/storage/mysql/repository.go +++ b/services/room-service/internal/storage/mysql/repository.go @@ -275,6 +275,30 @@ func (r *Repository) Migrate(ctx context.Context) error { PRIMARY KEY (app_code), KEY idx_room_rocket_enabled (app_code, enabled) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci`, + `CREATE TABLE IF NOT EXISTS room_robot_rooms ( + app_code VARCHAR(32) NOT NULL, + room_id VARCHAR(64) NOT NULL, + room_short_id VARCHAR(32) NOT NULL DEFAULT '', + title VARCHAR(128) NOT NULL DEFAULT '', + cover_url VARCHAR(512) NOT NULL DEFAULT '', + visible_region_id BIGINT NOT NULL DEFAULT 0, + status VARCHAR(32) NOT NULL, + owner_robot_user_id BIGINT NOT NULL, + robot_user_ids_json JSON NOT NULL, + gift_ids_json JSON NOT NULL, + lucky_gift_ids_json JSON NOT NULL, + normal_gift_interval_ms BIGINT NOT NULL, + lucky_combo_min BIGINT NOT NULL, + lucky_combo_max BIGINT NOT NULL, + lucky_pause_min_ms BIGINT NOT NULL, + lucky_pause_max_ms BIGINT NOT NULL, + created_by_admin_id BIGINT UNSIGNED NOT NULL DEFAULT 0, + created_at_ms BIGINT NOT NULL, + updated_at_ms BIGINT NOT NULL, + PRIMARY KEY (app_code, room_id), + KEY idx_room_robot_rooms_status (app_code, status, updated_at_ms, room_id), + KEY idx_room_robot_rooms_owner (app_code, owner_robot_user_id) + ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci`, `INSERT IGNORE INTO room_seat_configs (app_code, allowed_seat_counts, default_seat_count, created_at_ms, updated_at_ms) VALUES ('lalu', '[10,15,20,25,30]', 15, 0, 0)`, `INSERT IGNORE INTO room_rocket_configs ( @@ -325,6 +349,7 @@ func (r *Repository) Migrate(ctx context.Context) error { `ALTER TABLE room_region_pins MODIFY COLUMN app_code VARCHAR(32) NOT NULL`, `ALTER TABLE room_seat_configs MODIFY COLUMN app_code VARCHAR(32) NOT NULL`, `ALTER TABLE room_rocket_configs MODIFY COLUMN app_code VARCHAR(32) NOT NULL`, + `ALTER TABLE room_robot_rooms MODIFY COLUMN app_code VARCHAR(32) NOT NULL`, } for _, statement := range statements { @@ -1130,6 +1155,298 @@ func (r *Repository) UpsertRoomRocketConfig(ctx context.Context, config roomserv return err } +// ListRobotRooms 读取后台机器人房间列表;机器人房间配置归 room-service 所有,后台不直连房间库。 +func (r *Repository) ListRobotRooms(ctx context.Context, query roomservice.RobotRoomListQuery) ([]roomservice.RobotRoomConfig, int64, error) { + appCode := normalizedRecordAppCode(ctx, query.AppCode) + page := query.Page + if page <= 0 { + page = 1 + } + pageSize := query.PageSize + if pageSize <= 0 || pageSize > 100 { + pageSize = 50 + } + status := strings.TrimSpace(query.Status) + args := []any{appCode} + where := `WHERE app_code = ?` + if status != "" { + where += ` AND status = ?` + args = append(args, status) + } + var total int64 + if err := r.db.QueryRowContext(ctx, `SELECT COUNT(*) FROM room_robot_rooms `+where, args...).Scan(&total); err != nil { + return nil, 0, err + } + args = append(args, pageSize, (page-1)*pageSize) + rows, err := r.db.QueryContext(ctx, + `SELECT app_code, room_id, room_short_id, title, cover_url, visible_region_id, status, + owner_robot_user_id, robot_user_ids_json, gift_ids_json, lucky_gift_ids_json, + normal_gift_interval_ms, lucky_combo_min, lucky_combo_max, lucky_pause_min_ms, lucky_pause_max_ms, + created_by_admin_id, created_at_ms, updated_at_ms + FROM room_robot_rooms `+where+` + ORDER BY updated_at_ms DESC, room_id DESC + LIMIT ? OFFSET ?`, + args..., + ) + if err != nil { + return nil, 0, err + } + defer rows.Close() + items, err := scanRobotRoomConfigs(rows) + return items, total, err +} + +// GetRobotRoom 精确读取一个机器人房间配置。 +func (r *Repository) GetRobotRoom(ctx context.Context, roomID string) (roomservice.RobotRoomConfig, bool, error) { + row := r.db.QueryRowContext(ctx, + `SELECT app_code, room_id, room_short_id, title, cover_url, visible_region_id, status, + owner_robot_user_id, robot_user_ids_json, gift_ids_json, lucky_gift_ids_json, + normal_gift_interval_ms, lucky_combo_min, lucky_combo_max, lucky_pause_min_ms, lucky_pause_max_ms, + created_by_admin_id, created_at_ms, updated_at_ms + FROM room_robot_rooms + WHERE app_code = ? AND room_id = ?`, + appcode.FromContext(ctx), + strings.TrimSpace(roomID), + ) + item, err := scanRobotRoomConfig(row) + if errors.Is(err, sql.ErrNoRows) { + return roomservice.RobotRoomConfig{}, false, nil + } + return item, err == nil, err +} + +// CreateRobotRoomConfig 写入机器人房间配置,并用事务锁定候选账号避免两个 active 机器人房复用同一批账号。 +func (r *Repository) CreateRobotRoomConfig(ctx context.Context, input roomservice.CreateRobotRoomConfigInput) (roomservice.RobotRoomConfig, error) { + config := input.Config + appCode := normalizedRecordAppCode(ctx, config.AppCode) + nowMS := input.NowMS + if nowMS <= 0 { + nowMS = time.Now().UTC().UnixMilli() + } + config.AppCode = appCode + config.CreatedAtMS = firstPositiveInt64(config.CreatedAtMS, nowMS) + config.UpdatedAtMS = firstPositiveInt64(config.UpdatedAtMS, nowMS) + if config.Status == "" { + config.Status = "active" + } + rawRobots, rawGifts, rawLuckyGifts, err := robotRoomJSON(config) + if err != nil { + return roomservice.RobotRoomConfig{}, err + } + tx, err := r.db.BeginTx(ctx, nil) + if err != nil { + return roomservice.RobotRoomConfig{}, err + } + defer func() { _ = tx.Rollback() }() + occupied, err := occupiedRobotUserIDsTx(ctx, tx, appCode, config.RobotUserIDs) + if err != nil { + return roomservice.RobotRoomConfig{}, err + } + if len(occupied) > 0 { + return roomservice.RobotRoomConfig{}, xerr.New(xerr.Conflict, "robot user already assigned to active robot room") + } + _, err = tx.ExecContext(ctx, + `INSERT INTO room_robot_rooms ( + app_code, room_id, room_short_id, title, cover_url, visible_region_id, status, + owner_robot_user_id, robot_user_ids_json, gift_ids_json, lucky_gift_ids_json, + normal_gift_interval_ms, lucky_combo_min, lucky_combo_max, lucky_pause_min_ms, lucky_pause_max_ms, + created_by_admin_id, created_at_ms, updated_at_ms + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, + config.AppCode, + config.RoomID, + config.RoomShortID, + config.Title, + config.CoverURL, + config.VisibleRegionID, + config.Status, + config.OwnerRobotUserID, + string(rawRobots), + string(rawGifts), + string(rawLuckyGifts), + config.GiftRule.NormalGiftIntervalMS, + config.GiftRule.LuckyComboMin, + config.GiftRule.LuckyComboMax, + config.GiftRule.LuckyPauseMinMS, + config.GiftRule.LuckyPauseMaxMS, + config.CreatedByAdminID, + config.CreatedAtMS, + config.UpdatedAtMS, + ) + if err != nil { + return roomservice.RobotRoomConfig{}, err + } + if err := tx.Commit(); err != nil { + return roomservice.RobotRoomConfig{}, err + } + return config, nil +} + +// UpdateRobotRoomStatus 只切换机器人房间运行态;停止后账号会从“已占用”集合释放。 +func (r *Repository) UpdateRobotRoomStatus(ctx context.Context, roomID string, status string, nowMS int64) (roomservice.RobotRoomConfig, bool, error) { + status = strings.TrimSpace(status) + if nowMS <= 0 { + nowMS = time.Now().UTC().UnixMilli() + } + res, err := r.db.ExecContext(ctx, + `UPDATE room_robot_rooms + SET status = ?, updated_at_ms = ? + WHERE app_code = ? AND room_id = ?`, + status, + nowMS, + appcode.FromContext(ctx), + strings.TrimSpace(roomID), + ) + if err != nil { + return roomservice.RobotRoomConfig{}, false, err + } + affected, _ := res.RowsAffected() + if affected == 0 { + return roomservice.RobotRoomConfig{}, false, nil + } + item, exists, err := r.GetRobotRoom(ctx, roomID) + return item, exists, err +} + +// OccupiedRobotUserIDs 返回仍被 active 机器人房占用的机器人账号集合。 +func (r *Repository) OccupiedRobotUserIDs(ctx context.Context, userIDs []int64) (map[int64]bool, error) { + return occupiedRobotUserIDsQuery(ctx, r.db, appcode.FromContext(ctx), userIDs, false) +} + +// ListActiveRobotRooms 为 room-service 重启恢复运行时循环提供当前 active 配置。 +func (r *Repository) ListActiveRobotRooms(ctx context.Context) ([]roomservice.RobotRoomConfig, error) { + rows, err := r.db.QueryContext(ctx, + `SELECT app_code, room_id, room_short_id, title, cover_url, visible_region_id, status, + owner_robot_user_id, robot_user_ids_json, gift_ids_json, lucky_gift_ids_json, + normal_gift_interval_ms, lucky_combo_min, lucky_combo_max, lucky_pause_min_ms, lucky_pause_max_ms, + created_by_admin_id, created_at_ms, updated_at_ms + FROM room_robot_rooms + WHERE status = 'active' + ORDER BY app_code ASC, updated_at_ms DESC, room_id DESC`, + ) + if err != nil { + return nil, err + } + defer rows.Close() + return scanRobotRoomConfigs(rows) +} + +type robotRoomScanner interface { + Scan(dest ...any) error +} + +func scanRobotRoomConfigs(rows *sql.Rows) ([]roomservice.RobotRoomConfig, error) { + items := make([]roomservice.RobotRoomConfig, 0) + for rows.Next() { + item, err := scanRobotRoomConfig(rows) + if err != nil { + return nil, err + } + items = append(items, item) + } + return items, rows.Err() +} + +func scanRobotRoomConfig(row robotRoomScanner) (roomservice.RobotRoomConfig, error) { + var item roomservice.RobotRoomConfig + var rawRobots string + var rawGifts string + var rawLuckyGifts string + if err := row.Scan( + &item.AppCode, + &item.RoomID, + &item.RoomShortID, + &item.Title, + &item.CoverURL, + &item.VisibleRegionID, + &item.Status, + &item.OwnerRobotUserID, + &rawRobots, + &rawGifts, + &rawLuckyGifts, + &item.GiftRule.NormalGiftIntervalMS, + &item.GiftRule.LuckyComboMin, + &item.GiftRule.LuckyComboMax, + &item.GiftRule.LuckyPauseMinMS, + &item.GiftRule.LuckyPauseMaxMS, + &item.CreatedByAdminID, + &item.CreatedAtMS, + &item.UpdatedAtMS, + ); err != nil { + return roomservice.RobotRoomConfig{}, err + } + if err := json.Unmarshal([]byte(rawRobots), &item.RobotUserIDs); err != nil { + return roomservice.RobotRoomConfig{}, err + } + if err := json.Unmarshal([]byte(rawGifts), &item.GiftRule.GiftIDs); err != nil { + return roomservice.RobotRoomConfig{}, err + } + if err := json.Unmarshal([]byte(rawLuckyGifts), &item.GiftRule.LuckyGiftIDs); err != nil { + return roomservice.RobotRoomConfig{}, err + } + return item, nil +} + +func robotRoomJSON(config roomservice.RobotRoomConfig) ([]byte, []byte, []byte, error) { + rawRobots, err := json.Marshal(config.RobotUserIDs) + if err != nil { + return nil, nil, nil, err + } + rawGifts, err := json.Marshal(config.GiftRule.GiftIDs) + if err != nil { + return nil, nil, nil, err + } + rawLuckyGifts, err := json.Marshal(config.GiftRule.LuckyGiftIDs) + if err != nil { + return nil, nil, nil, err + } + return rawRobots, rawGifts, rawLuckyGifts, nil +} + +func occupiedRobotUserIDsTx(ctx context.Context, tx *sql.Tx, appCode string, userIDs []int64) (map[int64]bool, error) { + return occupiedRobotUserIDsQuery(ctx, tx, appCode, userIDs, true) +} + +type dbQuerier interface { + QueryContext(ctx context.Context, query string, args ...any) (*sql.Rows, error) +} + +func occupiedRobotUserIDsQuery(ctx context.Context, db dbQuerier, appCode string, userIDs []int64, lock bool) (map[int64]bool, error) { + ids := uniquePositiveInt64(userIDs) + occupied := make(map[int64]bool, len(ids)) + if len(ids) == 0 { + return occupied, nil + } + query := `SELECT robot_user_ids_json FROM room_robot_rooms WHERE app_code = ? AND status = 'active'` + if lock { + query += ` FOR UPDATE` + } + rows, err := db.QueryContext(ctx, query, appcode.Normalize(appCode)) + if err != nil { + return nil, err + } + defer rows.Close() + wanted := make(map[int64]bool, len(ids)) + for _, id := range ids { + wanted[id] = true + } + for rows.Next() { + var raw string + if err := rows.Scan(&raw); err != nil { + return nil, err + } + var roomRobotIDs []int64 + if err := json.Unmarshal([]byte(raw), &roomRobotIDs); err != nil { + return nil, err + } + for _, id := range roomRobotIDs { + if wanted[id] { + occupied[id] = true + } + } + } + return occupied, rows.Err() +} + // ListCommandsAfter 返回快照版本之后的可回放命令日志。 func (r *Repository) ListCommandsAfter(ctx context.Context, roomID string, roomVersion int64) ([]roomservice.CommandRecord, error) { // 恢复必须按 room_version 再按自增 id 排序,确保同版本异常数据也有稳定顺序。 @@ -2640,6 +2957,29 @@ func boolToInt(value bool) int { return 0 } +func firstPositiveInt64(values ...int64) int64 { + for _, value := range values { + if value > 0 { + return value + } + } + return 0 +} + +func uniquePositiveInt64(values []int64) []int64 { + seen := make(map[int64]bool, len(values)) + out := make([]int64, 0, len(values)) + for _, value := range values { + if value <= 0 || seen[value] { + continue + } + seen[value] = true + out = append(out, value) + } + sort.Slice(out, func(i, j int) bool { return out[i] < out[j] }) + return out +} + func mapRoomMetaDuplicateError(err error) error { if err == nil { return nil diff --git a/services/room-service/internal/transport/grpc/server.go b/services/room-service/internal/transport/grpc/server.go index ac9c39aa..f336779d 100644 --- a/services/room-service/internal/transport/grpc/server.go +++ b/services/room-service/internal/transport/grpc/server.go @@ -187,6 +187,16 @@ func (s *Server) AdminCancelRoomPin(ctx context.Context, req *roomv1.AdminCancel return mapServiceResult(s.svc.AdminCancelRoomPin(ctx, req)) } +func (s *Server) AdminCreateRobotRoom(ctx context.Context, req *roomv1.AdminCreateRobotRoomRequest) (*roomv1.AdminCreateRobotRoomResponse, error) { + ctx = contextWithMetaApp(ctx, req.GetMeta()) + return mapServiceResult(s.svc.AdminCreateRobotRoom(ctx, req)) +} + +func (s *Server) AdminSetRobotRoomStatus(ctx context.Context, req *roomv1.AdminSetRobotRoomStatusRequest) (*roomv1.AdminSetRobotRoomStatusResponse, error) { + ctx = contextWithMetaApp(ctx, req.GetMeta()) + return mapServiceResult(s.svc.AdminSetRobotRoomStatus(ctx, req)) +} + // MicUp 代理到领域服务。 func (s *Server) MicUp(ctx context.Context, req *roomv1.MicUpRequest) (*roomv1.MicUpResponse, error) { // 麦位修改由 Room Cell 串行执行,gRPC 层不做状态判断。 @@ -443,6 +453,16 @@ func (s *Server) AdminListRoomPins(ctx context.Context, req *roomv1.AdminListRoo return mapServiceResult(s.svc.AdminListRoomPins(ctx, req)) } +func (s *Server) AdminListRobotRooms(ctx context.Context, req *roomv1.AdminListRobotRoomsRequest) (*roomv1.AdminListRobotRoomsResponse, error) { + ctx = contextWithMetaApp(ctx, req.GetMeta()) + return mapServiceResult(s.svc.AdminListRobotRooms(ctx, req)) +} + +func (s *Server) AdminFilterAvailableRoomRobots(ctx context.Context, req *roomv1.AdminFilterAvailableRoomRobotsRequest) (*roomv1.AdminFilterAvailableRoomRobotsResponse, error) { + ctx = contextWithMetaApp(ctx, req.GetMeta()) + return mapServiceResult(s.svc.AdminFilterAvailableRoomRobots(ctx, req)) +} + // ListRooms 代理到 room-service 列表读模型。 func (s *Server) ListRooms(ctx context.Context, req *roomv1.ListRoomsRequest) (*roomv1.ListRoomsResponse, error) { // 列表查询只读 MySQL 投影,不扫描 Room Cell 内存集合。 diff --git a/services/room-service/internal/transport/grpc/server_test.go b/services/room-service/internal/transport/grpc/server_test.go index 48138a62..b99dcbd9 100644 --- a/services/room-service/internal/transport/grpc/server_test.go +++ b/services/room-service/internal/transport/grpc/server_test.go @@ -35,6 +35,11 @@ func (fakeWallet) BatchDebitGift(context.Context, *walletv1.BatchDebitGiftReques return &walletv1.BatchDebitGiftResponse{Aggregate: &walletv1.DebitGiftResponse{BillingReceiptId: "receipt-test"}}, nil } +// DebitRobotGift 返回固定结果,避免 transport 测试依赖 wallet-service 机器人金币实现。 +func (fakeWallet) DebitRobotGift(context.Context, *walletv1.DebitRobotGiftRequest) (*walletv1.DebitGiftResponse, error) { + return &walletv1.DebitGiftResponse{BillingReceiptId: "receipt-robot-test"}, nil +} + // GrantResourceGroup 返回固定发放结果,避免 transport 测试依赖 wallet-service 资源组实现。 func (fakeWallet) GrantResourceGroup(context.Context, *walletv1.GrantResourceGroupRequest) (*walletv1.ResourceGrantResponse, error) { return &walletv1.ResourceGrantResponse{Grant: &walletv1.ResourceGrant{GrantId: "grant-test"}}, nil diff --git a/services/statistics-service/internal/app/app.go b/services/statistics-service/internal/app/app.go index 32d67553..8483e998 100644 --- a/services/statistics-service/internal/app/app.go +++ b/services/statistics-service/internal/app/app.go @@ -371,6 +371,9 @@ func roomGiftEvent(body []byte) (mysqlstorage.RoomGiftEvent, bool, error) { if err := proto.Unmarshal(envelope.GetBody(), &gift); err != nil { return mysqlstorage.RoomGiftEvent{}, false, err } + if gift.GetIsRobotGift() { + return mysqlstorage.RoomGiftEvent{}, false, nil + } return mysqlstorage.RoomGiftEvent{ AppCode: envelope.GetAppCode(), EventID: envelope.GetEventId(), diff --git a/services/wallet-service/internal/domain/ledger/ledger.go b/services/wallet-service/internal/domain/ledger/ledger.go index 890aa6fc..d8d411f7 100644 --- a/services/wallet-service/internal/domain/ledger/ledger.go +++ b/services/wallet-service/internal/domain/ledger/ledger.go @@ -7,6 +7,8 @@ const ( AssetCoin = "COIN" // AssetCoinSellerCoin 是币商专用金币资产,只能通过币商转账兑换成玩家普通 COIN。 AssetCoinSellerCoin = "COIN_SELLER_COIN" + // AssetRobotCoin 是机器人房间专用金币资产,只允许内部机器人送礼链路扣减,不进入真人充值消费口径。 + AssetRobotCoin = "ROBOT_COIN" // AssetGiftPoint 是历史礼物积分资产,只保留历史账本查询兼容;新送礼不会再给它入账。 AssetGiftPoint = "GIFT_POINT" // AssetHostPeriodDiamond 是主播工资周期钻石投影,只参与工资等级结算,不进入通用钱包余额。 @@ -146,6 +148,8 @@ type DebitGiftCommand struct { TargetHostRegionID int64 // TargetAgencyOwnerUserID 是送礼瞬间主播上级代理的收款用户快照;结算按快照发放,避免月底组织变化错账。 TargetAgencyOwnerUserID int64 + // RobotGift 表示本次扣费只服务机器人房间展示:扣 ROBOT_COIN,不给主播钻石,不进入真实礼物墙投影。 + RobotGift bool } // DebitGiftTargetCommand 是批量送礼中单个接收方的账务语义。 @@ -1127,7 +1131,7 @@ type RedPacketExpireResult struct { // ValidAssetType 限定账本允许落账的资产类型,避免写入任意字符串资产。 func ValidAssetType(assetType string) bool { switch assetType { - case AssetCoin, AssetCoinSellerCoin, AssetGiftPoint, AssetHostSalaryUSD, AssetAgencySalaryUSD, AssetBDSalaryUSD, AssetAdminSalaryUSD: + case AssetCoin, AssetCoinSellerCoin, AssetRobotCoin, AssetGiftPoint, AssetHostSalaryUSD, AssetAgencySalaryUSD, AssetBDSalaryUSD, AssetAdminSalaryUSD: return true default: return false diff --git a/services/wallet-service/internal/service/wallet/service.go b/services/wallet-service/internal/service/wallet/service.go index 289678e6..adb098ac 100644 --- a/services/wallet-service/internal/service/wallet/service.go +++ b/services/wallet-service/internal/service/wallet/service.go @@ -164,6 +164,20 @@ func (s *Service) SetExternalRechargeConfig(config ExternalRechargeConfig) { // DebitGift 校验送礼扣费命令,并交给 repository 做原子落账和幂等。 func (s *Service) DebitGift(ctx context.Context, command ledger.DebitGiftCommand) (ledger.Receipt, error) { + command.RobotGift = false + return s.debitGift(ctx, command) +} + +// DebitRobotGift 校验机器人房间专用送礼扣费命令,并强制使用 ROBOT_COIN 账务语义。 +func (s *Service) DebitRobotGift(ctx context.Context, command ledger.DebitGiftCommand) (ledger.Receipt, error) { + command.RobotGift = true + command.TargetIsHost = false + command.TargetHostRegionID = 0 + command.TargetAgencyOwnerUserID = 0 + return s.debitGift(ctx, command) +} + +func (s *Service) debitGift(ctx context.Context, command ledger.DebitGiftCommand) (ledger.Receipt, error) { if command.CommandID == "" || command.RoomID == "" || command.SenderUserID <= 0 || command.TargetUserID <= 0 || command.GiftID == "" { return ledger.Receipt{}, xerr.New(xerr.InvalidArgument, "billing command is incomplete") } diff --git a/services/wallet-service/internal/storage/mysql/repository.go b/services/wallet-service/internal/storage/mysql/repository.go index eade7e8f..a6f38d30 100644 --- a/services/wallet-service/internal/storage/mysql/repository.go +++ b/services/wallet-service/internal/storage/mysql/repository.go @@ -24,6 +24,7 @@ import ( const ( transactionStatusSucceeded = "succeeded" bizTypeGiftDebit = "gift_debit" + bizTypeRobotGiftDebit = "robot_gift_debit" bizTypeManualCredit = "manual_credit" bizTypeTaskReward = "task_reward" bizTypeLuckyGiftReward = "lucky_gift_reward" @@ -365,7 +366,8 @@ func (r *Repository) DebitGift(ctx context.Context, command ledger.DebitGiftComm }() requestHash := debitRequestHash(command) - if txRow, exists, err := r.lookupTransaction(ctx, tx, command.CommandID, requestHash, bizTypeGiftDebit); err != nil || exists { + bizType := giftDebitBizType(command) + if txRow, exists, err := r.lookupTransaction(ctx, tx, command.CommandID, requestHash, bizType); err != nil || exists { if err != nil || !exists { return ledger.Receipt{}, err } @@ -388,6 +390,11 @@ func (r *Repository) DebitGift(ctx context.Context, command ledger.DebitGiftComm if err != nil { return ledger.Receipt{}, err } + chargeAssetType := price.ChargeAssetType + if command.RobotGift { + // 机器人礼物复用真实礼物价格和素材快照,但扣专用 ROBOT_COIN,避免污染真人 COIN 充值消费口径。 + chargeAssetType = ledger.AssetRobotCoin + } chargeAmount, err := checkedMul(price.CoinPrice, int64(command.GiftCount)) if err != nil { return ledger.Receipt{}, err @@ -406,7 +413,7 @@ func (r *Repository) DebitGift(ctx context.Context, command ledger.DebitGiftComm hostPeriodCycleKey := "" giftDiamondRatioPercent := "0.00" giftDiamondRatioRegionID := int64(0) - if command.TargetIsHost { + if command.TargetIsHost && !command.RobotGift { ratio, ratioRegionID, err := r.resolveGlobalGiftDiamondRatio(ctx, tx, command.AppCode, giftConfig.GiftTypeCode) if err != nil { return ledger.Receipt{}, err @@ -421,13 +428,19 @@ func (r *Repository) DebitGift(ctx context.Context, command ledger.DebitGiftComm hostPeriodCycleKey = hostPeriodCycleKeyFromMS(nowMs) } - sender, err := r.lockAccount(ctx, tx, command.SenderUserID, price.ChargeAssetType, chargeAmount == 0, nowMs) + sender, err := r.lockAccount(ctx, tx, command.SenderUserID, chargeAssetType, chargeAmount == 0, nowMs) if err != nil { return ledger.Receipt{}, err } - if sender.AvailableAmount < chargeAmount { + robotCoinTopUp := int64(0) + if command.RobotGift && sender.AvailableAmount < chargeAmount { + // 机器人房间使用专用 ROBOT_COIN 做展示账务,按次补足后立刻扣减,不要求真实充值预算。 + robotCoinTopUp = chargeAmount - sender.AvailableAmount + } + if !command.RobotGift && sender.AvailableAmount < chargeAmount { return ledger.Receipt{}, xerr.New(xerr.InsufficientBalance, "insufficient balance") } + senderAfter := sender.AvailableAmount + robotCoinTopUp - chargeAmount transactionID := transactionID(command.AppCode, command.CommandID) metadata := giftMetadata{ AppCode: command.AppCode, @@ -445,12 +458,12 @@ func (r *Repository) DebitGift(ctx context.Context, command ledger.DebitGiftComm SortOrder: giftConfig.SortOrder, GiftCount: command.GiftCount, PriceVersion: price.PriceVersion, - ChargeAssetType: price.ChargeAssetType, + ChargeAssetType: chargeAssetType, ChargeAmount: chargeAmount, CoinSpent: chargeAmount, GiftPointAdded: 0, HeatValue: heatValue, - BalanceAfter: sender.AvailableAmount - chargeAmount, + BalanceAfter: senderAfter, BillingReceipt: billingReceiptID(command.AppCode, command.CommandID), SenderUserID: command.SenderUserID, SenderRegionID: command.SenderRegionID, @@ -469,18 +482,42 @@ func (r *Repository) DebitGift(ctx context.Context, command ledger.DebitGiftComm CoinPrice: price.CoinPrice, GiftPointAmount: 0, HeatUnitValue: price.CoinPrice, + RobotGift: command.RobotGift, } - if err := r.insertTransaction(ctx, tx, transactionID, command.CommandID, bizTypeGiftDebit, requestHash, fmt.Sprintf("%s:%s", command.GiftID, price.PriceVersion), metadata, nowMs); err != nil { + if err := r.insertTransaction(ctx, tx, transactionID, command.CommandID, bizType, requestHash, fmt.Sprintf("%s:%s", command.GiftID, price.PriceVersion), metadata, nowMs); err != nil { return ledger.Receipt{}, err } + events := make([]walletOutboxEvent, 0, 3) + if robotCoinTopUp > 0 { + if err := r.applyAccountDelta(ctx, tx, sender, robotCoinTopUp, 0, nowMs); err != nil { + return ledger.Receipt{}, err + } + topUpAfter := sender.AvailableAmount + robotCoinTopUp + if err := r.insertEntry(ctx, tx, walletEntry{ + TransactionID: transactionID, + UserID: command.SenderUserID, + AssetType: chargeAssetType, + AvailableDelta: robotCoinTopUp, + FrozenDelta: 0, + AvailableAfter: topUpAfter, + FrozenAfter: sender.FrozenAmount, + CounterpartyUserID: 0, + RoomID: command.RoomID, + CreatedAtMS: nowMs, + }); err != nil { + return ledger.Receipt{}, err + } + events = append(events, balanceChangedEvent(transactionID, command.CommandID, command.SenderUserID, chargeAssetType, robotCoinTopUp, 0, topUpAfter, sender.FrozenAmount, sender.Version+1, metadata, nowMs)) + sender.AvailableAmount = topUpAfter + sender.Version++ + } if err := r.applyAccountDelta(ctx, tx, sender, -chargeAmount, 0, nowMs); err != nil { return ledger.Receipt{}, err } - senderAfter := sender.AvailableAmount - chargeAmount if err := r.insertEntry(ctx, tx, walletEntry{ TransactionID: transactionID, UserID: command.SenderUserID, - AssetType: price.ChargeAssetType, + AssetType: chargeAssetType, AvailableDelta: -chargeAmount, FrozenDelta: 0, AvailableAfter: senderAfter, @@ -501,9 +538,10 @@ func (r *Repository) DebitGift(ctx context.Context, command ledger.DebitGiftComm metadata.HostPeriodDiamondVersion = hostPeriodDiamondVersion } - events := []walletOutboxEvent{ - balanceChangedEvent(transactionID, command.CommandID, command.SenderUserID, price.ChargeAssetType, -chargeAmount, 0, senderAfter, sender.FrozenAmount, sender.Version+1, metadata, nowMs), - giftDebitedEvent(transactionID, command.CommandID, command.SenderUserID, price.ChargeAssetType, -chargeAmount, 0, metadata, nowMs), + events = append(events, balanceChangedEvent(transactionID, command.CommandID, command.SenderUserID, chargeAssetType, -chargeAmount, 0, senderAfter, sender.FrozenAmount, sender.Version+1, metadata, nowMs)) + if !command.RobotGift { + // 只有真人礼物产生 WalletGiftDebited;机器人礼物不投影礼物墙,也不进入真实消费类下游。 + events = append(events, giftDebitedEvent(transactionID, command.CommandID, command.SenderUserID, chargeAssetType, -chargeAmount, 0, metadata, nowMs)) } if hostPeriodDiamondAdded > 0 { events = append(events, hostPeriodDiamondCreditedEvent(transactionID, command.CommandID, metadata, nowMs)) @@ -809,6 +847,10 @@ func (r *Repository) GetBalances(ctx context.Context, userID int64, assetTypes [ } func (r *Repository) upsertUserGiftWall(ctx context.Context, tx *sql.Tx, metadata giftMetadata, nowMs int64) error { + if metadata.RobotGift { + // 机器人房间礼物只服务房间展示,不进入真人用户礼物墙。 + return nil + } chargeAssetType := ledger.NormalizeGiftChargeAssetType(metadata.ChargeAssetType) chargeAmount := metadata.ChargeAmount if chargeAmount == 0 { @@ -2957,6 +2999,7 @@ type giftMetadata struct { RoomRegionID int64 `json:"room_region_id"` RoomContributionRatioPercent string `json:"room_contribution_ratio_percent"` RoomContributionRatioRegionID int64 `json:"room_contribution_ratio_region_id"` + RobotGift bool `json:"robot_gift,omitempty"` } type adminCreditMetadata struct { @@ -3137,6 +3180,9 @@ type coinSellerStockMetadata struct { func receiptFromGiftMetadata(transactionID string, metadata giftMetadata) ledger.Receipt { chargeAssetType := ledger.NormalizeGiftChargeAssetType(metadata.ChargeAssetType) + if metadata.RobotGift { + chargeAssetType = ledger.AssetRobotCoin + } chargeAmount := metadata.ChargeAmount if chargeAmount == 0 { chargeAmount = metadata.CoinSpent @@ -3831,6 +3877,13 @@ func debitGiftCommandFromBatchTarget(command ledger.BatchDebitGiftCommand, targe } } +func giftDebitBizType(command ledger.DebitGiftCommand) string { + if command.RobotGift { + return bizTypeRobotGiftDebit + } + return bizTypeGiftDebit +} + func aggregateGiftReceipts(targets []ledger.BatchGiftTargetReceipt) (ledger.Receipt, error) { aggregate := ledger.Receipt{} billingReceiptIDs := make([]string, 0, len(targets)) @@ -3897,7 +3950,7 @@ func hostPeriodCycleKeyFromMS(ms int64) string { func debitRequestHash(command ledger.DebitGiftCommand) string { // 哈希覆盖所有账务语义字段;相同 command_id 只能重放完全相同的业务命令。 - return stableHash(fmt.Sprintf("gift|%s|%s|%d|%d|%s|%d|%s|%d|%d|%t|%d|%d", + return stableHash(fmt.Sprintf("gift|%s|%s|%d|%d|%s|%d|%s|%d|%d|%t|%d|%d|%t", appcode.Normalize(command.AppCode), command.RoomID, command.SenderUserID, @@ -3910,6 +3963,7 @@ func debitRequestHash(command ledger.DebitGiftCommand) string { command.TargetIsHost, command.TargetHostRegionID, command.TargetAgencyOwnerUserID, + command.RobotGift, )) } diff --git a/services/wallet-service/internal/transport/grpc/server.go b/services/wallet-service/internal/transport/grpc/server.go index 64722077..33c2b8c3 100644 --- a/services/wallet-service/internal/transport/grpc/server.go +++ b/services/wallet-service/internal/transport/grpc/server.go @@ -91,6 +91,27 @@ func (s *Server) BatchDebitGift(ctx context.Context, req *walletv1.BatchDebitGif return response, nil } +// DebitRobotGift 扣机器人专用金币;该入口只供内部机器人房间编排链路调用。 +func (s *Server) DebitRobotGift(ctx context.Context, req *walletv1.DebitRobotGiftRequest) (*walletv1.DebitGiftResponse, error) { + ctx = appcode.WithContext(ctx, req.GetAppCode()) + receipt, err := s.svc.DebitRobotGift(ctx, ledger.DebitGiftCommand{ + AppCode: req.GetAppCode(), + CommandID: req.GetCommandId(), + RoomID: req.GetRoomId(), + SenderUserID: req.GetSenderUserId(), + TargetUserID: req.GetTargetUserId(), + GiftID: req.GetGiftId(), + GiftCount: req.GetGiftCount(), + PriceVersion: req.GetPriceVersion(), + RegionID: req.GetRegionId(), + SenderRegionID: req.GetSenderRegionId(), + }) + if err != nil { + return nil, xerr.ToGRPCError(err) + } + return debitGiftResponseFromReceipt(receipt), nil +} + func debitGiftResponseFromReceipt(receipt ledger.Receipt) *walletv1.DebitGiftResponse { return &walletv1.DebitGiftResponse{ BillingReceiptId: receipt.BillingReceiptID, diff --git a/tools/robot-room-api-test/main.go b/tools/robot-room-api-test/main.go new file mode 100644 index 00000000..fd8817b7 --- /dev/null +++ b/tools/robot-room-api-test/main.go @@ -0,0 +1,484 @@ +package main + +import ( + "bytes" + "context" + "database/sql" + "encoding/json" + "errors" + "fmt" + "io" + "net/http" + "os" + "strconv" + "strings" + "time" + + _ "github.com/go-sql-driver/mysql" +) + +const ( + defaultAdminBaseURL = "http://127.0.0.1:13100/api/v1" + defaultAdminUser = "admin" + defaultAdminPass = "admin123" + defaultMySQLDSN = "hyapp:hyapp@tcp(127.0.0.1:23306)/%s?parseTime=true&charset=utf8mb4&loc=UTC" + + appCode = "lalu" + roomScene = "voice" + normalGiftID = "robot_room_test_normal" + luckyGiftID = "robot_room_test_lucky" + robotUserStart = int64(920001) + robotUserCount = 12 +) + +type apiBody struct { + Code int `json:"code"` + Message string `json:"message"` + Data json.RawMessage `json:"data"` +} + +type loginData struct { + AccessToken string `json:"accessToken"` +} + +type availableRobot struct { + UserID string `json:"userId"` +} + +type robotRoom struct { + RoomID string `json:"roomId"` + Status string `json:"status"` + OwnerRobotUserID string `json:"ownerRobotUserId"` + RobotUserIDs []string `json:"robotUserIds"` + GiftRule struct { + GiftIDs []string `json:"giftIds"` + LuckyGiftIDs []string `json:"luckyGiftIds"` + NormalGiftIntervalMS int64 `json:"normalGiftIntervalMs"` + LuckyComboMin int64 `json:"luckyComboMin"` + LuckyComboMax int64 `json:"luckyComboMax"` + LuckyPauseMinMS int64 `json:"luckyPauseMinMs"` + LuckyPauseMaxMS int64 `json:"luckyPauseMaxMs"` + } `json:"giftRule"` +} + +type pageData struct { + Items []robotRoom `json:"items"` + Total int64 `json:"total"` +} + +func main() { + ctx, cancel := context.WithTimeout(context.Background(), 90*time.Second) + defer cancel() + + baseURL := env("ROBOT_ROOM_ADMIN_BASE_URL", defaultAdminBaseURL) + mysqlDSN := env("ROBOT_ROOM_MYSQL_DSN", defaultMySQLDSN) + adminUser := env("ROBOT_ROOM_ADMIN_USERNAME", defaultAdminUser) + adminPass := env("ROBOT_ROOM_ADMIN_PASSWORD", defaultAdminPass) + + dbs, err := openDBs(ctx, mysqlDSN) + if err != nil { + fail(err) + } + defer dbs.close() + + if err := seed(ctx, dbs); err != nil { + fail(fmt.Errorf("seed local data: %w", err)) + } + fmt.Println("seed: ok") + + client := &http.Client{Timeout: 10 * time.Second} + token, err := login(ctx, client, baseURL, adminUser, adminPass) + if err != nil { + fail(err) + } + fmt.Println("login: ok") + + available, err := getJSON[[]availableRobot](ctx, client, baseURL+"/admin/rooms/robot-rooms/available-robots", token) + if err != nil { + fail(err) + } + if len(available) < 10 { + fail(fmt.Errorf("available robots = %d, want at least 10", len(available))) + } + fmt.Printf("available robots: %d\n", len(available)) + + payload := map[string]any{ + "ownerRobotUserId": robotUserStart, + "candidateRobotUserIds": robotIDs(), + "minRobotCount": 6, + "maxRobotCount": 8, + "roomName": "本地接口测试机器人房", + "visibleRegionId": 0, + "giftIds": []string{normalGiftID}, + "luckyGiftIds": []string{luckyGiftID}, + "normalGiftIntervalMs": 60000, + "luckyComboMin": 2, + "luckyComboMax": 3, + "luckyPauseMinMs": 600000, + "luckyPauseMaxMs": 600000, + } + created, err := postJSON[robotRoom](ctx, client, baseURL+"/admin/rooms/robot-rooms", token, payload) + if err != nil { + fail(err) + } + if created.RoomID == "" || created.Status != "active" { + fail(fmt.Errorf("created room invalid: room_id=%q status=%q", created.RoomID, created.Status)) + } + if len(created.RobotUserIDs) < 6 || len(created.RobotUserIDs) > 8 { + fail(fmt.Errorf("created robot count = %d, want 6-8", len(created.RobotUserIDs))) + } + fmt.Printf("create robot room: %s robots=%d\n", created.RoomID, len(created.RobotUserIDs)) + + list, err := getJSON[pageData](ctx, client, baseURL+"/admin/rooms/robot-rooms?status=active&page=1&page_size=20", token) + if err != nil { + fail(err) + } + if !containsRoom(list.Items, created.RoomID) { + fail(fmt.Errorf("created room %s not found in active list", created.RoomID)) + } + fmt.Printf("list active robot rooms: total=%d\n", list.Total) + + stopped, err := postJSON[robotRoom](ctx, client, baseURL+"/admin/rooms/robot-rooms/"+created.RoomID+"/stop", token, nil) + if err != nil { + fail(err) + } + if stopped.Status != "stopped" { + fail(fmt.Errorf("stop status = %q, want stopped", stopped.Status)) + } + fmt.Println("stop robot room: ok") + + started, err := postJSON[robotRoom](ctx, client, baseURL+"/admin/rooms/robot-rooms/"+created.RoomID+"/start", token, nil) + if err != nil { + fail(err) + } + if started.Status != "active" { + fail(fmt.Errorf("start status = %q, want active", started.Status)) + } + fmt.Println("start robot room: ok") + + if _, err := postJSON[robotRoom](ctx, client, baseURL+"/admin/rooms/robot-rooms/"+created.RoomID+"/stop", token, nil); err != nil { + fail(err) + } + if err := verifyDB(ctx, dbs, created.RoomID); err != nil { + fail(err) + } + fmt.Println("db verify: ok") + fmt.Println("PASS robot room admin API smoke") +} + +type dbs struct { + user *sql.DB + wallet *sql.DB + robot *sql.DB + room *sql.DB +} + +func openDBs(ctx context.Context, dsnTemplate string) (dbs, error) { + open := func(name string) (*sql.DB, error) { + dsn := fmt.Sprintf(dsnTemplate, name) + if !strings.Contains(dsnTemplate, "%s") { + dsn = dsnTemplate + } + db, err := sql.Open("mysql", dsn) + if err != nil { + return nil, err + } + if err := db.PingContext(ctx); err != nil { + _ = db.Close() + return nil, fmt.Errorf("%s: %w", name, err) + } + return db, nil + } + userDB, err := open("hyapp_user") + if err != nil { + return dbs{}, err + } + walletDB, err := open("hyapp_wallet") + if err != nil { + _ = userDB.Close() + return dbs{}, err + } + robotDB, err := open("hyapp_robot") + if err != nil { + _ = userDB.Close() + _ = walletDB.Close() + return dbs{}, err + } + roomDB, err := open("hyapp_room") + if err != nil { + _ = userDB.Close() + _ = walletDB.Close() + _ = robotDB.Close() + return dbs{}, err + } + return dbs{user: userDB, wallet: walletDB, robot: robotDB, room: roomDB}, nil +} + +func (d dbs) close() { + _ = d.user.Close() + _ = d.wallet.Close() + _ = d.robot.Close() + _ = d.room.Close() +} + +func seed(ctx context.Context, dbs dbs) error { + now := time.Now().UnixMilli() + ids := robotIDs() + args := make([]any, 0, len(ids)+1) + args = append(args, appCode) + in := make([]string, 0, len(ids)) + for _, id := range ids { + in = append(in, "?") + args = append(args, id) + } + idClause := strings.Join(in, ",") + for _, statement := range []struct { + db *sql.DB + sql string + args []any + }{ + {dbs.room, "DELETE FROM room_command_log WHERE app_code = ? AND (room_id LIKE 'robot\\_%' OR command_id LIKE 'admin-robot-room:%')", []any{appCode}}, + {dbs.room, "DELETE FROM room_snapshots WHERE app_code = ? AND room_id LIKE 'robot\\_%'", []any{appCode}}, + {dbs.room, "DELETE FROM room_outbox WHERE app_code = ? AND room_id LIKE 'robot\\_%'", []any{appCode}}, + {dbs.room, "DELETE FROM room_robot_rooms WHERE app_code = ? AND owner_robot_user_id IN (" + idClause + ")", args}, + {dbs.room, "DELETE FROM rooms WHERE app_code = ? AND owner_user_id IN (" + idClause + ")", args}, + {dbs.room, "DELETE FROM room_list_entries WHERE app_code = ? AND owner_user_id IN (" + idClause + ")", args}, + {dbs.room, "DELETE FROM room_user_presence WHERE app_code = ? AND user_id IN (" + idClause + ")", args}, + } { + if _, err := statement.db.ExecContext(ctx, statement.sql, statement.args...); err != nil { + return err + } + } + + for _, id := range ids { + display := strconv.FormatInt(id, 10) + if _, err := dbs.user.ExecContext(ctx, ` + INSERT INTO users ( + app_code, user_id, default_display_user_id, current_display_user_id, current_display_user_id_kind, + username, gender, country, region_id, avatar, profile_completed, onboarding_status, status, + created_at_ms, updated_at_ms + ) VALUES (?, ?, ?, ?, 'default', ?, 'unknown', 'SA', 0, '', 1, 'completed', 'active', ?, ?) + ON DUPLICATE KEY UPDATE + username = VALUES(username), + current_display_user_id = VALUES(current_display_user_id), + status = 'active', + updated_at_ms = VALUES(updated_at_ms)`, + appCode, id, display, display, fmt.Sprintf("机器人%d", id), now, now, + ); err != nil { + return err + } + if _, err := dbs.robot.ExecContext(ctx, ` + INSERT INTO robot_room_robots ( + app_code, room_scene, user_id, status, created_by_admin_id, created_at_ms, updated_at_ms, last_used_at_ms, used_count + ) VALUES (?, ?, ?, 'active', 1, ?, ?, 0, 0) + ON DUPLICATE KEY UPDATE status = 'active', updated_at_ms = VALUES(updated_at_ms)`, + appCode, roomScene, id, now, now, + ); err != nil { + return err + } + } + + if err := seedGift(ctx, dbs.wallet, normalGiftID, "机器人普通测试礼物", 1001, 1, now); err != nil { + return err + } + if err := seedGift(ctx, dbs.wallet, luckyGiftID, "机器人幸运测试礼物", 1002, 2, now); err != nil { + return err + } + if _, err := dbs.wallet.ExecContext(ctx, ` + INSERT INTO gift_diamond_ratio_configs ( + app_code, region_id, gift_type_code, status, ratio_percent, created_by_admin_id, updated_by_admin_id, created_at_ms, updated_at_ms + ) VALUES (?, 0, 'normal', 'active', 100.00, 1, 1, ?, ?) + ON DUPLICATE KEY UPDATE status = 'active', ratio_percent = VALUES(ratio_percent), updated_at_ms = VALUES(updated_at_ms)`, + appCode, now, now, + ); err != nil { + return err + } + return nil +} + +func seedGift(ctx context.Context, db *sql.DB, giftID string, name string, resourceID int64, coinPrice int64, now int64) error { + if _, err := db.ExecContext(ctx, ` + INSERT INTO resources ( + resource_id, app_code, resource_code, resource_type, name, status, grantable, manager_grant_enabled, + grant_strategy, wallet_asset_type, wallet_asset_amount, price_type, coin_price, gift_point_amount, + usage_scope_json, asset_url, preview_url, animation_url, metadata_json, sort_order, + created_by_user_id, updated_by_user_id, created_at_ms, updated_at_ms + ) VALUES (?, ?, ?, 'gift', ?, 'active', true, false, 'none', '', 0, 'coin', ?, 0, '{}', '', '', '', '{}', 0, 1, 1, ?, ?) + ON DUPLICATE KEY UPDATE name = VALUES(name), status = 'active', coin_price = VALUES(coin_price), updated_at_ms = VALUES(updated_at_ms)`, + resourceID, appCode, giftID+"_resource", name, coinPrice, now, now, + ); err != nil { + return err + } + if _, err := db.ExecContext(ctx, ` + INSERT INTO gift_type_configs ( + app_code, type_code, name, tab_key, status, sort_order, created_by_user_id, updated_by_user_id, created_at_ms, updated_at_ms + ) VALUES (?, 'normal', '普通礼物', 'normal', 'active', 0, 1, 1, ?, ?) + ON DUPLICATE KEY UPDATE status = 'active', updated_at_ms = VALUES(updated_at_ms)`, + appCode, now, now, + ); err != nil { + return err + } + if _, err := db.ExecContext(ctx, ` + INSERT INTO gift_configs ( + app_code, gift_id, resource_id, status, name, sort_order, presentation_json, gift_type_code, + effective_from_ms, effective_to_ms, effect_types_json, created_by_user_id, updated_by_user_id, created_at_ms, updated_at_ms + ) VALUES (?, ?, ?, 'active', ?, 0, '{}', 'normal', 0, 0, '["global_broadcast"]', 1, 1, ?, ?) + ON DUPLICATE KEY UPDATE status = 'active', name = VALUES(name), resource_id = VALUES(resource_id), updated_at_ms = VALUES(updated_at_ms)`, + appCode, giftID, resourceID, name, now, now, + ); err != nil { + return err + } + _, err := db.ExecContext(ctx, ` + INSERT INTO wallet_gift_prices ( + app_code, gift_id, price_version, status, charge_asset_type, coin_price, gift_point_amount, heat_value, + effective_at_ms, created_at_ms, updated_at_ms + ) VALUES (?, ?, 'robot_room_test_v1', 'active', 'COIN', ?, 0, ?, 0, ?, ?) + ON DUPLICATE KEY UPDATE status = 'active', coin_price = VALUES(coin_price), heat_value = VALUES(heat_value), updated_at_ms = VALUES(updated_at_ms)`, + appCode, giftID, coinPrice, coinPrice, now, now, + ) + return err +} + +func verifyDB(ctx context.Context, dbs dbs, roomID string) error { + var status string + var owner int64 + var rawRobots string + err := dbs.room.QueryRowContext(ctx, ` + SELECT status, owner_robot_user_id, CAST(robot_user_ids_json AS CHAR) + FROM room_robot_rooms + WHERE app_code = ? AND room_id = ?`, + appCode, roomID, + ).Scan(&status, &owner, &rawRobots) + if err != nil { + return err + } + if status != "stopped" { + return fmt.Errorf("db status = %s, want stopped", status) + } + if owner != robotUserStart { + return fmt.Errorf("db owner = %d, want %d", owner, robotUserStart) + } + var robotIDs []int64 + if err := json.Unmarshal([]byte(rawRobots), &robotIDs); err != nil { + return err + } + if len(robotIDs) < 6 || len(robotIDs) > 8 { + return fmt.Errorf("db robot count = %d, want 6-8", len(robotIDs)) + } + var realGiftDebits int64 + if err := dbs.wallet.QueryRowContext(ctx, ` + SELECT COUNT(*) + FROM wallet_transactions + WHERE app_code = ? AND biz_type = 'gift_debit' AND JSON_UNQUOTE(JSON_EXTRACT(metadata_json, '$.room_id')) = ?`, + appCode, roomID, + ).Scan(&realGiftDebits); err != nil { + return err + } + if realGiftDebits != 0 { + return fmt.Errorf("real gift debit rows for robot room = %d, want 0", realGiftDebits) + } + return nil +} + +func login(ctx context.Context, client *http.Client, baseURL string, username string, password string) (string, error) { + data, err := postJSON[loginData](ctx, client, baseURL+"/auth/login", "", map[string]string{ + "username": username, + "password": password, + }) + if err != nil { + return "", err + } + if strings.TrimSpace(data.AccessToken) == "" { + return "", errors.New("login returned empty access token") + } + return data.AccessToken, nil +} + +func getJSON[T any](ctx context.Context, client *http.Client, url string, token string) (T, error) { + var zero T + req, err := http.NewRequestWithContext(ctx, http.MethodGet, url, nil) + if err != nil { + return zero, err + } + return doJSON[T](client, req, token) +} + +func postJSON[T any](ctx context.Context, client *http.Client, url string, token string, payload any) (T, error) { + var zero T + var body io.Reader + if payload != nil { + raw, err := json.Marshal(payload) + if err != nil { + return zero, err + } + body = bytes.NewReader(raw) + } + req, err := http.NewRequestWithContext(ctx, http.MethodPost, url, body) + if err != nil { + return zero, err + } + if payload != nil { + req.Header.Set("Content-Type", "application/json") + } + return doJSON[T](client, req, token) +} + +func doJSON[T any](client *http.Client, req *http.Request, token string) (T, error) { + var zero T + if token != "" { + req.Header.Set("Authorization", "Bearer "+token) + } + resp, err := client.Do(req) + if err != nil { + return zero, err + } + defer resp.Body.Close() + raw, _ := io.ReadAll(resp.Body) + if resp.StatusCode < 200 || resp.StatusCode >= 300 { + return zero, fmt.Errorf("%s %s: status %d body %s", req.Method, req.URL.Path, resp.StatusCode, strings.TrimSpace(string(raw))) + } + var wrapped apiBody + if err := json.Unmarshal(raw, &wrapped); err != nil { + return zero, err + } + if wrapped.Code != 0 { + return zero, fmt.Errorf("%s %s: code %d message %s", req.Method, req.URL.Path, wrapped.Code, wrapped.Message) + } + var out T + if len(wrapped.Data) == 0 || string(wrapped.Data) == "null" { + return out, nil + } + if err := json.Unmarshal(wrapped.Data, &out); err != nil { + return zero, err + } + return out, nil +} + +func robotIDs() []int64 { + ids := make([]int64, 0, robotUserCount) + for i := 0; i < robotUserCount; i++ { + ids = append(ids, robotUserStart+int64(i)) + } + return ids +} + +func containsRoom(items []robotRoom, roomID string) bool { + for _, item := range items { + if item.RoomID == roomID { + return true + } + } + return false +} + +func env(key string, fallback string) string { + if value := strings.TrimSpace(os.Getenv(key)); value != "" { + return value + } + return fallback +} + +func fail(err error) { + fmt.Fprintln(os.Stderr, "FAIL:", err) + os.Exit(1) +}