pk送礼
This commit is contained in:
parent
55a5a23f67
commit
ec0fb81eac
@ -13022,6 +13022,144 @@ func (x *GetRoomRocketResponse) GetServerTimeMs() int64 {
|
|||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ApplyRoomRPSGiftRequest 只承载 room-rps 最终结算后真实发生的一份败者礼物。
|
||||||
|
// game-service 的预扣、平局退款和赢家本金退款都不能调用该接口。
|
||||||
|
type ApplyRoomRPSGiftRequest struct {
|
||||||
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
|
Meta *RequestMeta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,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"`
|
||||||
|
HeatValue int64 `protobuf:"varint,6,opt,name=heat_value,json=heatValue,proto3" json:"heat_value,omitempty"`
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ApplyRoomRPSGiftRequest) Reset() {
|
||||||
|
*x = ApplyRoomRPSGiftRequest{}
|
||||||
|
mi := &file_proto_room_v1_room_proto_msgTypes[161]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ApplyRoomRPSGiftRequest) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*ApplyRoomRPSGiftRequest) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *ApplyRoomRPSGiftRequest) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_proto_room_v1_room_proto_msgTypes[161]
|
||||||
|
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 ApplyRoomRPSGiftRequest.ProtoReflect.Descriptor instead.
|
||||||
|
func (*ApplyRoomRPSGiftRequest) Descriptor() ([]byte, []int) {
|
||||||
|
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{161}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ApplyRoomRPSGiftRequest) GetMeta() *RequestMeta {
|
||||||
|
if x != nil {
|
||||||
|
return x.Meta
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ApplyRoomRPSGiftRequest) GetRoomId() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.RoomId
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ApplyRoomRPSGiftRequest) GetSenderUserId() int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.SenderUserId
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ApplyRoomRPSGiftRequest) GetTargetUserId() int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.TargetUserId
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ApplyRoomRPSGiftRequest) GetGiftId() string {
|
||||||
|
if x != nil {
|
||||||
|
return x.GiftId
|
||||||
|
}
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ApplyRoomRPSGiftRequest) GetHeatValue() int64 {
|
||||||
|
if x != nil {
|
||||||
|
return x.HeatValue
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
type ApplyRoomRPSGiftResponse struct {
|
||||||
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
|
Result *CommandResult `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
|
||||||
|
Rocket *RoomRocketState `protobuf:"bytes,2,opt,name=rocket,proto3" json:"rocket,omitempty"`
|
||||||
|
unknownFields protoimpl.UnknownFields
|
||||||
|
sizeCache protoimpl.SizeCache
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ApplyRoomRPSGiftResponse) Reset() {
|
||||||
|
*x = ApplyRoomRPSGiftResponse{}
|
||||||
|
mi := &file_proto_room_v1_room_proto_msgTypes[162]
|
||||||
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
|
ms.StoreMessageInfo(mi)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ApplyRoomRPSGiftResponse) String() string {
|
||||||
|
return protoimpl.X.MessageStringOf(x)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (*ApplyRoomRPSGiftResponse) ProtoMessage() {}
|
||||||
|
|
||||||
|
func (x *ApplyRoomRPSGiftResponse) ProtoReflect() protoreflect.Message {
|
||||||
|
mi := &file_proto_room_v1_room_proto_msgTypes[162]
|
||||||
|
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 ApplyRoomRPSGiftResponse.ProtoReflect.Descriptor instead.
|
||||||
|
func (*ApplyRoomRPSGiftResponse) Descriptor() ([]byte, []int) {
|
||||||
|
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{162}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ApplyRoomRPSGiftResponse) GetResult() *CommandResult {
|
||||||
|
if x != nil {
|
||||||
|
return x.Result
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (x *ApplyRoomRPSGiftResponse) GetRocket() *RoomRocketState {
|
||||||
|
if x != nil {
|
||||||
|
return x.Rocket
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
// ListRoomOnlineUsersRequest 分页查询房间在线用户,不让客户端拉完整 RoomSnapshot 做列表分页。
|
// ListRoomOnlineUsersRequest 分页查询房间在线用户,不让客户端拉完整 RoomSnapshot 做列表分页。
|
||||||
type ListRoomOnlineUsersRequest struct {
|
type ListRoomOnlineUsersRequest struct {
|
||||||
state protoimpl.MessageState `protogen:"open.v1"`
|
state protoimpl.MessageState `protogen:"open.v1"`
|
||||||
@ -13037,7 +13175,7 @@ type ListRoomOnlineUsersRequest struct {
|
|||||||
|
|
||||||
func (x *ListRoomOnlineUsersRequest) Reset() {
|
func (x *ListRoomOnlineUsersRequest) Reset() {
|
||||||
*x = ListRoomOnlineUsersRequest{}
|
*x = ListRoomOnlineUsersRequest{}
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[161]
|
mi := &file_proto_room_v1_room_proto_msgTypes[163]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -13049,7 +13187,7 @@ func (x *ListRoomOnlineUsersRequest) String() string {
|
|||||||
func (*ListRoomOnlineUsersRequest) ProtoMessage() {}
|
func (*ListRoomOnlineUsersRequest) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ListRoomOnlineUsersRequest) ProtoReflect() protoreflect.Message {
|
func (x *ListRoomOnlineUsersRequest) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[161]
|
mi := &file_proto_room_v1_room_proto_msgTypes[163]
|
||||||
if x != nil {
|
if x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -13062,7 +13200,7 @@ func (x *ListRoomOnlineUsersRequest) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ListRoomOnlineUsersRequest.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ListRoomOnlineUsersRequest.ProtoReflect.Descriptor instead.
|
||||||
func (*ListRoomOnlineUsersRequest) Descriptor() ([]byte, []int) {
|
func (*ListRoomOnlineUsersRequest) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{161}
|
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{163}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ListRoomOnlineUsersRequest) GetMeta() *RequestMeta {
|
func (x *ListRoomOnlineUsersRequest) GetMeta() *RequestMeta {
|
||||||
@ -13121,7 +13259,7 @@ type ListRoomOnlineUsersResponse struct {
|
|||||||
|
|
||||||
func (x *ListRoomOnlineUsersResponse) Reset() {
|
func (x *ListRoomOnlineUsersResponse) Reset() {
|
||||||
*x = ListRoomOnlineUsersResponse{}
|
*x = ListRoomOnlineUsersResponse{}
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[162]
|
mi := &file_proto_room_v1_room_proto_msgTypes[164]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -13133,7 +13271,7 @@ func (x *ListRoomOnlineUsersResponse) String() string {
|
|||||||
func (*ListRoomOnlineUsersResponse) ProtoMessage() {}
|
func (*ListRoomOnlineUsersResponse) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ListRoomOnlineUsersResponse) ProtoReflect() protoreflect.Message {
|
func (x *ListRoomOnlineUsersResponse) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[162]
|
mi := &file_proto_room_v1_room_proto_msgTypes[164]
|
||||||
if x != nil {
|
if x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -13146,7 +13284,7 @@ func (x *ListRoomOnlineUsersResponse) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ListRoomOnlineUsersResponse.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ListRoomOnlineUsersResponse.ProtoReflect.Descriptor instead.
|
||||||
func (*ListRoomOnlineUsersResponse) Descriptor() ([]byte, []int) {
|
func (*ListRoomOnlineUsersResponse) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{162}
|
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{164}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ListRoomOnlineUsersResponse) GetUsers() []*RoomUser {
|
func (x *ListRoomOnlineUsersResponse) GetUsers() []*RoomUser {
|
||||||
@ -13207,7 +13345,7 @@ type RoomBannedUser struct {
|
|||||||
|
|
||||||
func (x *RoomBannedUser) Reset() {
|
func (x *RoomBannedUser) Reset() {
|
||||||
*x = RoomBannedUser{}
|
*x = RoomBannedUser{}
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[163]
|
mi := &file_proto_room_v1_room_proto_msgTypes[165]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -13219,7 +13357,7 @@ func (x *RoomBannedUser) String() string {
|
|||||||
func (*RoomBannedUser) ProtoMessage() {}
|
func (*RoomBannedUser) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *RoomBannedUser) ProtoReflect() protoreflect.Message {
|
func (x *RoomBannedUser) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[163]
|
mi := &file_proto_room_v1_room_proto_msgTypes[165]
|
||||||
if x != nil {
|
if x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -13232,7 +13370,7 @@ func (x *RoomBannedUser) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use RoomBannedUser.ProtoReflect.Descriptor instead.
|
// Deprecated: Use RoomBannedUser.ProtoReflect.Descriptor instead.
|
||||||
func (*RoomBannedUser) Descriptor() ([]byte, []int) {
|
func (*RoomBannedUser) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{163}
|
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{165}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *RoomBannedUser) GetUserId() int64 {
|
func (x *RoomBannedUser) GetUserId() int64 {
|
||||||
@ -13291,7 +13429,7 @@ type ListRoomBannedUsersRequest struct {
|
|||||||
|
|
||||||
func (x *ListRoomBannedUsersRequest) Reset() {
|
func (x *ListRoomBannedUsersRequest) Reset() {
|
||||||
*x = ListRoomBannedUsersRequest{}
|
*x = ListRoomBannedUsersRequest{}
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[164]
|
mi := &file_proto_room_v1_room_proto_msgTypes[166]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -13303,7 +13441,7 @@ func (x *ListRoomBannedUsersRequest) String() string {
|
|||||||
func (*ListRoomBannedUsersRequest) ProtoMessage() {}
|
func (*ListRoomBannedUsersRequest) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ListRoomBannedUsersRequest) ProtoReflect() protoreflect.Message {
|
func (x *ListRoomBannedUsersRequest) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[164]
|
mi := &file_proto_room_v1_room_proto_msgTypes[166]
|
||||||
if x != nil {
|
if x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -13316,7 +13454,7 @@ func (x *ListRoomBannedUsersRequest) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ListRoomBannedUsersRequest.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ListRoomBannedUsersRequest.ProtoReflect.Descriptor instead.
|
||||||
func (*ListRoomBannedUsersRequest) Descriptor() ([]byte, []int) {
|
func (*ListRoomBannedUsersRequest) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{164}
|
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{166}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ListRoomBannedUsersRequest) GetMeta() *RequestMeta {
|
func (x *ListRoomBannedUsersRequest) GetMeta() *RequestMeta {
|
||||||
@ -13367,7 +13505,7 @@ type ListRoomBannedUsersResponse struct {
|
|||||||
|
|
||||||
func (x *ListRoomBannedUsersResponse) Reset() {
|
func (x *ListRoomBannedUsersResponse) Reset() {
|
||||||
*x = ListRoomBannedUsersResponse{}
|
*x = ListRoomBannedUsersResponse{}
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[165]
|
mi := &file_proto_room_v1_room_proto_msgTypes[167]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -13379,7 +13517,7 @@ func (x *ListRoomBannedUsersResponse) String() string {
|
|||||||
func (*ListRoomBannedUsersResponse) ProtoMessage() {}
|
func (*ListRoomBannedUsersResponse) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *ListRoomBannedUsersResponse) ProtoReflect() protoreflect.Message {
|
func (x *ListRoomBannedUsersResponse) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[165]
|
mi := &file_proto_room_v1_room_proto_msgTypes[167]
|
||||||
if x != nil {
|
if x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -13392,7 +13530,7 @@ func (x *ListRoomBannedUsersResponse) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use ListRoomBannedUsersResponse.ProtoReflect.Descriptor instead.
|
// Deprecated: Use ListRoomBannedUsersResponse.ProtoReflect.Descriptor instead.
|
||||||
func (*ListRoomBannedUsersResponse) Descriptor() ([]byte, []int) {
|
func (*ListRoomBannedUsersResponse) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{165}
|
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{167}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *ListRoomBannedUsersResponse) GetItems() []*RoomBannedUser {
|
func (x *ListRoomBannedUsersResponse) GetItems() []*RoomBannedUser {
|
||||||
@ -13443,7 +13581,7 @@ type FollowRoomRequest struct {
|
|||||||
|
|
||||||
func (x *FollowRoomRequest) Reset() {
|
func (x *FollowRoomRequest) Reset() {
|
||||||
*x = FollowRoomRequest{}
|
*x = FollowRoomRequest{}
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[166]
|
mi := &file_proto_room_v1_room_proto_msgTypes[168]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -13455,7 +13593,7 @@ func (x *FollowRoomRequest) String() string {
|
|||||||
func (*FollowRoomRequest) ProtoMessage() {}
|
func (*FollowRoomRequest) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *FollowRoomRequest) ProtoReflect() protoreflect.Message {
|
func (x *FollowRoomRequest) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[166]
|
mi := &file_proto_room_v1_room_proto_msgTypes[168]
|
||||||
if x != nil {
|
if x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -13468,7 +13606,7 @@ func (x *FollowRoomRequest) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use FollowRoomRequest.ProtoReflect.Descriptor instead.
|
// Deprecated: Use FollowRoomRequest.ProtoReflect.Descriptor instead.
|
||||||
func (*FollowRoomRequest) Descriptor() ([]byte, []int) {
|
func (*FollowRoomRequest) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{166}
|
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{168}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FollowRoomRequest) GetMeta() *RequestMeta {
|
func (x *FollowRoomRequest) GetMeta() *RequestMeta {
|
||||||
@ -13504,7 +13642,7 @@ type FollowRoomResponse struct {
|
|||||||
|
|
||||||
func (x *FollowRoomResponse) Reset() {
|
func (x *FollowRoomResponse) Reset() {
|
||||||
*x = FollowRoomResponse{}
|
*x = FollowRoomResponse{}
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[167]
|
mi := &file_proto_room_v1_room_proto_msgTypes[169]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -13516,7 +13654,7 @@ func (x *FollowRoomResponse) String() string {
|
|||||||
func (*FollowRoomResponse) ProtoMessage() {}
|
func (*FollowRoomResponse) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *FollowRoomResponse) ProtoReflect() protoreflect.Message {
|
func (x *FollowRoomResponse) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[167]
|
mi := &file_proto_room_v1_room_proto_msgTypes[169]
|
||||||
if x != nil {
|
if x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -13529,7 +13667,7 @@ func (x *FollowRoomResponse) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use FollowRoomResponse.ProtoReflect.Descriptor instead.
|
// Deprecated: Use FollowRoomResponse.ProtoReflect.Descriptor instead.
|
||||||
func (*FollowRoomResponse) Descriptor() ([]byte, []int) {
|
func (*FollowRoomResponse) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{167}
|
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{169}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *FollowRoomResponse) GetRoomId() string {
|
func (x *FollowRoomResponse) GetRoomId() string {
|
||||||
@ -13572,7 +13710,7 @@ type UnfollowRoomRequest struct {
|
|||||||
|
|
||||||
func (x *UnfollowRoomRequest) Reset() {
|
func (x *UnfollowRoomRequest) Reset() {
|
||||||
*x = UnfollowRoomRequest{}
|
*x = UnfollowRoomRequest{}
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[168]
|
mi := &file_proto_room_v1_room_proto_msgTypes[170]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -13584,7 +13722,7 @@ func (x *UnfollowRoomRequest) String() string {
|
|||||||
func (*UnfollowRoomRequest) ProtoMessage() {}
|
func (*UnfollowRoomRequest) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *UnfollowRoomRequest) ProtoReflect() protoreflect.Message {
|
func (x *UnfollowRoomRequest) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[168]
|
mi := &file_proto_room_v1_room_proto_msgTypes[170]
|
||||||
if x != nil {
|
if x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -13597,7 +13735,7 @@ func (x *UnfollowRoomRequest) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use UnfollowRoomRequest.ProtoReflect.Descriptor instead.
|
// Deprecated: Use UnfollowRoomRequest.ProtoReflect.Descriptor instead.
|
||||||
func (*UnfollowRoomRequest) Descriptor() ([]byte, []int) {
|
func (*UnfollowRoomRequest) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{168}
|
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{170}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *UnfollowRoomRequest) GetMeta() *RequestMeta {
|
func (x *UnfollowRoomRequest) GetMeta() *RequestMeta {
|
||||||
@ -13632,7 +13770,7 @@ type UnfollowRoomResponse struct {
|
|||||||
|
|
||||||
func (x *UnfollowRoomResponse) Reset() {
|
func (x *UnfollowRoomResponse) Reset() {
|
||||||
*x = UnfollowRoomResponse{}
|
*x = UnfollowRoomResponse{}
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[169]
|
mi := &file_proto_room_v1_room_proto_msgTypes[171]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -13644,7 +13782,7 @@ func (x *UnfollowRoomResponse) String() string {
|
|||||||
func (*UnfollowRoomResponse) ProtoMessage() {}
|
func (*UnfollowRoomResponse) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *UnfollowRoomResponse) ProtoReflect() protoreflect.Message {
|
func (x *UnfollowRoomResponse) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[169]
|
mi := &file_proto_room_v1_room_proto_msgTypes[171]
|
||||||
if x != nil {
|
if x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -13657,7 +13795,7 @@ func (x *UnfollowRoomResponse) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use UnfollowRoomResponse.ProtoReflect.Descriptor instead.
|
// Deprecated: Use UnfollowRoomResponse.ProtoReflect.Descriptor instead.
|
||||||
func (*UnfollowRoomResponse) Descriptor() ([]byte, []int) {
|
func (*UnfollowRoomResponse) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{169}
|
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{171}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *UnfollowRoomResponse) GetRoomId() string {
|
func (x *UnfollowRoomResponse) GetRoomId() string {
|
||||||
@ -13697,7 +13835,7 @@ type SendGiftLuckyHit struct {
|
|||||||
|
|
||||||
func (x *SendGiftLuckyHit) Reset() {
|
func (x *SendGiftLuckyHit) Reset() {
|
||||||
*x = SendGiftLuckyHit{}
|
*x = SendGiftLuckyHit{}
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[170]
|
mi := &file_proto_room_v1_room_proto_msgTypes[172]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -13709,7 +13847,7 @@ func (x *SendGiftLuckyHit) String() string {
|
|||||||
func (*SendGiftLuckyHit) ProtoMessage() {}
|
func (*SendGiftLuckyHit) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *SendGiftLuckyHit) ProtoReflect() protoreflect.Message {
|
func (x *SendGiftLuckyHit) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[170]
|
mi := &file_proto_room_v1_room_proto_msgTypes[172]
|
||||||
if x != nil {
|
if x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -13722,7 +13860,7 @@ func (x *SendGiftLuckyHit) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use SendGiftLuckyHit.ProtoReflect.Descriptor instead.
|
// Deprecated: Use SendGiftLuckyHit.ProtoReflect.Descriptor instead.
|
||||||
func (*SendGiftLuckyHit) Descriptor() ([]byte, []int) {
|
func (*SendGiftLuckyHit) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{170}
|
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{172}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *SendGiftLuckyHit) GetGiftIndex() int32 {
|
func (x *SendGiftLuckyHit) GetGiftIndex() int32 {
|
||||||
@ -13799,7 +13937,7 @@ type SendGiftResultV2 struct {
|
|||||||
|
|
||||||
func (x *SendGiftResultV2) Reset() {
|
func (x *SendGiftResultV2) Reset() {
|
||||||
*x = SendGiftResultV2{}
|
*x = SendGiftResultV2{}
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[171]
|
mi := &file_proto_room_v1_room_proto_msgTypes[173]
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
ms.StoreMessageInfo(mi)
|
ms.StoreMessageInfo(mi)
|
||||||
}
|
}
|
||||||
@ -13811,7 +13949,7 @@ func (x *SendGiftResultV2) String() string {
|
|||||||
func (*SendGiftResultV2) ProtoMessage() {}
|
func (*SendGiftResultV2) ProtoMessage() {}
|
||||||
|
|
||||||
func (x *SendGiftResultV2) ProtoReflect() protoreflect.Message {
|
func (x *SendGiftResultV2) ProtoReflect() protoreflect.Message {
|
||||||
mi := &file_proto_room_v1_room_proto_msgTypes[171]
|
mi := &file_proto_room_v1_room_proto_msgTypes[173]
|
||||||
if x != nil {
|
if x != nil {
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||||
if ms.LoadMessageInfo() == nil {
|
if ms.LoadMessageInfo() == nil {
|
||||||
@ -13824,7 +13962,7 @@ func (x *SendGiftResultV2) ProtoReflect() protoreflect.Message {
|
|||||||
|
|
||||||
// Deprecated: Use SendGiftResultV2.ProtoReflect.Descriptor instead.
|
// Deprecated: Use SendGiftResultV2.ProtoReflect.Descriptor instead.
|
||||||
func (*SendGiftResultV2) Descriptor() ([]byte, []int) {
|
func (*SendGiftResultV2) Descriptor() ([]byte, []int) {
|
||||||
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{171}
|
return file_proto_room_v1_room_proto_rawDescGZIP(), []int{173}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (x *SendGiftResultV2) GetApiVersion() int32 {
|
func (x *SendGiftResultV2) GetApiVersion() int32 {
|
||||||
@ -15119,7 +15257,18 @@ const file_proto_room_v1_room_proto_rawDesc = "" +
|
|||||||
"\x0eviewer_user_id\x18\x03 \x01(\x03R\fviewerUserId\"t\n" +
|
"\x0eviewer_user_id\x18\x03 \x01(\x03R\fviewerUserId\"t\n" +
|
||||||
"\x15GetRoomRocketResponse\x125\n" +
|
"\x15GetRoomRocketResponse\x125\n" +
|
||||||
"\x06rocket\x18\x01 \x01(\v2\x1d.hyapp.room.v1.RoomRocketInfoR\x06rocket\x12$\n" +
|
"\x06rocket\x18\x01 \x01(\v2\x1d.hyapp.room.v1.RoomRocketInfoR\x06rocket\x12$\n" +
|
||||||
"\x0eserver_time_ms\x18\x02 \x01(\x03R\fserverTimeMs\"\xd0\x01\n" +
|
"\x0eserver_time_ms\x18\x02 \x01(\x03R\fserverTimeMs\"\xe6\x01\n" +
|
||||||
|
"\x17ApplyRoomRPSGiftRequest\x12.\n" +
|
||||||
|
"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.room.v1.RequestMetaR\x04meta\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" +
|
||||||
|
"heat_value\x18\x06 \x01(\x03R\theatValue\"\x88\x01\n" +
|
||||||
|
"\x18ApplyRoomRPSGiftResponse\x124\n" +
|
||||||
|
"\x06result\x18\x01 \x01(\v2\x1c.hyapp.room.v1.CommandResultR\x06result\x126\n" +
|
||||||
|
"\x06rocket\x18\x02 \x01(\v2\x1e.hyapp.room.v1.RoomRocketStateR\x06rocket\"\xd0\x01\n" +
|
||||||
"\x1aListRoomOnlineUsersRequest\x12.\n" +
|
"\x1aListRoomOnlineUsersRequest\x12.\n" +
|
||||||
"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.room.v1.RequestMetaR\x04meta\x12\x17\n" +
|
"\x04meta\x18\x01 \x01(\v2\x1a.hyapp.room.v1.RequestMetaR\x04meta\x12\x17\n" +
|
||||||
"\aroom_id\x18\x02 \x01(\tR\x06roomId\x12$\n" +
|
"\aroom_id\x18\x02 \x01(\tR\x06roomId\x12$\n" +
|
||||||
@ -15203,7 +15352,7 @@ const file_proto_room_v1_room_proto_rawDesc = "" +
|
|||||||
"\rbatch_display\x18\x10 \x01(\v2#.hyapp.room.v1.SendGiftBatchDisplayR\fbatchDisplay\x12\x1b\n" +
|
"\rbatch_display\x18\x10 \x01(\v2#.hyapp.room.v1.SendGiftBatchDisplayR\fbatchDisplay\x12\x1b\n" +
|
||||||
"\troom_heat\x18\x11 \x01(\x03R\broomHeat\x124\n" +
|
"\troom_heat\x18\x11 \x01(\x03R\broomHeat\x124\n" +
|
||||||
"\tgift_rank\x18\x12 \x03(\v2\x17.hyapp.room.v1.RankItemR\bgiftRank\x12)\n" +
|
"\tgift_rank\x18\x12 \x03(\v2\x17.hyapp.room.v1.RankItemR\bgiftRank\x12)\n" +
|
||||||
"\x10operation_status\x18\x13 \x01(\tR\x0foperationStatus2\xfc\x1c\n" +
|
"\x10operation_status\x18\x13 \x01(\tR\x0foperationStatus2\xe1\x1d\n" +
|
||||||
"\x12RoomCommandService\x12Q\n" +
|
"\x12RoomCommandService\x12Q\n" +
|
||||||
"\n" +
|
"\n" +
|
||||||
"CreateRoom\x12 .hyapp.room.v1.CreateRoomRequest\x1a!.hyapp.room.v1.CreateRoomResponse\x12f\n" +
|
"CreateRoom\x12 .hyapp.room.v1.CreateRoomRequest\x1a!.hyapp.room.v1.CreateRoomResponse\x12f\n" +
|
||||||
@ -15242,7 +15391,8 @@ const file_proto_room_v1_room_proto_rawDesc = "" +
|
|||||||
"\bKickUser\x12\x1e.hyapp.room.v1.KickUserRequest\x1a\x1f.hyapp.room.v1.KickUserResponse\x12N\n" +
|
"\bKickUser\x12\x1e.hyapp.room.v1.KickUserRequest\x1a\x1f.hyapp.room.v1.KickUserResponse\x12N\n" +
|
||||||
"\tUnbanUser\x12\x1f.hyapp.room.v1.UnbanUserRequest\x1a .hyapp.room.v1.UnbanUserResponse\x12`\n" +
|
"\tUnbanUser\x12\x1f.hyapp.room.v1.UnbanUserRequest\x1a .hyapp.room.v1.UnbanUserResponse\x12`\n" +
|
||||||
"\x0fSystemEvictUser\x12%.hyapp.room.v1.SystemEvictUserRequest\x1a&.hyapp.room.v1.SystemEvictUserResponse\x12K\n" +
|
"\x0fSystemEvictUser\x12%.hyapp.room.v1.SystemEvictUserRequest\x1a&.hyapp.room.v1.SystemEvictUserResponse\x12K\n" +
|
||||||
"\bSendGift\x12\x1e.hyapp.room.v1.SendGiftRequest\x1a\x1f.hyapp.room.v1.SendGiftResponse\x12Q\n" +
|
"\bSendGift\x12\x1e.hyapp.room.v1.SendGiftRequest\x1a\x1f.hyapp.room.v1.SendGiftResponse\x12c\n" +
|
||||||
|
"\x10ApplyRoomRPSGift\x12&.hyapp.room.v1.ApplyRoomRPSGiftRequest\x1a'.hyapp.room.v1.ApplyRoomRPSGiftResponse\x12Q\n" +
|
||||||
"\n" +
|
"\n" +
|
||||||
"FollowRoom\x12 .hyapp.room.v1.FollowRoomRequest\x1a!.hyapp.room.v1.FollowRoomResponse\x12W\n" +
|
"FollowRoom\x12 .hyapp.room.v1.FollowRoomRequest\x1a!.hyapp.room.v1.FollowRoomResponse\x12W\n" +
|
||||||
"\fUnfollowRoom\x12\".hyapp.room.v1.UnfollowRoomRequest\x1a#.hyapp.room.v1.UnfollowRoomResponse2\xd0\x04\n" +
|
"\fUnfollowRoom\x12\".hyapp.room.v1.UnfollowRoomRequest\x1a#.hyapp.room.v1.UnfollowRoomResponse2\xd0\x04\n" +
|
||||||
@ -15287,7 +15437,7 @@ func file_proto_room_v1_room_proto_rawDescGZIP() []byte {
|
|||||||
return file_proto_room_v1_room_proto_rawDescData
|
return file_proto_room_v1_room_proto_rawDescData
|
||||||
}
|
}
|
||||||
|
|
||||||
var file_proto_room_v1_room_proto_msgTypes = make([]protoimpl.MessageInfo, 173)
|
var file_proto_room_v1_room_proto_msgTypes = make([]protoimpl.MessageInfo, 175)
|
||||||
var file_proto_room_v1_room_proto_goTypes = []any{
|
var file_proto_room_v1_room_proto_goTypes = []any{
|
||||||
(*RequestMeta)(nil), // 0: hyapp.room.v1.RequestMeta
|
(*RequestMeta)(nil), // 0: hyapp.room.v1.RequestMeta
|
||||||
(*CommandResult)(nil), // 1: hyapp.room.v1.CommandResult
|
(*CommandResult)(nil), // 1: hyapp.room.v1.CommandResult
|
||||||
@ -15450,21 +15600,23 @@ var file_proto_room_v1_room_proto_goTypes = []any{
|
|||||||
(*GetRoomSnapshotResponse)(nil), // 158: hyapp.room.v1.GetRoomSnapshotResponse
|
(*GetRoomSnapshotResponse)(nil), // 158: hyapp.room.v1.GetRoomSnapshotResponse
|
||||||
(*GetRoomRocketRequest)(nil), // 159: hyapp.room.v1.GetRoomRocketRequest
|
(*GetRoomRocketRequest)(nil), // 159: hyapp.room.v1.GetRoomRocketRequest
|
||||||
(*GetRoomRocketResponse)(nil), // 160: hyapp.room.v1.GetRoomRocketResponse
|
(*GetRoomRocketResponse)(nil), // 160: hyapp.room.v1.GetRoomRocketResponse
|
||||||
(*ListRoomOnlineUsersRequest)(nil), // 161: hyapp.room.v1.ListRoomOnlineUsersRequest
|
(*ApplyRoomRPSGiftRequest)(nil), // 161: hyapp.room.v1.ApplyRoomRPSGiftRequest
|
||||||
(*ListRoomOnlineUsersResponse)(nil), // 162: hyapp.room.v1.ListRoomOnlineUsersResponse
|
(*ApplyRoomRPSGiftResponse)(nil), // 162: hyapp.room.v1.ApplyRoomRPSGiftResponse
|
||||||
(*RoomBannedUser)(nil), // 163: hyapp.room.v1.RoomBannedUser
|
(*ListRoomOnlineUsersRequest)(nil), // 163: hyapp.room.v1.ListRoomOnlineUsersRequest
|
||||||
(*ListRoomBannedUsersRequest)(nil), // 164: hyapp.room.v1.ListRoomBannedUsersRequest
|
(*ListRoomOnlineUsersResponse)(nil), // 164: hyapp.room.v1.ListRoomOnlineUsersResponse
|
||||||
(*ListRoomBannedUsersResponse)(nil), // 165: hyapp.room.v1.ListRoomBannedUsersResponse
|
(*RoomBannedUser)(nil), // 165: hyapp.room.v1.RoomBannedUser
|
||||||
(*FollowRoomRequest)(nil), // 166: hyapp.room.v1.FollowRoomRequest
|
(*ListRoomBannedUsersRequest)(nil), // 166: hyapp.room.v1.ListRoomBannedUsersRequest
|
||||||
(*FollowRoomResponse)(nil), // 167: hyapp.room.v1.FollowRoomResponse
|
(*ListRoomBannedUsersResponse)(nil), // 167: hyapp.room.v1.ListRoomBannedUsersResponse
|
||||||
(*UnfollowRoomRequest)(nil), // 168: hyapp.room.v1.UnfollowRoomRequest
|
(*FollowRoomRequest)(nil), // 168: hyapp.room.v1.FollowRoomRequest
|
||||||
(*UnfollowRoomResponse)(nil), // 169: hyapp.room.v1.UnfollowRoomResponse
|
(*FollowRoomResponse)(nil), // 169: hyapp.room.v1.FollowRoomResponse
|
||||||
(*SendGiftLuckyHit)(nil), // 170: hyapp.room.v1.SendGiftLuckyHit
|
(*UnfollowRoomRequest)(nil), // 170: hyapp.room.v1.UnfollowRoomRequest
|
||||||
(*SendGiftResultV2)(nil), // 171: hyapp.room.v1.SendGiftResultV2
|
(*UnfollowRoomResponse)(nil), // 171: hyapp.room.v1.UnfollowRoomResponse
|
||||||
nil, // 172: hyapp.room.v1.RoomSnapshot.RoomExtEntry
|
(*SendGiftLuckyHit)(nil), // 172: hyapp.room.v1.SendGiftLuckyHit
|
||||||
|
(*SendGiftResultV2)(nil), // 173: hyapp.room.v1.SendGiftResultV2
|
||||||
|
nil, // 174: hyapp.room.v1.RoomSnapshot.RoomExtEntry
|
||||||
}
|
}
|
||||||
var file_proto_room_v1_room_proto_depIdxs = []int32{
|
var file_proto_room_v1_room_proto_depIdxs = []int32{
|
||||||
170, // 0: hyapp.room.v1.LuckyGiftDrawResult.hits:type_name -> hyapp.room.v1.SendGiftLuckyHit
|
172, // 0: hyapp.room.v1.LuckyGiftDrawResult.hits:type_name -> hyapp.room.v1.SendGiftLuckyHit
|
||||||
8, // 1: hyapp.room.v1.RoomRocketLevel.in_room_rewards:type_name -> hyapp.room.v1.RoomRocketRewardItem
|
8, // 1: hyapp.room.v1.RoomRocketLevel.in_room_rewards:type_name -> hyapp.room.v1.RoomRocketRewardItem
|
||||||
8, // 2: hyapp.room.v1.RoomRocketLevel.top1_rewards:type_name -> hyapp.room.v1.RoomRocketRewardItem
|
8, // 2: hyapp.room.v1.RoomRocketLevel.top1_rewards:type_name -> hyapp.room.v1.RoomRocketRewardItem
|
||||||
8, // 3: hyapp.room.v1.RoomRocketLevel.igniter_rewards:type_name -> hyapp.room.v1.RoomRocketRewardItem
|
8, // 3: hyapp.room.v1.RoomRocketLevel.igniter_rewards:type_name -> hyapp.room.v1.RoomRocketRewardItem
|
||||||
@ -15511,7 +15663,7 @@ var file_proto_room_v1_room_proto_depIdxs = []int32{
|
|||||||
4, // 44: hyapp.room.v1.RoomSnapshot.mic_seats:type_name -> hyapp.room.v1.SeatState
|
4, // 44: hyapp.room.v1.RoomSnapshot.mic_seats:type_name -> hyapp.room.v1.SeatState
|
||||||
2, // 45: hyapp.room.v1.RoomSnapshot.online_users:type_name -> hyapp.room.v1.RoomUser
|
2, // 45: hyapp.room.v1.RoomSnapshot.online_users:type_name -> hyapp.room.v1.RoomUser
|
||||||
5, // 46: hyapp.room.v1.RoomSnapshot.gift_rank:type_name -> hyapp.room.v1.RankItem
|
5, // 46: hyapp.room.v1.RoomSnapshot.gift_rank:type_name -> hyapp.room.v1.RankItem
|
||||||
172, // 47: hyapp.room.v1.RoomSnapshot.room_ext:type_name -> hyapp.room.v1.RoomSnapshot.RoomExtEntry
|
174, // 47: hyapp.room.v1.RoomSnapshot.room_ext:type_name -> hyapp.room.v1.RoomSnapshot.RoomExtEntry
|
||||||
13, // 48: hyapp.room.v1.RoomSnapshot.rocket:type_name -> hyapp.room.v1.RoomRocketState
|
13, // 48: hyapp.room.v1.RoomSnapshot.rocket:type_name -> hyapp.room.v1.RoomRocketState
|
||||||
53, // 49: hyapp.room.v1.RoomSnapshot.ban_states:type_name -> hyapp.room.v1.RoomBanState
|
53, // 49: hyapp.room.v1.RoomSnapshot.ban_states:type_name -> hyapp.room.v1.RoomBanState
|
||||||
63, // 50: hyapp.room.v1.RoomSnapshot.room_border:type_name -> hyapp.room.v1.RoomDecorationResource
|
63, // 50: hyapp.room.v1.RoomSnapshot.room_border:type_name -> hyapp.room.v1.RoomDecorationResource
|
||||||
@ -15637,7 +15789,7 @@ var file_proto_room_v1_room_proto_depIdxs = []int32{
|
|||||||
7, // 170: hyapp.room.v1.SendGiftResponse.lucky_gift:type_name -> hyapp.room.v1.LuckyGiftDrawResult
|
7, // 170: hyapp.room.v1.SendGiftResponse.lucky_gift:type_name -> hyapp.room.v1.LuckyGiftDrawResult
|
||||||
7, // 171: hyapp.room.v1.SendGiftResponse.lucky_gifts:type_name -> hyapp.room.v1.LuckyGiftDrawResult
|
7, // 171: hyapp.room.v1.SendGiftResponse.lucky_gifts:type_name -> hyapp.room.v1.LuckyGiftDrawResult
|
||||||
129, // 172: hyapp.room.v1.SendGiftResponse.batch_display:type_name -> hyapp.room.v1.SendGiftBatchDisplay
|
129, // 172: hyapp.room.v1.SendGiftResponse.batch_display:type_name -> hyapp.room.v1.SendGiftBatchDisplay
|
||||||
171, // 173: hyapp.room.v1.SendGiftResponse.v2:type_name -> hyapp.room.v1.SendGiftResultV2
|
173, // 173: hyapp.room.v1.SendGiftResponse.v2:type_name -> hyapp.room.v1.SendGiftResultV2
|
||||||
0, // 174: hyapp.room.v1.ListRoomsRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
0, // 174: hyapp.room.v1.ListRoomsRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
||||||
0, // 175: hyapp.room.v1.ListRoomsByOwnersRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
0, // 175: hyapp.room.v1.ListRoomsByOwnersRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
||||||
0, // 176: hyapp.room.v1.ListRoomFeedsRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
0, // 176: hyapp.room.v1.ListRoomFeedsRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
||||||
@ -15660,151 +15812,156 @@ var file_proto_room_v1_room_proto_depIdxs = []int32{
|
|||||||
54, // 193: hyapp.room.v1.GetRoomSnapshotResponse.room:type_name -> hyapp.room.v1.RoomSnapshot
|
54, // 193: hyapp.room.v1.GetRoomSnapshotResponse.room:type_name -> hyapp.room.v1.RoomSnapshot
|
||||||
0, // 194: hyapp.room.v1.GetRoomRocketRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
0, // 194: hyapp.room.v1.GetRoomRocketRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
||||||
14, // 195: hyapp.room.v1.GetRoomRocketResponse.rocket:type_name -> hyapp.room.v1.RoomRocketInfo
|
14, // 195: hyapp.room.v1.GetRoomRocketResponse.rocket:type_name -> hyapp.room.v1.RoomRocketInfo
|
||||||
0, // 196: hyapp.room.v1.ListRoomOnlineUsersRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
0, // 196: hyapp.room.v1.ApplyRoomRPSGiftRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
||||||
2, // 197: hyapp.room.v1.ListRoomOnlineUsersResponse.users:type_name -> hyapp.room.v1.RoomUser
|
1, // 197: hyapp.room.v1.ApplyRoomRPSGiftResponse.result:type_name -> hyapp.room.v1.CommandResult
|
||||||
3, // 198: hyapp.room.v1.ListRoomOnlineUsersResponse.items:type_name -> hyapp.room.v1.RoomOnlineUser
|
13, // 198: hyapp.room.v1.ApplyRoomRPSGiftResponse.rocket:type_name -> hyapp.room.v1.RoomRocketState
|
||||||
0, // 199: hyapp.room.v1.ListRoomBannedUsersRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
0, // 199: hyapp.room.v1.ListRoomOnlineUsersRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
||||||
163, // 200: hyapp.room.v1.ListRoomBannedUsersResponse.items:type_name -> hyapp.room.v1.RoomBannedUser
|
2, // 200: hyapp.room.v1.ListRoomOnlineUsersResponse.users:type_name -> hyapp.room.v1.RoomUser
|
||||||
0, // 201: hyapp.room.v1.FollowRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
3, // 201: hyapp.room.v1.ListRoomOnlineUsersResponse.items:type_name -> hyapp.room.v1.RoomOnlineUser
|
||||||
0, // 202: hyapp.room.v1.UnfollowRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
0, // 202: hyapp.room.v1.ListRoomBannedUsersRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
||||||
7, // 203: hyapp.room.v1.SendGiftResultV2.lucky_gift:type_name -> hyapp.room.v1.LuckyGiftDrawResult
|
165, // 203: hyapp.room.v1.ListRoomBannedUsersResponse.items:type_name -> hyapp.room.v1.RoomBannedUser
|
||||||
7, // 204: hyapp.room.v1.SendGiftResultV2.lucky_gifts:type_name -> hyapp.room.v1.LuckyGiftDrawResult
|
0, // 204: hyapp.room.v1.FollowRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
||||||
170, // 205: hyapp.room.v1.SendGiftResultV2.lucky_hits:type_name -> hyapp.room.v1.SendGiftLuckyHit
|
0, // 205: hyapp.room.v1.UnfollowRoomRequest.meta:type_name -> hyapp.room.v1.RequestMeta
|
||||||
129, // 206: hyapp.room.v1.SendGiftResultV2.batch_display:type_name -> hyapp.room.v1.SendGiftBatchDisplay
|
7, // 206: hyapp.room.v1.SendGiftResultV2.lucky_gift:type_name -> hyapp.room.v1.LuckyGiftDrawResult
|
||||||
5, // 207: hyapp.room.v1.SendGiftResultV2.gift_rank:type_name -> hyapp.room.v1.RankItem
|
7, // 207: hyapp.room.v1.SendGiftResultV2.lucky_gifts:type_name -> hyapp.room.v1.LuckyGiftDrawResult
|
||||||
72, // 208: hyapp.room.v1.RoomCommandService.CreateRoom:input_type -> hyapp.room.v1.CreateRoomRequest
|
172, // 208: hyapp.room.v1.SendGiftResultV2.lucky_hits:type_name -> hyapp.room.v1.SendGiftLuckyHit
|
||||||
74, // 209: hyapp.room.v1.RoomCommandService.UpdateRoomProfile:input_type -> hyapp.room.v1.UpdateRoomProfileRequest
|
129, // 209: hyapp.room.v1.SendGiftResultV2.batch_display:type_name -> hyapp.room.v1.SendGiftBatchDisplay
|
||||||
57, // 210: hyapp.room.v1.RoomCommandService.SaveRoomBackground:input_type -> hyapp.room.v1.SaveRoomBackgroundRequest
|
5, // 210: hyapp.room.v1.SendGiftResultV2.gift_rank:type_name -> hyapp.room.v1.RankItem
|
||||||
61, // 211: hyapp.room.v1.RoomCommandService.SetRoomBackground:input_type -> hyapp.room.v1.SetRoomBackgroundRequest
|
72, // 211: hyapp.room.v1.RoomCommandService.CreateRoom:input_type -> hyapp.room.v1.CreateRoomRequest
|
||||||
64, // 212: hyapp.room.v1.RoomCommandService.ApplyRoomDecoration:input_type -> hyapp.room.v1.ApplyRoomDecorationRequest
|
74, // 212: hyapp.room.v1.RoomCommandService.UpdateRoomProfile:input_type -> hyapp.room.v1.UpdateRoomProfileRequest
|
||||||
70, // 213: hyapp.room.v1.RoomCommandService.SendRoomImage:input_type -> hyapp.room.v1.SendRoomImageRequest
|
57, // 213: hyapp.room.v1.RoomCommandService.SaveRoomBackground:input_type -> hyapp.room.v1.SaveRoomBackgroundRequest
|
||||||
78, // 214: hyapp.room.v1.RoomCommandService.JoinRoom:input_type -> hyapp.room.v1.JoinRoomRequest
|
61, // 214: hyapp.room.v1.RoomCommandService.SetRoomBackground:input_type -> hyapp.room.v1.SetRoomBackgroundRequest
|
||||||
81, // 215: hyapp.room.v1.RoomCommandService.RoomHeartbeat:input_type -> hyapp.room.v1.RoomHeartbeatRequest
|
64, // 215: hyapp.room.v1.RoomCommandService.ApplyRoomDecoration:input_type -> hyapp.room.v1.ApplyRoomDecorationRequest
|
||||||
83, // 216: hyapp.room.v1.RoomCommandService.LeaveRoom:input_type -> hyapp.room.v1.LeaveRoomRequest
|
70, // 216: hyapp.room.v1.RoomCommandService.SendRoomImage:input_type -> hyapp.room.v1.SendRoomImageRequest
|
||||||
85, // 217: hyapp.room.v1.RoomCommandService.CloseRoom:input_type -> hyapp.room.v1.CloseRoomRequest
|
78, // 217: hyapp.room.v1.RoomCommandService.JoinRoom:input_type -> hyapp.room.v1.JoinRoomRequest
|
||||||
92, // 218: hyapp.room.v1.RoomCommandService.AdminUpdateRoom:input_type -> hyapp.room.v1.AdminUpdateRoomRequest
|
81, // 218: hyapp.room.v1.RoomCommandService.RoomHeartbeat:input_type -> hyapp.room.v1.RoomHeartbeatRequest
|
||||||
94, // 219: hyapp.room.v1.RoomCommandService.AdminDeleteRoom:input_type -> hyapp.room.v1.AdminDeleteRoomRequest
|
83, // 219: hyapp.room.v1.RoomCommandService.LeaveRoom:input_type -> hyapp.room.v1.LeaveRoomRequest
|
||||||
19, // 220: hyapp.room.v1.RoomCommandService.AdminUpdateRoomRocketConfig:input_type -> hyapp.room.v1.AdminUpdateRoomRocketConfigRequest
|
85, // 220: hyapp.room.v1.RoomCommandService.CloseRoom:input_type -> hyapp.room.v1.CloseRoomRequest
|
||||||
24, // 221: hyapp.room.v1.RoomCommandService.AdminUpdateRoomSeatConfig:input_type -> hyapp.room.v1.AdminUpdateRoomSeatConfigRequest
|
92, // 221: hyapp.room.v1.RoomCommandService.AdminUpdateRoom:input_type -> hyapp.room.v1.AdminUpdateRoomRequest
|
||||||
31, // 222: hyapp.room.v1.RoomCommandService.AdminUpdateHumanRoomRobotConfig:input_type -> hyapp.room.v1.AdminUpdateHumanRoomRobotConfigRequest
|
94, // 222: hyapp.room.v1.RoomCommandService.AdminDeleteRoom:input_type -> hyapp.room.v1.AdminDeleteRoomRequest
|
||||||
37, // 223: hyapp.room.v1.RoomCommandService.AdminCreateRoomPin:input_type -> hyapp.room.v1.AdminCreateRoomPinRequest
|
19, // 223: hyapp.room.v1.RoomCommandService.AdminUpdateRoomRocketConfig:input_type -> hyapp.room.v1.AdminUpdateRoomRocketConfigRequest
|
||||||
39, // 224: hyapp.room.v1.RoomCommandService.AdminCancelRoomPin:input_type -> hyapp.room.v1.AdminCancelRoomPinRequest
|
24, // 224: hyapp.room.v1.RoomCommandService.AdminUpdateRoomSeatConfig:input_type -> hyapp.room.v1.AdminUpdateRoomSeatConfigRequest
|
||||||
45, // 225: hyapp.room.v1.RoomCommandService.AdminCreateRobotRoom:input_type -> hyapp.room.v1.AdminCreateRobotRoomRequest
|
31, // 225: hyapp.room.v1.RoomCommandService.AdminUpdateHumanRoomRobotConfig:input_type -> hyapp.room.v1.AdminUpdateHumanRoomRobotConfigRequest
|
||||||
47, // 226: hyapp.room.v1.RoomCommandService.AdminSetRobotRoomStatus:input_type -> hyapp.room.v1.AdminSetRobotRoomStatusRequest
|
37, // 226: hyapp.room.v1.RoomCommandService.AdminCreateRoomPin:input_type -> hyapp.room.v1.AdminCreateRoomPinRequest
|
||||||
49, // 227: hyapp.room.v1.RoomCommandService.AdminRenameOwnerCountryCode:input_type -> hyapp.room.v1.AdminRenameOwnerCountryCodeRequest
|
39, // 227: hyapp.room.v1.RoomCommandService.AdminCancelRoomPin:input_type -> hyapp.room.v1.AdminCancelRoomPinRequest
|
||||||
96, // 228: hyapp.room.v1.RoomCommandService.MicUp:input_type -> hyapp.room.v1.MicUpRequest
|
45, // 228: hyapp.room.v1.RoomCommandService.AdminCreateRobotRoom:input_type -> hyapp.room.v1.AdminCreateRobotRoomRequest
|
||||||
98, // 229: hyapp.room.v1.RoomCommandService.MicDown:input_type -> hyapp.room.v1.MicDownRequest
|
47, // 229: hyapp.room.v1.RoomCommandService.AdminSetRobotRoomStatus:input_type -> hyapp.room.v1.AdminSetRobotRoomStatusRequest
|
||||||
100, // 230: hyapp.room.v1.RoomCommandService.ChangeMicSeat:input_type -> hyapp.room.v1.ChangeMicSeatRequest
|
49, // 230: hyapp.room.v1.RoomCommandService.AdminRenameOwnerCountryCode:input_type -> hyapp.room.v1.AdminRenameOwnerCountryCodeRequest
|
||||||
102, // 231: hyapp.room.v1.RoomCommandService.ConfirmMicPublishing:input_type -> hyapp.room.v1.ConfirmMicPublishingRequest
|
96, // 231: hyapp.room.v1.RoomCommandService.MicUp:input_type -> hyapp.room.v1.MicUpRequest
|
||||||
104, // 232: hyapp.room.v1.RoomCommandService.MicHeartbeat:input_type -> hyapp.room.v1.MicHeartbeatRequest
|
98, // 232: hyapp.room.v1.RoomCommandService.MicDown:input_type -> hyapp.room.v1.MicDownRequest
|
||||||
106, // 233: hyapp.room.v1.RoomCommandService.SetMicMute:input_type -> hyapp.room.v1.SetMicMuteRequest
|
100, // 233: hyapp.room.v1.RoomCommandService.ChangeMicSeat:input_type -> hyapp.room.v1.ChangeMicSeatRequest
|
||||||
108, // 234: hyapp.room.v1.RoomCommandService.ApplyRTCEvent:input_type -> hyapp.room.v1.ApplyRTCEventRequest
|
102, // 234: hyapp.room.v1.RoomCommandService.ConfirmMicPublishing:input_type -> hyapp.room.v1.ConfirmMicPublishingRequest
|
||||||
110, // 235: hyapp.room.v1.RoomCommandService.SetMicSeatLock:input_type -> hyapp.room.v1.SetMicSeatLockRequest
|
104, // 235: hyapp.room.v1.RoomCommandService.MicHeartbeat:input_type -> hyapp.room.v1.MicHeartbeatRequest
|
||||||
112, // 236: hyapp.room.v1.RoomCommandService.SetChatEnabled:input_type -> hyapp.room.v1.SetChatEnabledRequest
|
106, // 236: hyapp.room.v1.RoomCommandService.SetMicMute:input_type -> hyapp.room.v1.SetMicMuteRequest
|
||||||
114, // 237: hyapp.room.v1.RoomCommandService.SetRoomPassword:input_type -> hyapp.room.v1.SetRoomPasswordRequest
|
108, // 237: hyapp.room.v1.RoomCommandService.ApplyRTCEvent:input_type -> hyapp.room.v1.ApplyRTCEventRequest
|
||||||
116, // 238: hyapp.room.v1.RoomCommandService.SetRoomAdmin:input_type -> hyapp.room.v1.SetRoomAdminRequest
|
110, // 238: hyapp.room.v1.RoomCommandService.SetMicSeatLock:input_type -> hyapp.room.v1.SetMicSeatLockRequest
|
||||||
118, // 239: hyapp.room.v1.RoomCommandService.MuteUser:input_type -> hyapp.room.v1.MuteUserRequest
|
112, // 239: hyapp.room.v1.RoomCommandService.SetChatEnabled:input_type -> hyapp.room.v1.SetChatEnabledRequest
|
||||||
120, // 240: hyapp.room.v1.RoomCommandService.KickUser:input_type -> hyapp.room.v1.KickUserRequest
|
114, // 240: hyapp.room.v1.RoomCommandService.SetRoomPassword:input_type -> hyapp.room.v1.SetRoomPasswordRequest
|
||||||
122, // 241: hyapp.room.v1.RoomCommandService.UnbanUser:input_type -> hyapp.room.v1.UnbanUserRequest
|
116, // 241: hyapp.room.v1.RoomCommandService.SetRoomAdmin:input_type -> hyapp.room.v1.SetRoomAdminRequest
|
||||||
124, // 242: hyapp.room.v1.RoomCommandService.SystemEvictUser:input_type -> hyapp.room.v1.SystemEvictUserRequest
|
118, // 242: hyapp.room.v1.RoomCommandService.MuteUser:input_type -> hyapp.room.v1.MuteUserRequest
|
||||||
130, // 243: hyapp.room.v1.RoomCommandService.SendGift:input_type -> hyapp.room.v1.SendGiftRequest
|
120, // 243: hyapp.room.v1.RoomCommandService.KickUser:input_type -> hyapp.room.v1.KickUserRequest
|
||||||
166, // 244: hyapp.room.v1.RoomCommandService.FollowRoom:input_type -> hyapp.room.v1.FollowRoomRequest
|
122, // 244: hyapp.room.v1.RoomCommandService.UnbanUser:input_type -> hyapp.room.v1.UnbanUserRequest
|
||||||
168, // 245: hyapp.room.v1.RoomCommandService.UnfollowRoom:input_type -> hyapp.room.v1.UnfollowRoomRequest
|
124, // 245: hyapp.room.v1.RoomCommandService.SystemEvictUser:input_type -> hyapp.room.v1.SystemEvictUserRequest
|
||||||
132, // 246: hyapp.room.v1.RoomGuardService.CheckSpeakPermission:input_type -> hyapp.room.v1.CheckSpeakPermissionRequest
|
130, // 246: hyapp.room.v1.RoomCommandService.SendGift:input_type -> hyapp.room.v1.SendGiftRequest
|
||||||
134, // 247: hyapp.room.v1.RoomGuardService.VerifyRoomPresence:input_type -> hyapp.room.v1.VerifyRoomPresenceRequest
|
161, // 247: hyapp.room.v1.RoomCommandService.ApplyRoomRPSGift:input_type -> hyapp.room.v1.ApplyRoomRPSGiftRequest
|
||||||
136, // 248: hyapp.room.v1.RoomGuardService.ResolveRoomAppCode:input_type -> hyapp.room.v1.ResolveRoomAppCodeRequest
|
168, // 248: hyapp.room.v1.RoomCommandService.FollowRoom:input_type -> hyapp.room.v1.FollowRoomRequest
|
||||||
66, // 249: hyapp.room.v1.RoomGuardService.AuthorizeRoomMediaUpload:input_type -> hyapp.room.v1.AuthorizeRoomMediaUploadRequest
|
170, // 249: hyapp.room.v1.RoomCommandService.UnfollowRoom:input_type -> hyapp.room.v1.UnfollowRoomRequest
|
||||||
68, // 250: hyapp.room.v1.RoomGuardService.CompleteRoomMediaUpload:input_type -> hyapp.room.v1.CompleteRoomMediaUploadRequest
|
132, // 250: hyapp.room.v1.RoomGuardService.CheckSpeakPermission:input_type -> hyapp.room.v1.CheckSpeakPermissionRequest
|
||||||
88, // 251: hyapp.room.v1.RoomQueryService.AdminListRooms:input_type -> hyapp.room.v1.AdminListRoomsRequest
|
134, // 251: hyapp.room.v1.RoomGuardService.VerifyRoomPresence:input_type -> hyapp.room.v1.VerifyRoomPresenceRequest
|
||||||
90, // 252: hyapp.room.v1.RoomQueryService.AdminGetRoom:input_type -> hyapp.room.v1.AdminGetRoomRequest
|
136, // 252: hyapp.room.v1.RoomGuardService.ResolveRoomAppCode:input_type -> hyapp.room.v1.ResolveRoomAppCodeRequest
|
||||||
17, // 253: hyapp.room.v1.RoomQueryService.AdminGetRoomRocketConfig:input_type -> hyapp.room.v1.AdminGetRoomRocketConfigRequest
|
66, // 253: hyapp.room.v1.RoomGuardService.AuthorizeRoomMediaUpload:input_type -> hyapp.room.v1.AuthorizeRoomMediaUploadRequest
|
||||||
22, // 254: hyapp.room.v1.RoomQueryService.AdminGetRoomSeatConfig:input_type -> hyapp.room.v1.AdminGetRoomSeatConfigRequest
|
68, // 254: hyapp.room.v1.RoomGuardService.CompleteRoomMediaUpload:input_type -> hyapp.room.v1.CompleteRoomMediaUploadRequest
|
||||||
29, // 255: hyapp.room.v1.RoomQueryService.AdminGetHumanRoomRobotConfig:input_type -> hyapp.room.v1.AdminGetHumanRoomRobotConfigRequest
|
88, // 255: hyapp.room.v1.RoomQueryService.AdminListRooms:input_type -> hyapp.room.v1.AdminListRoomsRequest
|
||||||
35, // 256: hyapp.room.v1.RoomQueryService.AdminListRoomPins:input_type -> hyapp.room.v1.AdminListRoomPinsRequest
|
90, // 256: hyapp.room.v1.RoomQueryService.AdminGetRoom:input_type -> hyapp.room.v1.AdminGetRoomRequest
|
||||||
43, // 257: hyapp.room.v1.RoomQueryService.AdminListRobotRooms:input_type -> hyapp.room.v1.AdminListRobotRoomsRequest
|
17, // 257: hyapp.room.v1.RoomQueryService.AdminGetRoomRocketConfig:input_type -> hyapp.room.v1.AdminGetRoomRocketConfigRequest
|
||||||
51, // 258: hyapp.room.v1.RoomQueryService.AdminFilterAvailableRoomRobots:input_type -> hyapp.room.v1.AdminFilterAvailableRoomRobotsRequest
|
22, // 258: hyapp.room.v1.RoomQueryService.AdminGetRoomSeatConfig:input_type -> hyapp.room.v1.AdminGetRoomSeatConfigRequest
|
||||||
138, // 259: hyapp.room.v1.RoomQueryService.ListRooms:input_type -> hyapp.room.v1.ListRoomsRequest
|
29, // 259: hyapp.room.v1.RoomQueryService.AdminGetHumanRoomRobotConfig:input_type -> hyapp.room.v1.AdminGetHumanRoomRobotConfigRequest
|
||||||
139, // 260: hyapp.room.v1.RoomQueryService.ListRoomsByOwners:input_type -> hyapp.room.v1.ListRoomsByOwnersRequest
|
35, // 260: hyapp.room.v1.RoomQueryService.AdminListRoomPins:input_type -> hyapp.room.v1.AdminListRoomPinsRequest
|
||||||
140, // 261: hyapp.room.v1.RoomQueryService.ListRoomFeeds:input_type -> hyapp.room.v1.ListRoomFeedsRequest
|
43, // 261: hyapp.room.v1.RoomQueryService.AdminListRobotRooms:input_type -> hyapp.room.v1.AdminListRobotRoomsRequest
|
||||||
141, // 262: hyapp.room.v1.RoomQueryService.ListRoomGiftLeaderboard:input_type -> hyapp.room.v1.ListRoomGiftLeaderboardRequest
|
51, // 262: hyapp.room.v1.RoomQueryService.AdminFilterAvailableRoomRobots:input_type -> hyapp.room.v1.AdminFilterAvailableRoomRobotsRequest
|
||||||
147, // 263: hyapp.room.v1.RoomQueryService.ListRoomContributionRank:input_type -> hyapp.room.v1.ListRoomContributionRankRequest
|
138, // 263: hyapp.room.v1.RoomQueryService.ListRooms:input_type -> hyapp.room.v1.ListRoomsRequest
|
||||||
149, // 264: hyapp.room.v1.RoomQueryService.GetMyRoom:input_type -> hyapp.room.v1.GetMyRoomRequest
|
139, // 264: hyapp.room.v1.RoomQueryService.ListRoomsByOwners:input_type -> hyapp.room.v1.ListRoomsByOwnersRequest
|
||||||
151, // 265: hyapp.room.v1.RoomQueryService.GetCurrentRoom:input_type -> hyapp.room.v1.GetCurrentRoomRequest
|
140, // 265: hyapp.room.v1.RoomQueryService.ListRoomFeeds:input_type -> hyapp.room.v1.ListRoomFeedsRequest
|
||||||
153, // 266: hyapp.room.v1.RoomQueryService.BatchGetUserVoiceRoomPresences:input_type -> hyapp.room.v1.BatchGetUserVoiceRoomPresencesRequest
|
141, // 266: hyapp.room.v1.RoomQueryService.ListRoomGiftLeaderboard:input_type -> hyapp.room.v1.ListRoomGiftLeaderboardRequest
|
||||||
157, // 267: hyapp.room.v1.RoomQueryService.GetRoomSnapshot:input_type -> hyapp.room.v1.GetRoomSnapshotRequest
|
147, // 267: hyapp.room.v1.RoomQueryService.ListRoomContributionRank:input_type -> hyapp.room.v1.ListRoomContributionRankRequest
|
||||||
59, // 268: hyapp.room.v1.RoomQueryService.ListRoomBackgrounds:input_type -> hyapp.room.v1.ListRoomBackgroundsRequest
|
149, // 268: hyapp.room.v1.RoomQueryService.GetMyRoom:input_type -> hyapp.room.v1.GetMyRoomRequest
|
||||||
159, // 269: hyapp.room.v1.RoomQueryService.GetRoomRocket:input_type -> hyapp.room.v1.GetRoomRocketRequest
|
151, // 269: hyapp.room.v1.RoomQueryService.GetCurrentRoom:input_type -> hyapp.room.v1.GetCurrentRoomRequest
|
||||||
161, // 270: hyapp.room.v1.RoomQueryService.ListRoomOnlineUsers:input_type -> hyapp.room.v1.ListRoomOnlineUsersRequest
|
153, // 270: hyapp.room.v1.RoomQueryService.BatchGetUserVoiceRoomPresences:input_type -> hyapp.room.v1.BatchGetUserVoiceRoomPresencesRequest
|
||||||
164, // 271: hyapp.room.v1.RoomQueryService.ListRoomBannedUsers:input_type -> hyapp.room.v1.ListRoomBannedUsersRequest
|
157, // 271: hyapp.room.v1.RoomQueryService.GetRoomSnapshot:input_type -> hyapp.room.v1.GetRoomSnapshotRequest
|
||||||
73, // 272: hyapp.room.v1.RoomCommandService.CreateRoom:output_type -> hyapp.room.v1.CreateRoomResponse
|
59, // 272: hyapp.room.v1.RoomQueryService.ListRoomBackgrounds:input_type -> hyapp.room.v1.ListRoomBackgroundsRequest
|
||||||
75, // 273: hyapp.room.v1.RoomCommandService.UpdateRoomProfile:output_type -> hyapp.room.v1.UpdateRoomProfileResponse
|
159, // 273: hyapp.room.v1.RoomQueryService.GetRoomRocket:input_type -> hyapp.room.v1.GetRoomRocketRequest
|
||||||
58, // 274: hyapp.room.v1.RoomCommandService.SaveRoomBackground:output_type -> hyapp.room.v1.SaveRoomBackgroundResponse
|
163, // 274: hyapp.room.v1.RoomQueryService.ListRoomOnlineUsers:input_type -> hyapp.room.v1.ListRoomOnlineUsersRequest
|
||||||
62, // 275: hyapp.room.v1.RoomCommandService.SetRoomBackground:output_type -> hyapp.room.v1.SetRoomBackgroundResponse
|
166, // 275: hyapp.room.v1.RoomQueryService.ListRoomBannedUsers:input_type -> hyapp.room.v1.ListRoomBannedUsersRequest
|
||||||
65, // 276: hyapp.room.v1.RoomCommandService.ApplyRoomDecoration:output_type -> hyapp.room.v1.ApplyRoomDecorationResponse
|
73, // 276: hyapp.room.v1.RoomCommandService.CreateRoom:output_type -> hyapp.room.v1.CreateRoomResponse
|
||||||
71, // 277: hyapp.room.v1.RoomCommandService.SendRoomImage:output_type -> hyapp.room.v1.SendRoomImageResponse
|
75, // 277: hyapp.room.v1.RoomCommandService.UpdateRoomProfile:output_type -> hyapp.room.v1.UpdateRoomProfileResponse
|
||||||
80, // 278: hyapp.room.v1.RoomCommandService.JoinRoom:output_type -> hyapp.room.v1.JoinRoomResponse
|
58, // 278: hyapp.room.v1.RoomCommandService.SaveRoomBackground:output_type -> hyapp.room.v1.SaveRoomBackgroundResponse
|
||||||
82, // 279: hyapp.room.v1.RoomCommandService.RoomHeartbeat:output_type -> hyapp.room.v1.RoomHeartbeatResponse
|
62, // 279: hyapp.room.v1.RoomCommandService.SetRoomBackground:output_type -> hyapp.room.v1.SetRoomBackgroundResponse
|
||||||
84, // 280: hyapp.room.v1.RoomCommandService.LeaveRoom:output_type -> hyapp.room.v1.LeaveRoomResponse
|
65, // 280: hyapp.room.v1.RoomCommandService.ApplyRoomDecoration:output_type -> hyapp.room.v1.ApplyRoomDecorationResponse
|
||||||
86, // 281: hyapp.room.v1.RoomCommandService.CloseRoom:output_type -> hyapp.room.v1.CloseRoomResponse
|
71, // 281: hyapp.room.v1.RoomCommandService.SendRoomImage:output_type -> hyapp.room.v1.SendRoomImageResponse
|
||||||
93, // 282: hyapp.room.v1.RoomCommandService.AdminUpdateRoom:output_type -> hyapp.room.v1.AdminUpdateRoomResponse
|
80, // 282: hyapp.room.v1.RoomCommandService.JoinRoom:output_type -> hyapp.room.v1.JoinRoomResponse
|
||||||
95, // 283: hyapp.room.v1.RoomCommandService.AdminDeleteRoom:output_type -> hyapp.room.v1.AdminDeleteRoomResponse
|
82, // 283: hyapp.room.v1.RoomCommandService.RoomHeartbeat:output_type -> hyapp.room.v1.RoomHeartbeatResponse
|
||||||
20, // 284: hyapp.room.v1.RoomCommandService.AdminUpdateRoomRocketConfig:output_type -> hyapp.room.v1.AdminUpdateRoomRocketConfigResponse
|
84, // 284: hyapp.room.v1.RoomCommandService.LeaveRoom:output_type -> hyapp.room.v1.LeaveRoomResponse
|
||||||
25, // 285: hyapp.room.v1.RoomCommandService.AdminUpdateRoomSeatConfig:output_type -> hyapp.room.v1.AdminUpdateRoomSeatConfigResponse
|
86, // 285: hyapp.room.v1.RoomCommandService.CloseRoom:output_type -> hyapp.room.v1.CloseRoomResponse
|
||||||
32, // 286: hyapp.room.v1.RoomCommandService.AdminUpdateHumanRoomRobotConfig:output_type -> hyapp.room.v1.AdminUpdateHumanRoomRobotConfigResponse
|
93, // 286: hyapp.room.v1.RoomCommandService.AdminUpdateRoom:output_type -> hyapp.room.v1.AdminUpdateRoomResponse
|
||||||
38, // 287: hyapp.room.v1.RoomCommandService.AdminCreateRoomPin:output_type -> hyapp.room.v1.AdminCreateRoomPinResponse
|
95, // 287: hyapp.room.v1.RoomCommandService.AdminDeleteRoom:output_type -> hyapp.room.v1.AdminDeleteRoomResponse
|
||||||
40, // 288: hyapp.room.v1.RoomCommandService.AdminCancelRoomPin:output_type -> hyapp.room.v1.AdminCancelRoomPinResponse
|
20, // 288: hyapp.room.v1.RoomCommandService.AdminUpdateRoomRocketConfig:output_type -> hyapp.room.v1.AdminUpdateRoomRocketConfigResponse
|
||||||
46, // 289: hyapp.room.v1.RoomCommandService.AdminCreateRobotRoom:output_type -> hyapp.room.v1.AdminCreateRobotRoomResponse
|
25, // 289: hyapp.room.v1.RoomCommandService.AdminUpdateRoomSeatConfig:output_type -> hyapp.room.v1.AdminUpdateRoomSeatConfigResponse
|
||||||
48, // 290: hyapp.room.v1.RoomCommandService.AdminSetRobotRoomStatus:output_type -> hyapp.room.v1.AdminSetRobotRoomStatusResponse
|
32, // 290: hyapp.room.v1.RoomCommandService.AdminUpdateHumanRoomRobotConfig:output_type -> hyapp.room.v1.AdminUpdateHumanRoomRobotConfigResponse
|
||||||
50, // 291: hyapp.room.v1.RoomCommandService.AdminRenameOwnerCountryCode:output_type -> hyapp.room.v1.AdminRenameOwnerCountryCodeResponse
|
38, // 291: hyapp.room.v1.RoomCommandService.AdminCreateRoomPin:output_type -> hyapp.room.v1.AdminCreateRoomPinResponse
|
||||||
97, // 292: hyapp.room.v1.RoomCommandService.MicUp:output_type -> hyapp.room.v1.MicUpResponse
|
40, // 292: hyapp.room.v1.RoomCommandService.AdminCancelRoomPin:output_type -> hyapp.room.v1.AdminCancelRoomPinResponse
|
||||||
99, // 293: hyapp.room.v1.RoomCommandService.MicDown:output_type -> hyapp.room.v1.MicDownResponse
|
46, // 293: hyapp.room.v1.RoomCommandService.AdminCreateRobotRoom:output_type -> hyapp.room.v1.AdminCreateRobotRoomResponse
|
||||||
101, // 294: hyapp.room.v1.RoomCommandService.ChangeMicSeat:output_type -> hyapp.room.v1.ChangeMicSeatResponse
|
48, // 294: hyapp.room.v1.RoomCommandService.AdminSetRobotRoomStatus:output_type -> hyapp.room.v1.AdminSetRobotRoomStatusResponse
|
||||||
103, // 295: hyapp.room.v1.RoomCommandService.ConfirmMicPublishing:output_type -> hyapp.room.v1.ConfirmMicPublishingResponse
|
50, // 295: hyapp.room.v1.RoomCommandService.AdminRenameOwnerCountryCode:output_type -> hyapp.room.v1.AdminRenameOwnerCountryCodeResponse
|
||||||
105, // 296: hyapp.room.v1.RoomCommandService.MicHeartbeat:output_type -> hyapp.room.v1.MicHeartbeatResponse
|
97, // 296: hyapp.room.v1.RoomCommandService.MicUp:output_type -> hyapp.room.v1.MicUpResponse
|
||||||
107, // 297: hyapp.room.v1.RoomCommandService.SetMicMute:output_type -> hyapp.room.v1.SetMicMuteResponse
|
99, // 297: hyapp.room.v1.RoomCommandService.MicDown:output_type -> hyapp.room.v1.MicDownResponse
|
||||||
109, // 298: hyapp.room.v1.RoomCommandService.ApplyRTCEvent:output_type -> hyapp.room.v1.ApplyRTCEventResponse
|
101, // 298: hyapp.room.v1.RoomCommandService.ChangeMicSeat:output_type -> hyapp.room.v1.ChangeMicSeatResponse
|
||||||
111, // 299: hyapp.room.v1.RoomCommandService.SetMicSeatLock:output_type -> hyapp.room.v1.SetMicSeatLockResponse
|
103, // 299: hyapp.room.v1.RoomCommandService.ConfirmMicPublishing:output_type -> hyapp.room.v1.ConfirmMicPublishingResponse
|
||||||
113, // 300: hyapp.room.v1.RoomCommandService.SetChatEnabled:output_type -> hyapp.room.v1.SetChatEnabledResponse
|
105, // 300: hyapp.room.v1.RoomCommandService.MicHeartbeat:output_type -> hyapp.room.v1.MicHeartbeatResponse
|
||||||
115, // 301: hyapp.room.v1.RoomCommandService.SetRoomPassword:output_type -> hyapp.room.v1.SetRoomPasswordResponse
|
107, // 301: hyapp.room.v1.RoomCommandService.SetMicMute:output_type -> hyapp.room.v1.SetMicMuteResponse
|
||||||
117, // 302: hyapp.room.v1.RoomCommandService.SetRoomAdmin:output_type -> hyapp.room.v1.SetRoomAdminResponse
|
109, // 302: hyapp.room.v1.RoomCommandService.ApplyRTCEvent:output_type -> hyapp.room.v1.ApplyRTCEventResponse
|
||||||
119, // 303: hyapp.room.v1.RoomCommandService.MuteUser:output_type -> hyapp.room.v1.MuteUserResponse
|
111, // 303: hyapp.room.v1.RoomCommandService.SetMicSeatLock:output_type -> hyapp.room.v1.SetMicSeatLockResponse
|
||||||
121, // 304: hyapp.room.v1.RoomCommandService.KickUser:output_type -> hyapp.room.v1.KickUserResponse
|
113, // 304: hyapp.room.v1.RoomCommandService.SetChatEnabled:output_type -> hyapp.room.v1.SetChatEnabledResponse
|
||||||
123, // 305: hyapp.room.v1.RoomCommandService.UnbanUser:output_type -> hyapp.room.v1.UnbanUserResponse
|
115, // 305: hyapp.room.v1.RoomCommandService.SetRoomPassword:output_type -> hyapp.room.v1.SetRoomPasswordResponse
|
||||||
125, // 306: hyapp.room.v1.RoomCommandService.SystemEvictUser:output_type -> hyapp.room.v1.SystemEvictUserResponse
|
117, // 306: hyapp.room.v1.RoomCommandService.SetRoomAdmin:output_type -> hyapp.room.v1.SetRoomAdminResponse
|
||||||
131, // 307: hyapp.room.v1.RoomCommandService.SendGift:output_type -> hyapp.room.v1.SendGiftResponse
|
119, // 307: hyapp.room.v1.RoomCommandService.MuteUser:output_type -> hyapp.room.v1.MuteUserResponse
|
||||||
167, // 308: hyapp.room.v1.RoomCommandService.FollowRoom:output_type -> hyapp.room.v1.FollowRoomResponse
|
121, // 308: hyapp.room.v1.RoomCommandService.KickUser:output_type -> hyapp.room.v1.KickUserResponse
|
||||||
169, // 309: hyapp.room.v1.RoomCommandService.UnfollowRoom:output_type -> hyapp.room.v1.UnfollowRoomResponse
|
123, // 309: hyapp.room.v1.RoomCommandService.UnbanUser:output_type -> hyapp.room.v1.UnbanUserResponse
|
||||||
133, // 310: hyapp.room.v1.RoomGuardService.CheckSpeakPermission:output_type -> hyapp.room.v1.CheckSpeakPermissionResponse
|
125, // 310: hyapp.room.v1.RoomCommandService.SystemEvictUser:output_type -> hyapp.room.v1.SystemEvictUserResponse
|
||||||
135, // 311: hyapp.room.v1.RoomGuardService.VerifyRoomPresence:output_type -> hyapp.room.v1.VerifyRoomPresenceResponse
|
131, // 311: hyapp.room.v1.RoomCommandService.SendGift:output_type -> hyapp.room.v1.SendGiftResponse
|
||||||
137, // 312: hyapp.room.v1.RoomGuardService.ResolveRoomAppCode:output_type -> hyapp.room.v1.ResolveRoomAppCodeResponse
|
162, // 312: hyapp.room.v1.RoomCommandService.ApplyRoomRPSGift:output_type -> hyapp.room.v1.ApplyRoomRPSGiftResponse
|
||||||
67, // 313: hyapp.room.v1.RoomGuardService.AuthorizeRoomMediaUpload:output_type -> hyapp.room.v1.AuthorizeRoomMediaUploadResponse
|
169, // 313: hyapp.room.v1.RoomCommandService.FollowRoom:output_type -> hyapp.room.v1.FollowRoomResponse
|
||||||
69, // 314: hyapp.room.v1.RoomGuardService.CompleteRoomMediaUpload:output_type -> hyapp.room.v1.CompleteRoomMediaUploadResponse
|
171, // 314: hyapp.room.v1.RoomCommandService.UnfollowRoom:output_type -> hyapp.room.v1.UnfollowRoomResponse
|
||||||
89, // 315: hyapp.room.v1.RoomQueryService.AdminListRooms:output_type -> hyapp.room.v1.AdminListRoomsResponse
|
133, // 315: hyapp.room.v1.RoomGuardService.CheckSpeakPermission:output_type -> hyapp.room.v1.CheckSpeakPermissionResponse
|
||||||
91, // 316: hyapp.room.v1.RoomQueryService.AdminGetRoom:output_type -> hyapp.room.v1.AdminGetRoomResponse
|
135, // 316: hyapp.room.v1.RoomGuardService.VerifyRoomPresence:output_type -> hyapp.room.v1.VerifyRoomPresenceResponse
|
||||||
18, // 317: hyapp.room.v1.RoomQueryService.AdminGetRoomRocketConfig:output_type -> hyapp.room.v1.AdminGetRoomRocketConfigResponse
|
137, // 317: hyapp.room.v1.RoomGuardService.ResolveRoomAppCode:output_type -> hyapp.room.v1.ResolveRoomAppCodeResponse
|
||||||
23, // 318: hyapp.room.v1.RoomQueryService.AdminGetRoomSeatConfig:output_type -> hyapp.room.v1.AdminGetRoomSeatConfigResponse
|
67, // 318: hyapp.room.v1.RoomGuardService.AuthorizeRoomMediaUpload:output_type -> hyapp.room.v1.AuthorizeRoomMediaUploadResponse
|
||||||
30, // 319: hyapp.room.v1.RoomQueryService.AdminGetHumanRoomRobotConfig:output_type -> hyapp.room.v1.AdminGetHumanRoomRobotConfigResponse
|
69, // 319: hyapp.room.v1.RoomGuardService.CompleteRoomMediaUpload:output_type -> hyapp.room.v1.CompleteRoomMediaUploadResponse
|
||||||
36, // 320: hyapp.room.v1.RoomQueryService.AdminListRoomPins:output_type -> hyapp.room.v1.AdminListRoomPinsResponse
|
89, // 320: hyapp.room.v1.RoomQueryService.AdminListRooms:output_type -> hyapp.room.v1.AdminListRoomsResponse
|
||||||
44, // 321: hyapp.room.v1.RoomQueryService.AdminListRobotRooms:output_type -> hyapp.room.v1.AdminListRobotRoomsResponse
|
91, // 321: hyapp.room.v1.RoomQueryService.AdminGetRoom:output_type -> hyapp.room.v1.AdminGetRoomResponse
|
||||||
52, // 322: hyapp.room.v1.RoomQueryService.AdminFilterAvailableRoomRobots:output_type -> hyapp.room.v1.AdminFilterAvailableRoomRobotsResponse
|
18, // 322: hyapp.room.v1.RoomQueryService.AdminGetRoomRocketConfig:output_type -> hyapp.room.v1.AdminGetRoomRocketConfigResponse
|
||||||
144, // 323: hyapp.room.v1.RoomQueryService.ListRooms:output_type -> hyapp.room.v1.ListRoomsResponse
|
23, // 323: hyapp.room.v1.RoomQueryService.AdminGetRoomSeatConfig:output_type -> hyapp.room.v1.AdminGetRoomSeatConfigResponse
|
||||||
144, // 324: hyapp.room.v1.RoomQueryService.ListRoomsByOwners:output_type -> hyapp.room.v1.ListRoomsResponse
|
30, // 324: hyapp.room.v1.RoomQueryService.AdminGetHumanRoomRobotConfig:output_type -> hyapp.room.v1.AdminGetHumanRoomRobotConfigResponse
|
||||||
144, // 325: hyapp.room.v1.RoomQueryService.ListRoomFeeds:output_type -> hyapp.room.v1.ListRoomsResponse
|
36, // 325: hyapp.room.v1.RoomQueryService.AdminListRoomPins:output_type -> hyapp.room.v1.AdminListRoomPinsResponse
|
||||||
146, // 326: hyapp.room.v1.RoomQueryService.ListRoomGiftLeaderboard:output_type -> hyapp.room.v1.ListRoomGiftLeaderboardResponse
|
44, // 326: hyapp.room.v1.RoomQueryService.AdminListRobotRooms:output_type -> hyapp.room.v1.AdminListRobotRoomsResponse
|
||||||
148, // 327: hyapp.room.v1.RoomQueryService.ListRoomContributionRank:output_type -> hyapp.room.v1.ListRoomContributionRankResponse
|
52, // 327: hyapp.room.v1.RoomQueryService.AdminFilterAvailableRoomRobots:output_type -> hyapp.room.v1.AdminFilterAvailableRoomRobotsResponse
|
||||||
150, // 328: hyapp.room.v1.RoomQueryService.GetMyRoom:output_type -> hyapp.room.v1.GetMyRoomResponse
|
144, // 328: hyapp.room.v1.RoomQueryService.ListRooms:output_type -> hyapp.room.v1.ListRoomsResponse
|
||||||
152, // 329: hyapp.room.v1.RoomQueryService.GetCurrentRoom:output_type -> hyapp.room.v1.GetCurrentRoomResponse
|
144, // 329: hyapp.room.v1.RoomQueryService.ListRoomsByOwners:output_type -> hyapp.room.v1.ListRoomsResponse
|
||||||
156, // 330: hyapp.room.v1.RoomQueryService.BatchGetUserVoiceRoomPresences:output_type -> hyapp.room.v1.BatchGetUserVoiceRoomPresencesResponse
|
144, // 330: hyapp.room.v1.RoomQueryService.ListRoomFeeds:output_type -> hyapp.room.v1.ListRoomsResponse
|
||||||
158, // 331: hyapp.room.v1.RoomQueryService.GetRoomSnapshot:output_type -> hyapp.room.v1.GetRoomSnapshotResponse
|
146, // 331: hyapp.room.v1.RoomQueryService.ListRoomGiftLeaderboard:output_type -> hyapp.room.v1.ListRoomGiftLeaderboardResponse
|
||||||
60, // 332: hyapp.room.v1.RoomQueryService.ListRoomBackgrounds:output_type -> hyapp.room.v1.ListRoomBackgroundsResponse
|
148, // 332: hyapp.room.v1.RoomQueryService.ListRoomContributionRank:output_type -> hyapp.room.v1.ListRoomContributionRankResponse
|
||||||
160, // 333: hyapp.room.v1.RoomQueryService.GetRoomRocket:output_type -> hyapp.room.v1.GetRoomRocketResponse
|
150, // 333: hyapp.room.v1.RoomQueryService.GetMyRoom:output_type -> hyapp.room.v1.GetMyRoomResponse
|
||||||
162, // 334: hyapp.room.v1.RoomQueryService.ListRoomOnlineUsers:output_type -> hyapp.room.v1.ListRoomOnlineUsersResponse
|
152, // 334: hyapp.room.v1.RoomQueryService.GetCurrentRoom:output_type -> hyapp.room.v1.GetCurrentRoomResponse
|
||||||
165, // 335: hyapp.room.v1.RoomQueryService.ListRoomBannedUsers:output_type -> hyapp.room.v1.ListRoomBannedUsersResponse
|
156, // 335: hyapp.room.v1.RoomQueryService.BatchGetUserVoiceRoomPresences:output_type -> hyapp.room.v1.BatchGetUserVoiceRoomPresencesResponse
|
||||||
272, // [272:336] is the sub-list for method output_type
|
158, // 336: hyapp.room.v1.RoomQueryService.GetRoomSnapshot:output_type -> hyapp.room.v1.GetRoomSnapshotResponse
|
||||||
208, // [208:272] is the sub-list for method input_type
|
60, // 337: hyapp.room.v1.RoomQueryService.ListRoomBackgrounds:output_type -> hyapp.room.v1.ListRoomBackgroundsResponse
|
||||||
208, // [208:208] is the sub-list for extension type_name
|
160, // 338: hyapp.room.v1.RoomQueryService.GetRoomRocket:output_type -> hyapp.room.v1.GetRoomRocketResponse
|
||||||
208, // [208:208] is the sub-list for extension extendee
|
164, // 339: hyapp.room.v1.RoomQueryService.ListRoomOnlineUsers:output_type -> hyapp.room.v1.ListRoomOnlineUsersResponse
|
||||||
0, // [0:208] is the sub-list for field type_name
|
167, // 340: hyapp.room.v1.RoomQueryService.ListRoomBannedUsers:output_type -> hyapp.room.v1.ListRoomBannedUsersResponse
|
||||||
|
276, // [276:341] is the sub-list for method output_type
|
||||||
|
211, // [211:276] is the sub-list for method input_type
|
||||||
|
211, // [211:211] is the sub-list for extension type_name
|
||||||
|
211, // [211:211] is the sub-list for extension extendee
|
||||||
|
0, // [0:211] is the sub-list for field type_name
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() { file_proto_room_v1_room_proto_init() }
|
func init() { file_proto_room_v1_room_proto_init() }
|
||||||
@ -15820,7 +15977,7 @@ func file_proto_room_v1_room_proto_init() {
|
|||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
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)),
|
RawDescriptor: unsafe.Slice(unsafe.StringData(file_proto_room_v1_room_proto_rawDesc), len(file_proto_room_v1_room_proto_rawDesc)),
|
||||||
NumEnums: 0,
|
NumEnums: 0,
|
||||||
NumMessages: 173,
|
NumMessages: 175,
|
||||||
NumExtensions: 0,
|
NumExtensions: 0,
|
||||||
NumServices: 3,
|
NumServices: 3,
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1595,6 +1595,22 @@ message GetRoomRocketResponse {
|
|||||||
int64 server_time_ms = 2;
|
int64 server_time_ms = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ApplyRoomRPSGiftRequest 只承载 room-rps 最终结算后真实发生的一份败者礼物。
|
||||||
|
// game-service 的预扣、平局退款和赢家本金退款都不能调用该接口。
|
||||||
|
message ApplyRoomRPSGiftRequest {
|
||||||
|
RequestMeta meta = 1;
|
||||||
|
string room_id = 2;
|
||||||
|
int64 sender_user_id = 3;
|
||||||
|
int64 target_user_id = 4;
|
||||||
|
string gift_id = 5;
|
||||||
|
int64 heat_value = 6;
|
||||||
|
}
|
||||||
|
|
||||||
|
message ApplyRoomRPSGiftResponse {
|
||||||
|
CommandResult result = 1;
|
||||||
|
RoomRocketState rocket = 2;
|
||||||
|
}
|
||||||
|
|
||||||
// ListRoomOnlineUsersRequest 分页查询房间在线用户,不让客户端拉完整 RoomSnapshot 做列表分页。
|
// ListRoomOnlineUsersRequest 分页查询房间在线用户,不让客户端拉完整 RoomSnapshot 做列表分页。
|
||||||
message ListRoomOnlineUsersRequest {
|
message ListRoomOnlineUsersRequest {
|
||||||
RequestMeta meta = 1;
|
RequestMeta meta = 1;
|
||||||
@ -1708,6 +1724,8 @@ service RoomCommandService {
|
|||||||
rpc UnbanUser(UnbanUserRequest) returns (UnbanUserResponse);
|
rpc UnbanUser(UnbanUserRequest) returns (UnbanUserResponse);
|
||||||
rpc SystemEvictUser(SystemEvictUserRequest) returns (SystemEvictUserResponse);
|
rpc SystemEvictUser(SystemEvictUserRequest) returns (SystemEvictUserResponse);
|
||||||
rpc SendGift(SendGiftRequest) returns (SendGiftResponse);
|
rpc SendGift(SendGiftRequest) returns (SendGiftResponse);
|
||||||
|
// ApplyRoomRPSGift 由 game-service 在赢家退款成功后调用;Room Cell 仍是火箭状态唯一 owner。
|
||||||
|
rpc ApplyRoomRPSGift(ApplyRoomRPSGiftRequest) returns (ApplyRoomRPSGiftResponse);
|
||||||
rpc FollowRoom(FollowRoomRequest) returns (FollowRoomResponse);
|
rpc FollowRoom(FollowRoomRequest) returns (FollowRoomResponse);
|
||||||
rpc UnfollowRoom(UnfollowRoomRequest) returns (UnfollowRoomResponse);
|
rpc UnfollowRoom(UnfollowRoomRequest) returns (UnfollowRoomResponse);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -55,6 +55,7 @@ const (
|
|||||||
RoomCommandService_UnbanUser_FullMethodName = "/hyapp.room.v1.RoomCommandService/UnbanUser"
|
RoomCommandService_UnbanUser_FullMethodName = "/hyapp.room.v1.RoomCommandService/UnbanUser"
|
||||||
RoomCommandService_SystemEvictUser_FullMethodName = "/hyapp.room.v1.RoomCommandService/SystemEvictUser"
|
RoomCommandService_SystemEvictUser_FullMethodName = "/hyapp.room.v1.RoomCommandService/SystemEvictUser"
|
||||||
RoomCommandService_SendGift_FullMethodName = "/hyapp.room.v1.RoomCommandService/SendGift"
|
RoomCommandService_SendGift_FullMethodName = "/hyapp.room.v1.RoomCommandService/SendGift"
|
||||||
|
RoomCommandService_ApplyRoomRPSGift_FullMethodName = "/hyapp.room.v1.RoomCommandService/ApplyRoomRPSGift"
|
||||||
RoomCommandService_FollowRoom_FullMethodName = "/hyapp.room.v1.RoomCommandService/FollowRoom"
|
RoomCommandService_FollowRoom_FullMethodName = "/hyapp.room.v1.RoomCommandService/FollowRoom"
|
||||||
RoomCommandService_UnfollowRoom_FullMethodName = "/hyapp.room.v1.RoomCommandService/UnfollowRoom"
|
RoomCommandService_UnfollowRoom_FullMethodName = "/hyapp.room.v1.RoomCommandService/UnfollowRoom"
|
||||||
)
|
)
|
||||||
@ -101,6 +102,8 @@ type RoomCommandServiceClient interface {
|
|||||||
UnbanUser(ctx context.Context, in *UnbanUserRequest, opts ...grpc.CallOption) (*UnbanUserResponse, error)
|
UnbanUser(ctx context.Context, in *UnbanUserRequest, opts ...grpc.CallOption) (*UnbanUserResponse, error)
|
||||||
SystemEvictUser(ctx context.Context, in *SystemEvictUserRequest, opts ...grpc.CallOption) (*SystemEvictUserResponse, error)
|
SystemEvictUser(ctx context.Context, in *SystemEvictUserRequest, opts ...grpc.CallOption) (*SystemEvictUserResponse, error)
|
||||||
SendGift(ctx context.Context, in *SendGiftRequest, opts ...grpc.CallOption) (*SendGiftResponse, error)
|
SendGift(ctx context.Context, in *SendGiftRequest, opts ...grpc.CallOption) (*SendGiftResponse, error)
|
||||||
|
// ApplyRoomRPSGift 由 game-service 在赢家退款成功后调用;Room Cell 仍是火箭状态唯一 owner。
|
||||||
|
ApplyRoomRPSGift(ctx context.Context, in *ApplyRoomRPSGiftRequest, opts ...grpc.CallOption) (*ApplyRoomRPSGiftResponse, error)
|
||||||
FollowRoom(ctx context.Context, in *FollowRoomRequest, opts ...grpc.CallOption) (*FollowRoomResponse, error)
|
FollowRoom(ctx context.Context, in *FollowRoomRequest, opts ...grpc.CallOption) (*FollowRoomResponse, error)
|
||||||
UnfollowRoom(ctx context.Context, in *UnfollowRoomRequest, opts ...grpc.CallOption) (*UnfollowRoomResponse, error)
|
UnfollowRoom(ctx context.Context, in *UnfollowRoomRequest, opts ...grpc.CallOption) (*UnfollowRoomResponse, error)
|
||||||
}
|
}
|
||||||
@ -473,6 +476,16 @@ func (c *roomCommandServiceClient) SendGift(ctx context.Context, in *SendGiftReq
|
|||||||
return out, nil
|
return out, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *roomCommandServiceClient) ApplyRoomRPSGift(ctx context.Context, in *ApplyRoomRPSGiftRequest, opts ...grpc.CallOption) (*ApplyRoomRPSGiftResponse, error) {
|
||||||
|
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||||
|
out := new(ApplyRoomRPSGiftResponse)
|
||||||
|
err := c.cc.Invoke(ctx, RoomCommandService_ApplyRoomRPSGift_FullMethodName, in, out, cOpts...)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return out, nil
|
||||||
|
}
|
||||||
|
|
||||||
func (c *roomCommandServiceClient) FollowRoom(ctx context.Context, in *FollowRoomRequest, opts ...grpc.CallOption) (*FollowRoomResponse, error) {
|
func (c *roomCommandServiceClient) FollowRoom(ctx context.Context, in *FollowRoomRequest, opts ...grpc.CallOption) (*FollowRoomResponse, error) {
|
||||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||||
out := new(FollowRoomResponse)
|
out := new(FollowRoomResponse)
|
||||||
@ -535,6 +548,8 @@ type RoomCommandServiceServer interface {
|
|||||||
UnbanUser(context.Context, *UnbanUserRequest) (*UnbanUserResponse, error)
|
UnbanUser(context.Context, *UnbanUserRequest) (*UnbanUserResponse, error)
|
||||||
SystemEvictUser(context.Context, *SystemEvictUserRequest) (*SystemEvictUserResponse, error)
|
SystemEvictUser(context.Context, *SystemEvictUserRequest) (*SystemEvictUserResponse, error)
|
||||||
SendGift(context.Context, *SendGiftRequest) (*SendGiftResponse, error)
|
SendGift(context.Context, *SendGiftRequest) (*SendGiftResponse, error)
|
||||||
|
// ApplyRoomRPSGift 由 game-service 在赢家退款成功后调用;Room Cell 仍是火箭状态唯一 owner。
|
||||||
|
ApplyRoomRPSGift(context.Context, *ApplyRoomRPSGiftRequest) (*ApplyRoomRPSGiftResponse, error)
|
||||||
FollowRoom(context.Context, *FollowRoomRequest) (*FollowRoomResponse, error)
|
FollowRoom(context.Context, *FollowRoomRequest) (*FollowRoomResponse, error)
|
||||||
UnfollowRoom(context.Context, *UnfollowRoomRequest) (*UnfollowRoomResponse, error)
|
UnfollowRoom(context.Context, *UnfollowRoomRequest) (*UnfollowRoomResponse, error)
|
||||||
mustEmbedUnimplementedRoomCommandServiceServer()
|
mustEmbedUnimplementedRoomCommandServiceServer()
|
||||||
@ -655,6 +670,9 @@ func (UnimplementedRoomCommandServiceServer) SystemEvictUser(context.Context, *S
|
|||||||
func (UnimplementedRoomCommandServiceServer) SendGift(context.Context, *SendGiftRequest) (*SendGiftResponse, error) {
|
func (UnimplementedRoomCommandServiceServer) SendGift(context.Context, *SendGiftRequest) (*SendGiftResponse, error) {
|
||||||
return nil, status.Error(codes.Unimplemented, "method SendGift not implemented")
|
return nil, status.Error(codes.Unimplemented, "method SendGift not implemented")
|
||||||
}
|
}
|
||||||
|
func (UnimplementedRoomCommandServiceServer) ApplyRoomRPSGift(context.Context, *ApplyRoomRPSGiftRequest) (*ApplyRoomRPSGiftResponse, error) {
|
||||||
|
return nil, status.Error(codes.Unimplemented, "method ApplyRoomRPSGift not implemented")
|
||||||
|
}
|
||||||
func (UnimplementedRoomCommandServiceServer) FollowRoom(context.Context, *FollowRoomRequest) (*FollowRoomResponse, error) {
|
func (UnimplementedRoomCommandServiceServer) FollowRoom(context.Context, *FollowRoomRequest) (*FollowRoomResponse, error) {
|
||||||
return nil, status.Error(codes.Unimplemented, "method FollowRoom not implemented")
|
return nil, status.Error(codes.Unimplemented, "method FollowRoom not implemented")
|
||||||
}
|
}
|
||||||
@ -1330,6 +1348,24 @@ func _RoomCommandService_SendGift_Handler(srv interface{}, ctx context.Context,
|
|||||||
return interceptor(ctx, in, info, handler)
|
return interceptor(ctx, in, info, handler)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func _RoomCommandService_ApplyRoomRPSGift_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
|
in := new(ApplyRoomRPSGiftRequest)
|
||||||
|
if err := dec(in); err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
if interceptor == nil {
|
||||||
|
return srv.(RoomCommandServiceServer).ApplyRoomRPSGift(ctx, in)
|
||||||
|
}
|
||||||
|
info := &grpc.UnaryServerInfo{
|
||||||
|
Server: srv,
|
||||||
|
FullMethod: RoomCommandService_ApplyRoomRPSGift_FullMethodName,
|
||||||
|
}
|
||||||
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||||
|
return srv.(RoomCommandServiceServer).ApplyRoomRPSGift(ctx, req.(*ApplyRoomRPSGiftRequest))
|
||||||
|
}
|
||||||
|
return interceptor(ctx, in, info, handler)
|
||||||
|
}
|
||||||
|
|
||||||
func _RoomCommandService_FollowRoom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
func _RoomCommandService_FollowRoom_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||||
in := new(FollowRoomRequest)
|
in := new(FollowRoomRequest)
|
||||||
if err := dec(in); err != nil {
|
if err := dec(in); err != nil {
|
||||||
@ -1517,6 +1553,10 @@ var RoomCommandService_ServiceDesc = grpc.ServiceDesc{
|
|||||||
MethodName: "SendGift",
|
MethodName: "SendGift",
|
||||||
Handler: _RoomCommandService_SendGift_Handler,
|
Handler: _RoomCommandService_SendGift_Handler,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
MethodName: "ApplyRoomRPSGift",
|
||||||
|
Handler: _RoomCommandService_ApplyRoomRPSGift_Handler,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
MethodName: "FollowRoom",
|
MethodName: "FollowRoom",
|
||||||
Handler: _RoomCommandService_FollowRoom_Handler,
|
Handler: _RoomCommandService_FollowRoom_Handler,
|
||||||
|
|||||||
@ -8,6 +8,7 @@ wallet_service_addr: "wallet-service:13004"
|
|||||||
user_service_addr: "user-service:13005"
|
user_service_addr: "user-service:13005"
|
||||||
activity_service_addr: "activity-service:13006"
|
activity_service_addr: "activity-service:13006"
|
||||||
robot_service_addr: "robot-service:13011"
|
robot_service_addr: "robot-service:13011"
|
||||||
|
room_service_addr: "room-service:13001"
|
||||||
launch_session_ttl: "15m"
|
launch_session_ttl: "15m"
|
||||||
tencent_im:
|
tencent_im:
|
||||||
# Docker/testbox 联调房内猜拳 PK 房间群消息;必须和 gateway/room 使用同一个 IM 应用。
|
# Docker/testbox 联调房内猜拳 PK 房间群消息;必须和 gateway/room 使用同一个 IM 应用。
|
||||||
|
|||||||
@ -8,6 +8,7 @@ wallet_service_addr: "wallet-service:13004"
|
|||||||
user_service_addr: "user-service:13005"
|
user_service_addr: "user-service:13005"
|
||||||
activity_service_addr: "10.2.1.16:13006"
|
activity_service_addr: "10.2.1.16:13006"
|
||||||
robot_service_addr: "10.2.1.16:13011"
|
robot_service_addr: "10.2.1.16:13011"
|
||||||
|
room_service_addr: "10.2.1.16:13001"
|
||||||
launch_session_ttl: "15m"
|
launch_session_ttl: "15m"
|
||||||
tencent_im:
|
tencent_im:
|
||||||
# 房内猜拳发起、应战、揭晓和结算事件都走腾讯 IM 房间群自定义消息。
|
# 房内猜拳发起、应战、揭晓和结算事件都走腾讯 IM 房间群自定义消息。
|
||||||
|
|||||||
@ -8,6 +8,7 @@ wallet_service_addr: "127.0.0.1:13004"
|
|||||||
user_service_addr: "127.0.0.1:13005"
|
user_service_addr: "127.0.0.1:13005"
|
||||||
activity_service_addr: "127.0.0.1:13006"
|
activity_service_addr: "127.0.0.1:13006"
|
||||||
robot_service_addr: "127.0.0.1:13011"
|
robot_service_addr: "127.0.0.1:13011"
|
||||||
|
room_service_addr: "127.0.0.1:13001"
|
||||||
launch_session_ttl: "15m"
|
launch_session_ttl: "15m"
|
||||||
tencent_im:
|
tencent_im:
|
||||||
# 本地联调房内猜拳 PK 房间群消息;必须和 gateway/room 使用同一个 IM 应用。
|
# 本地联调房内猜拳 PK 房间群消息;必须和 gateway/room 使用同一个 IM 应用。
|
||||||
|
|||||||
@ -11,6 +11,7 @@ import (
|
|||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
"google.golang.org/grpc/credentials/insecure"
|
"google.golang.org/grpc/credentials/insecure"
|
||||||
gamev1 "hyapp.local/api/proto/game/v1"
|
gamev1 "hyapp.local/api/proto/game/v1"
|
||||||
|
roomv1 "hyapp.local/api/proto/room/v1"
|
||||||
"hyapp/pkg/appcode"
|
"hyapp/pkg/appcode"
|
||||||
"hyapp/pkg/gamemq"
|
"hyapp/pkg/gamemq"
|
||||||
"hyapp/pkg/grpchealth"
|
"hyapp/pkg/grpchealth"
|
||||||
@ -41,6 +42,7 @@ type App struct {
|
|||||||
userConn *grpc.ClientConn
|
userConn *grpc.ClientConn
|
||||||
activityConn *grpc.ClientConn
|
activityConn *grpc.ClientConn
|
||||||
robotConn *grpc.ClientConn
|
robotConn *grpc.ClientConn
|
||||||
|
roomConn *grpc.ClientConn
|
||||||
outboxProducer *rocketmqx.Producer
|
outboxProducer *rocketmqx.Producer
|
||||||
// outboxPartitions 缓存真实 App 列表并让双实例从不同轮转起点公平 claim。
|
// outboxPartitions 缓存真实 App 列表并让双实例从不同轮转起点公平 claim。
|
||||||
outboxPartitions *outboxpartition.Partitions
|
outboxPartitions *outboxpartition.Partitions
|
||||||
@ -85,8 +87,18 @@ func New(cfg config.Config) (*App, error) {
|
|||||||
_ = repo.Close()
|
_ = repo.Close()
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
roomConn, err := grpc.Dial(cfg.RoomServiceAddr, grpc.WithTransportCredentials(insecure.NewCredentials()))
|
||||||
|
if err != nil {
|
||||||
|
_ = robotConn.Close()
|
||||||
|
_ = activityConn.Close()
|
||||||
|
_ = userConn.Close()
|
||||||
|
_ = walletConn.Close()
|
||||||
|
_ = repo.Close()
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
listener, err := net.Listen("tcp", cfg.GRPCAddr)
|
listener, err := net.Listen("tcp", cfg.GRPCAddr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
_ = roomConn.Close()
|
||||||
_ = robotConn.Close()
|
_ = robotConn.Close()
|
||||||
_ = activityConn.Close()
|
_ = activityConn.Close()
|
||||||
_ = userConn.Close()
|
_ = userConn.Close()
|
||||||
@ -99,6 +111,7 @@ func New(cfg config.Config) (*App, error) {
|
|||||||
outboxProducer, err = rocketmqx.NewProducer(rocketMQProducerConfig(cfg.RocketMQ))
|
outboxProducer, err = rocketmqx.NewProducer(rocketMQProducerConfig(cfg.RocketMQ))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = listener.Close()
|
_ = listener.Close()
|
||||||
|
_ = roomConn.Close()
|
||||||
_ = robotConn.Close()
|
_ = robotConn.Close()
|
||||||
_ = activityConn.Close()
|
_ = activityConn.Close()
|
||||||
_ = userConn.Close()
|
_ = userConn.Close()
|
||||||
@ -120,6 +133,7 @@ func New(cfg config.Config) (*App, error) {
|
|||||||
roomRPSPublisher, err = roomrpsservice.NewTencentIMPublisher(cfg.TencentIM.RESTConfig())
|
roomRPSPublisher, err = roomrpsservice.NewTencentIMPublisher(cfg.TencentIM.RESTConfig())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = listener.Close()
|
_ = listener.Close()
|
||||||
|
_ = roomConn.Close()
|
||||||
_ = robotConn.Close()
|
_ = robotConn.Close()
|
||||||
_ = activityConn.Close()
|
_ = activityConn.Close()
|
||||||
_ = userConn.Close()
|
_ = userConn.Close()
|
||||||
@ -132,7 +146,7 @@ func New(cfg config.Config) (*App, error) {
|
|||||||
logx.Warn(context.Background(), "room_rps_im_disabled", slog.String("reason", "tencent_im.enabled=false"))
|
logx.Warn(context.Background(), "room_rps_im_disabled", slog.String("reason", "tencent_im.enabled=false"))
|
||||||
}
|
}
|
||||||
// 房内猜拳独立于骰子和独立猜拳:配置、挑战状态机和 IM 事件全部由 room-rps service 承接,transport 只做 RPC 适配。
|
// 房内猜拳独立于骰子和独立猜拳:配置、挑战状态机和 IM 事件全部由 room-rps service 承接,transport 只做 RPC 适配。
|
||||||
roomRPSSvc := roomrpsservice.New(roomrpsservice.Config{}, userClient, roomRPSPublisher, walletClient, repo)
|
roomRPSSvc := roomrpsservice.New(roomrpsservice.Config{}, userClient, roomRPSPublisher, walletClient, repo, roomv1.NewRoomCommandServiceClient(roomConn))
|
||||||
transport := grpcserver.NewServer(svc, diceSvc, roomRPSSvc)
|
transport := grpcserver.NewServer(svc, diceSvc, roomRPSSvc)
|
||||||
gamev1.RegisterGameAppServiceServer(server, transport)
|
gamev1.RegisterGameAppServiceServer(server, transport)
|
||||||
gamev1.RegisterGameCallbackServiceServer(server, transport)
|
gamev1.RegisterGameCallbackServiceServer(server, transport)
|
||||||
@ -149,6 +163,7 @@ func New(cfg config.Config) (*App, error) {
|
|||||||
})
|
})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
_ = listener.Close()
|
_ = listener.Close()
|
||||||
|
_ = roomConn.Close()
|
||||||
_ = robotConn.Close()
|
_ = robotConn.Close()
|
||||||
_ = activityConn.Close()
|
_ = activityConn.Close()
|
||||||
_ = userConn.Close()
|
_ = userConn.Close()
|
||||||
@ -158,7 +173,7 @@ func New(cfg config.Config) (*App, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
outboxCtx, outboxCancel := context.WithCancel(context.Background())
|
outboxCtx, outboxCancel := context.WithCancel(context.Background())
|
||||||
return &App{server: server, listener: listener, health: health, healthHTTP: healthHTTP, repo: repo, walletConn: walletConn, userConn: userConn, activityConn: activityConn, robotConn: robotConn, outboxProducer: outboxProducer, outboxPartitions: outboxpartition.New(cfg.OutboxWorker.AppCodes, outboxpartition.DefaultDiscoveryRefreshInterval), outboxCtx: outboxCtx, outboxCancel: outboxCancel, cfg: cfg}, nil
|
return &App{server: server, listener: listener, health: health, healthHTTP: healthHTTP, repo: repo, walletConn: walletConn, userConn: userConn, activityConn: activityConn, robotConn: robotConn, roomConn: roomConn, outboxProducer: outboxProducer, outboxPartitions: outboxpartition.New(cfg.OutboxWorker.AppCodes, outboxpartition.DefaultDiscoveryRefreshInterval), outboxCtx: outboxCtx, outboxCancel: outboxCancel, cfg: cfg}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) Run() error {
|
func (a *App) Run() error {
|
||||||
@ -197,6 +212,9 @@ func (a *App) Close() {
|
|||||||
if a.robotConn != nil {
|
if a.robotConn != nil {
|
||||||
_ = a.robotConn.Close()
|
_ = a.robotConn.Close()
|
||||||
}
|
}
|
||||||
|
if a.roomConn != nil {
|
||||||
|
_ = a.roomConn.Close()
|
||||||
|
}
|
||||||
if a.repo != nil {
|
if a.repo != nil {
|
||||||
_ = a.repo.Close()
|
_ = a.repo.Close()
|
||||||
}
|
}
|
||||||
|
|||||||
@ -20,13 +20,15 @@ type Config struct {
|
|||||||
Environment string `yaml:"environment"`
|
Environment string `yaml:"environment"`
|
||||||
GRPCAddr string `yaml:"grpc_addr"`
|
GRPCAddr string `yaml:"grpc_addr"`
|
||||||
// HealthHTTPAddr 是给 CLB/发布脚本探活使用的 HTTP 监听地址,不承载业务流量。
|
// HealthHTTPAddr 是给 CLB/发布脚本探活使用的 HTTP 监听地址,不承载业务流量。
|
||||||
HealthHTTPAddr string `yaml:"health_http_addr"`
|
HealthHTTPAddr string `yaml:"health_http_addr"`
|
||||||
MySQLDSN string `yaml:"mysql_dsn"`
|
MySQLDSN string `yaml:"mysql_dsn"`
|
||||||
WalletServiceAddr string `yaml:"wallet_service_addr"`
|
WalletServiceAddr string `yaml:"wallet_service_addr"`
|
||||||
UserServiceAddr string `yaml:"user_service_addr"`
|
UserServiceAddr string `yaml:"user_service_addr"`
|
||||||
ActivityServiceAddr string `yaml:"activity_service_addr"`
|
ActivityServiceAddr string `yaml:"activity_service_addr"`
|
||||||
RobotServiceAddr string `yaml:"robot_service_addr"`
|
RobotServiceAddr string `yaml:"robot_service_addr"`
|
||||||
LaunchSessionTTL time.Duration `yaml:"launch_session_ttl"`
|
// RoomServiceAddr 用于把 room-rps 最终败者礼物提交给 Room Cell;game-service 不持有火箭状态。
|
||||||
|
RoomServiceAddr string `yaml:"room_service_addr"`
|
||||||
|
LaunchSessionTTL time.Duration `yaml:"launch_session_ttl"`
|
||||||
// TencentIM 是房内猜拳向房间群投递 PK 事件的腾讯 IM REST 配置;缺配置时必须显式关闭,不能靠环境变量隐式漂移。
|
// TencentIM 是房内猜拳向房间群投递 PK 事件的腾讯 IM REST 配置;缺配置时必须显式关闭,不能靠环境变量隐式漂移。
|
||||||
TencentIM TencentIMConfig `yaml:"tencent_im"`
|
TencentIM TencentIMConfig `yaml:"tencent_im"`
|
||||||
RocketMQ RocketMQConfig `yaml:"rocketmq"`
|
RocketMQ RocketMQConfig `yaml:"rocketmq"`
|
||||||
@ -117,6 +119,7 @@ func Default() Config {
|
|||||||
UserServiceAddr: "127.0.0.1:13005",
|
UserServiceAddr: "127.0.0.1:13005",
|
||||||
ActivityServiceAddr: "127.0.0.1:13006",
|
ActivityServiceAddr: "127.0.0.1:13006",
|
||||||
RobotServiceAddr: "127.0.0.1:13011",
|
RobotServiceAddr: "127.0.0.1:13011",
|
||||||
|
RoomServiceAddr: "127.0.0.1:13001",
|
||||||
LaunchSessionTTL: 15 * time.Minute,
|
LaunchSessionTTL: 15 * time.Minute,
|
||||||
TencentIM: TencentIMConfig{
|
TencentIM: TencentIMConfig{
|
||||||
AdminIdentifier: "administrator",
|
AdminIdentifier: "administrator",
|
||||||
@ -196,6 +199,10 @@ func (cfg *Config) Normalize() error {
|
|||||||
if cfg.RobotServiceAddr == "" {
|
if cfg.RobotServiceAddr == "" {
|
||||||
return fmt.Errorf("robot_service_addr is required")
|
return fmt.Errorf("robot_service_addr is required")
|
||||||
}
|
}
|
||||||
|
cfg.RoomServiceAddr = strings.TrimSpace(cfg.RoomServiceAddr)
|
||||||
|
if cfg.RoomServiceAddr == "" {
|
||||||
|
return fmt.Errorf("room_service_addr is required")
|
||||||
|
}
|
||||||
if cfg.LaunchSessionTTL <= 0 {
|
if cfg.LaunchSessionTTL <= 0 {
|
||||||
cfg.LaunchSessionTTL = 15 * time.Minute
|
cfg.LaunchSessionTTL = 15 * time.Minute
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,8 +13,10 @@ import (
|
|||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"google.golang.org/grpc"
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
gamev1 "hyapp.local/api/proto/game/v1"
|
gamev1 "hyapp.local/api/proto/game/v1"
|
||||||
|
roomv1 "hyapp.local/api/proto/room/v1"
|
||||||
userv1 "hyapp.local/api/proto/user/v1"
|
userv1 "hyapp.local/api/proto/user/v1"
|
||||||
walletv1 "hyapp.local/api/proto/wallet/v1"
|
walletv1 "hyapp.local/api/proto/wallet/v1"
|
||||||
"hyapp/pkg/appcode"
|
"hyapp/pkg/appcode"
|
||||||
@ -72,6 +74,11 @@ type WalletClient interface {
|
|||||||
ApplyGameCoinChange(ctx context.Context, req *walletv1.ApplyGameCoinChangeRequest) (*walletv1.ApplyGameCoinChangeResponse, error)
|
ApplyGameCoinChange(ctx context.Context, req *walletv1.ApplyGameCoinChangeRequest) (*walletv1.ApplyGameCoinChangeResponse, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// RoomClient 只暴露 PK 结算礼物进入 Room Cell 的能力;火箭状态和规则始终由 room-service 持有。
|
||||||
|
type RoomClient interface {
|
||||||
|
ApplyRoomRPSGift(ctx context.Context, req *roomv1.ApplyRoomRPSGiftRequest, opts ...grpc.CallOption) (*roomv1.ApplyRoomRPSGiftResponse, error)
|
||||||
|
}
|
||||||
|
|
||||||
// ConfigStore 是 room-rps 配置的持久化边界;service 只关心完整配置快照,表结构和 JSON 编码留在 MySQL 仓储层。
|
// ConfigStore 是 room-rps 配置的持久化边界;service 只关心完整配置快照,表结构和 JSON 编码留在 MySQL 仓储层。
|
||||||
type ConfigStore interface {
|
type ConfigStore interface {
|
||||||
GetRoomRPSConfig(ctx context.Context, appCode string, gameID string) (*gamev1.RoomRPSConfig, error)
|
GetRoomRPSConfig(ctx context.Context, appCode string, gameID string) (*gamev1.RoomRPSConfig, error)
|
||||||
@ -94,6 +101,7 @@ type Service struct {
|
|||||||
user UserClient
|
user UserClient
|
||||||
gifts GiftCatalogClient
|
gifts GiftCatalogClient
|
||||||
wallet WalletClient
|
wallet WalletClient
|
||||||
|
room RoomClient
|
||||||
pub Publisher
|
pub Publisher
|
||||||
store ConfigStore
|
store ConfigStore
|
||||||
|
|
||||||
@ -117,6 +125,7 @@ func New(config Config, user UserClient, publisher Publisher, extras ...any) *Se
|
|||||||
var gifts GiftCatalogClient
|
var gifts GiftCatalogClient
|
||||||
var wallet WalletClient
|
var wallet WalletClient
|
||||||
var store ConfigStore
|
var store ConfigStore
|
||||||
|
var room RoomClient
|
||||||
for _, extra := range extras {
|
for _, extra := range extras {
|
||||||
if typed, ok := extra.(GiftCatalogClient); ok {
|
if typed, ok := extra.(GiftCatalogClient); ok {
|
||||||
// room-rps 运行配置只保存四个 gift_id;后台不再携带展示字段时,必须从 wallet-service 读取真实礼物快照。
|
// room-rps 运行配置只保存四个 gift_id;后台不再携带展示字段时,必须从 wallet-service 读取真实礼物快照。
|
||||||
@ -130,12 +139,17 @@ func New(config Config, user UserClient, publisher Publisher, extras ...any) *Se
|
|||||||
// MySQL 是配置事实源;没有仓储的测试场景才落回进程内 map,避免把运行态差异写成前端兜底。
|
// MySQL 是配置事实源;没有仓储的测试场景才落回进程内 map,避免把运行态差异写成前端兜底。
|
||||||
store = typed
|
store = typed
|
||||||
}
|
}
|
||||||
|
if typed, ok := extra.(RoomClient); ok {
|
||||||
|
// PK 最终败者礼物必须进入 Room Cell,不能由 game-service 自己修改火箭状态。
|
||||||
|
room = typed
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return &Service{
|
return &Service{
|
||||||
config: config,
|
config: config,
|
||||||
user: user,
|
user: user,
|
||||||
gifts: gifts,
|
gifts: gifts,
|
||||||
wallet: wallet,
|
wallet: wallet,
|
||||||
|
room: room,
|
||||||
pub: publisher,
|
pub: publisher,
|
||||||
store: store,
|
store: store,
|
||||||
configs: make(map[string]*gamev1.RoomRPSConfig),
|
configs: make(map[string]*gamev1.RoomRPSConfig),
|
||||||
@ -921,6 +935,9 @@ func (s *Service) settleChallenge(ctx context.Context, requestID string, challen
|
|||||||
return settled, err
|
return settled, err
|
||||||
}
|
}
|
||||||
settled.Initiator.BalanceAfter = balanceAfter
|
settled.Initiator.BalanceAfter = balanceAfter
|
||||||
|
if err := s.applySettledGiftToRoom(ctx, requestID, settled, settled.GetChallenger().GetUserId(), settled.GetInitiator().GetUserId()); err != nil {
|
||||||
|
return settled, err
|
||||||
|
}
|
||||||
settled.SettlementStatus = SettlementSettled
|
settled.SettlementStatus = SettlementSettled
|
||||||
return settled, nil
|
return settled, nil
|
||||||
case settled.GetChallenger().GetUserId():
|
case settled.GetChallenger().GetUserId():
|
||||||
@ -930,6 +947,9 @@ func (s *Service) settleChallenge(ctx context.Context, requestID string, challen
|
|||||||
return settled, err
|
return settled, err
|
||||||
}
|
}
|
||||||
settled.Challenger.BalanceAfter = balanceAfter
|
settled.Challenger.BalanceAfter = balanceAfter
|
||||||
|
if err := s.applySettledGiftToRoom(ctx, requestID, settled, settled.GetInitiator().GetUserId(), settled.GetChallenger().GetUserId()); err != nil {
|
||||||
|
return settled, err
|
||||||
|
}
|
||||||
settled.SettlementStatus = SettlementSettled
|
settled.SettlementStatus = SettlementSettled
|
||||||
return settled, nil
|
return settled, nil
|
||||||
default:
|
default:
|
||||||
@ -937,6 +957,32 @@ func (s *Service) settleChallenge(ctx context.Context, requestID string, challen
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (s *Service) applySettledGiftToRoom(ctx context.Context, requestID string, challenge *gamev1.RoomRPSChallenge, loserUserID int64, winnerUserID int64) error {
|
||||||
|
if s.room == nil {
|
||||||
|
// 仅保留给不装配跨服务依赖的隔离单测;生产 App.New 始终注入 room client,缺地址会在启动阶段失败。
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if challenge == nil || loserUserID <= 0 || winnerUserID <= 0 || challenge.GetStakeCoin() <= 0 {
|
||||||
|
return xerr.New(xerr.InvalidArgument, "room rps settled gift is incomplete")
|
||||||
|
}
|
||||||
|
// challenge_id 对应一局最多一份真实礼物;赢家退款重放后再次调用也只会命中 Room Cell command log。
|
||||||
|
_, err := s.room.ApplyRoomRPSGift(ctx, &roomv1.ApplyRoomRPSGiftRequest{
|
||||||
|
Meta: &roomv1.RequestMeta{
|
||||||
|
AppCode: challenge.GetAppCode(),
|
||||||
|
RequestId: strings.TrimSpace(requestID),
|
||||||
|
CommandId: "room_rps_gift_" + challenge.GetChallengeId(),
|
||||||
|
ActorUserId: loserUserID,
|
||||||
|
RoomId: challenge.GetRoomId(),
|
||||||
|
},
|
||||||
|
RoomId: challenge.GetRoomId(),
|
||||||
|
SenderUserId: loserUserID,
|
||||||
|
TargetUserId: winnerUserID,
|
||||||
|
GiftId: roomRPSChallengeGiftID(challenge),
|
||||||
|
HeatValue: challenge.GetStakeCoin(),
|
||||||
|
})
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
func (s *Service) refundPendingChallenge(ctx context.Context, requestID string, challenge *gamev1.RoomRPSChallenge) (*gamev1.RoomRPSChallenge, error) {
|
func (s *Service) refundPendingChallenge(ctx context.Context, requestID string, challenge *gamev1.RoomRPSChallenge) (*gamev1.RoomRPSChallenge, error) {
|
||||||
if challenge == nil || challenge.GetInitiator().GetUserId() <= 0 || challenge.GetStakeCoin() <= 0 {
|
if challenge == nil || challenge.GetInitiator().GetUserId() <= 0 || challenge.GetStakeCoin() <= 0 {
|
||||||
return nil, xerr.New(xerr.InvalidArgument, "room rps pending refund challenge is incomplete")
|
return nil, xerr.New(xerr.InvalidArgument, "room rps pending refund challenge is incomplete")
|
||||||
|
|||||||
@ -6,7 +6,9 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"google.golang.org/grpc"
|
||||||
gamev1 "hyapp.local/api/proto/game/v1"
|
gamev1 "hyapp.local/api/proto/game/v1"
|
||||||
|
roomv1 "hyapp.local/api/proto/room/v1"
|
||||||
walletv1 "hyapp.local/api/proto/wallet/v1"
|
walletv1 "hyapp.local/api/proto/wallet/v1"
|
||||||
"hyapp/pkg/xerr"
|
"hyapp/pkg/xerr"
|
||||||
)
|
)
|
||||||
@ -324,7 +326,8 @@ func TestAcceptChallengeRejectsInsufficientCoinBalance(t *testing.T) {
|
|||||||
|
|
||||||
func TestAcceptChallengeRecordsChallengerCoinBalance(t *testing.T) {
|
func TestAcceptChallengeRecordsChallengerCoinBalance(t *testing.T) {
|
||||||
wallet := newFakeRoomRPSWallet(map[int64]int64{41: 1000, 42: 500})
|
wallet := newFakeRoomRPSWallet(map[int64]int64{41: 1000, 42: 500})
|
||||||
svc := New(Config{}, nil, nil, wallet)
|
room := &fakeRoomRPSRoom{}
|
||||||
|
svc := New(Config{}, nil, nil, wallet, room)
|
||||||
svc.now = func() time.Time { return time.UnixMilli(1770000000000) }
|
svc.now = func() time.Time { return time.UnixMilli(1770000000000) }
|
||||||
|
|
||||||
created, _, err := svc.CreateChallenge(context.Background(), &gamev1.CreateRoomRPSChallengeRequest{
|
created, _, err := svc.CreateChallenge(context.Background(), &gamev1.CreateRoomRPSChallengeRequest{
|
||||||
@ -356,6 +359,13 @@ func TestAcceptChallengeRecordsChallengerCoinBalance(t *testing.T) {
|
|||||||
if got := wallet.ops(); fmt.Sprint(got) != "[debit debit refund]" {
|
if got := wallet.ops(); fmt.Sprint(got) != "[debit debit refund]" {
|
||||||
t.Fatalf("winner settlement should only debit both and refund winner, got ops=%v", got)
|
t.Fatalf("winner settlement should only debit both and refund winner, got ops=%v", got)
|
||||||
}
|
}
|
||||||
|
if len(room.requests) != 1 {
|
||||||
|
t.Fatalf("settled PK must apply exactly one loser gift to room rocket, got %d", len(room.requests))
|
||||||
|
}
|
||||||
|
rocketGift := room.requests[0]
|
||||||
|
if rocketGift.GetSenderUserId() != 41 || rocketGift.GetTargetUserId() != 42 || rocketGift.GetGiftId() != "10001" || rocketGift.GetHeatValue() != 100 {
|
||||||
|
t.Fatalf("room rocket gift must describe loser -> winner and server stake: %+v", rocketGift)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestAcceptChallengeReturnsTakenWhenAnotherUserAlreadyAccepted(t *testing.T) {
|
func TestAcceptChallengeReturnsTakenWhenAnotherUserAlreadyAccepted(t *testing.T) {
|
||||||
@ -585,6 +595,15 @@ type fakeRoomRPSWallet struct {
|
|||||||
replays map[string]*walletv1.ApplyGameCoinChangeResponse
|
replays map[string]*walletv1.ApplyGameCoinChangeResponse
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type fakeRoomRPSRoom struct {
|
||||||
|
requests []*roomv1.ApplyRoomRPSGiftRequest
|
||||||
|
}
|
||||||
|
|
||||||
|
func (f *fakeRoomRPSRoom) ApplyRoomRPSGift(_ context.Context, req *roomv1.ApplyRoomRPSGiftRequest, _ ...grpc.CallOption) (*roomv1.ApplyRoomRPSGiftResponse, error) {
|
||||||
|
f.requests = append(f.requests, req)
|
||||||
|
return &roomv1.ApplyRoomRPSGiftResponse{}, nil
|
||||||
|
}
|
||||||
|
|
||||||
func newFakeRoomRPSWallet(balances map[int64]int64) *fakeRoomRPSWallet {
|
func newFakeRoomRPSWallet(balances map[int64]int64) *fakeRoomRPSWallet {
|
||||||
return &fakeRoomRPSWallet{balances: balances, replays: make(map[string]*walletv1.ApplyGameCoinChangeResponse)}
|
return &fakeRoomRPSWallet{balances: balances, replays: make(map[string]*walletv1.ApplyGameCoinChangeResponse)}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -585,6 +585,34 @@ type SendGift struct {
|
|||||||
// Type 返回命令类型。
|
// Type 返回命令类型。
|
||||||
func (SendGift) Type() string { return "send_gift" }
|
func (SendGift) Type() string { return "send_gift" }
|
||||||
|
|
||||||
|
// ApplyRoomRPSGift 记录房内 PK 最终结算后唯一真实支付的败者礼物。
|
||||||
|
// 它只恢复火箭状态,不重复执行钱包改账,也不冒充普通 SendGift 产生第二份礼物事实。
|
||||||
|
type ApplyRoomRPSGift struct {
|
||||||
|
Base
|
||||||
|
TargetUserID int64 `json:"target_user_id"`
|
||||||
|
GiftID string `json:"gift_id"`
|
||||||
|
HeatValue int64 `json:"heat_value"`
|
||||||
|
RocketTouched bool `json:"rocket_touched,omitempty"`
|
||||||
|
RocketAddedFuel int64 `json:"rocket_added_fuel,omitempty"`
|
||||||
|
RocketEffectiveFuel int64 `json:"rocket_effective_fuel,omitempty"`
|
||||||
|
RocketOverflowFuel int64 `json:"rocket_overflow_fuel,omitempty"`
|
||||||
|
RocketLevel int32 `json:"rocket_level,omitempty"`
|
||||||
|
RocketFuel int64 `json:"rocket_fuel,omitempty"`
|
||||||
|
RocketStatus string `json:"rocket_status,omitempty"`
|
||||||
|
RocketFuelThreshold int64 `json:"rocket_fuel_threshold,omitempty"`
|
||||||
|
RocketIgnitedAtMS int64 `json:"rocket_ignited_at_ms,omitempty"`
|
||||||
|
RocketLaunchAtMS int64 `json:"rocket_launch_at_ms,omitempty"`
|
||||||
|
RocketResetAtMS int64 `json:"rocket_reset_at_ms,omitempty"`
|
||||||
|
RocketTop1UserID int64 `json:"rocket_top1_user_id,omitempty"`
|
||||||
|
RocketIgniterUserID int64 `json:"rocket_igniter_user_id,omitempty"`
|
||||||
|
RocketID string `json:"rocket_id,omitempty"`
|
||||||
|
RocketConfigVersion int64 `json:"rocket_config_version,omitempty"`
|
||||||
|
RocketPendingLaunches []RocketPendingLaunch `json:"rocket_pending_launches,omitempty"`
|
||||||
|
RocketCurrentContributions []RocketContribution `json:"rocket_current_contributions,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ApplyRoomRPSGift) Type() string { return "apply_room_rps_gift" }
|
||||||
|
|
||||||
// GiftTargetHostScope 记录一个接收方在 gateway 入站时看到的主播工资入账资格。
|
// GiftTargetHostScope 记录一个接收方在 gateway 入站时看到的主播工资入账资格。
|
||||||
type GiftTargetHostScope struct {
|
type GiftTargetHostScope struct {
|
||||||
TargetUserID int64 `json:"target_user_id"`
|
TargetUserID int64 `json:"target_user_id"`
|
||||||
@ -881,6 +909,8 @@ func Deserialize(commandType string, payload []byte) (Command, error) {
|
|||||||
cmd = &UnbanUser{}
|
cmd = &UnbanUser{}
|
||||||
case SendGift{}.Type():
|
case SendGift{}.Type():
|
||||||
cmd = &SendGift{}
|
cmd = &SendGift{}
|
||||||
|
case ApplyRoomRPSGift{}.Type():
|
||||||
|
cmd = &ApplyRoomRPSGift{}
|
||||||
case LaunchRoomRocket{}.Type():
|
case LaunchRoomRocket{}.Type():
|
||||||
cmd = &LaunchRoomRocket{}
|
cmd = &LaunchRoomRocket{}
|
||||||
default:
|
default:
|
||||||
|
|||||||
@ -533,6 +533,12 @@ func replay(current *state.RoomState, cmd command.Command, committedAtMS int64)
|
|||||||
current.Rocket = rocketStateFromSettledGift(typed)
|
current.Rocket = rocketStateFromSettledGift(typed)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
current.Version++
|
||||||
|
case *command.ApplyRoomRPSGift:
|
||||||
|
// PK 账务已在 game/wallet owner 完成;恢复只应用首次提交时固化的火箭快照,绝不能再次扣费或补普通礼物热度。
|
||||||
|
if typed.RocketTouched {
|
||||||
|
current.Rocket = rocketStateFromRoomRPSGift(typed)
|
||||||
|
}
|
||||||
current.Version++
|
current.Version++
|
||||||
case *command.LaunchRoomRocket:
|
case *command.LaunchRoomRocket:
|
||||||
if current.Rocket == nil || !rocketPendingLaunchExists(current.Rocket.PendingLaunches, typed.RocketID, typed.Level) {
|
if current.Rocket == nil || !rocketPendingLaunchExists(current.Rocket.PendingLaunches, typed.RocketID, typed.Level) {
|
||||||
@ -579,6 +585,24 @@ func rocketStateFromSettledGift(cmd *command.SendGift) *state.RocketState {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func rocketStateFromRoomRPSGift(cmd *command.ApplyRoomRPSGift) *state.RocketState {
|
||||||
|
return &state.RocketState{
|
||||||
|
CurrentLevel: cmd.RocketLevel,
|
||||||
|
CurrentFuel: cmd.RocketFuel,
|
||||||
|
FuelThreshold: cmd.RocketFuelThreshold,
|
||||||
|
Status: cmd.RocketStatus,
|
||||||
|
IgnitedAtMS: cmd.RocketIgnitedAtMS,
|
||||||
|
LaunchAtMS: cmd.RocketLaunchAtMS,
|
||||||
|
ResetAtMS: cmd.RocketResetAtMS,
|
||||||
|
Top1UserID: cmd.RocketTop1UserID,
|
||||||
|
IgniterUserID: cmd.RocketIgniterUserID,
|
||||||
|
RocketID: cmd.RocketID,
|
||||||
|
ConfigVersion: cmd.RocketConfigVersion,
|
||||||
|
PendingLaunches: rocketPendingLaunchesFromCommand(cmd.RocketPendingLaunches),
|
||||||
|
CurrentContributions: rocketContributionsFromCommand(cmd.RocketCurrentContributions),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func rocketStateFromLaunchCommand(cmd *command.LaunchRoomRocket) *state.RocketState {
|
func rocketStateFromLaunchCommand(cmd *command.LaunchRoomRocket) *state.RocketState {
|
||||||
return &state.RocketState{
|
return &state.RocketState{
|
||||||
CurrentLevel: cmd.CurrentLevel,
|
CurrentLevel: cmd.CurrentLevel,
|
||||||
|
|||||||
@ -1361,6 +1361,34 @@ func TestRoomRocketGiftOverflowAndImmediateNextLevel(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestApplyRoomRPSGiftChargesRocketOnceWithoutOrdinaryGiftFact(t *testing.T) {
|
||||||
|
ctx := context.Background()
|
||||||
|
repository := mysqltest.NewRepository(t)
|
||||||
|
now := &fixedRoomRocketClock{now: time.Date(2026, 5, 20, 12, 0, 0, 0, time.UTC)}
|
||||||
|
svc := newRocketTestServiceWithDirectIM(t, repository, &rocketTestWallet{}, now, nil, newRecordingRoomDirectIMPublisher())
|
||||||
|
writeRocketConfig(t, ctx, repository, rocketConfigForTest(1000, 1000))
|
||||||
|
createRocketRoom(t, ctx, svc, "room-rps-rocket", 101, 9001)
|
||||||
|
|
||||||
|
req := &roomv1.ApplyRoomRPSGiftRequest{
|
||||||
|
Meta: &roomv1.RequestMeta{AppCode: "lalu", RequestId: "req-rps", CommandId: "room_rps_gift_challenge-1", ActorUserId: 202, RoomId: "room-rps-rocket"},
|
||||||
|
RoomId: "room-rps-rocket", SenderUserId: 202, TargetUserId: 101, GiftId: "10001", HeatValue: 100,
|
||||||
|
}
|
||||||
|
first, err := svc.ApplyRoomRPSGift(ctx, req)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("ApplyRoomRPSGift() error = %v", err)
|
||||||
|
}
|
||||||
|
replay, err := svc.ApplyRoomRPSGift(ctx, req)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatalf("ApplyRoomRPSGift() replay error = %v", err)
|
||||||
|
}
|
||||||
|
if first.GetRocket().GetCurrentFuel() != 100 || replay.GetRocket().GetCurrentFuel() != 100 || replay.GetResult().GetApplied() {
|
||||||
|
t.Fatalf("PK gift must fuel once and replay from command log: first=%+v replay=%+v", first, replay)
|
||||||
|
}
|
||||||
|
if got := outboxEventCounts(t, ctx, repository)["RoomGiftSent"]; got != 0 {
|
||||||
|
t.Fatalf("PK settlement must not fabricate an ordinary RoomGiftSent fact, got %d", got)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func TestRoomRocketProgressCoalescesOneSecondWindow(t *testing.T) {
|
func TestRoomRocketProgressCoalescesOneSecondWindow(t *testing.T) {
|
||||||
ctx := context.Background()
|
ctx := context.Background()
|
||||||
repository := mysqltest.NewRepository(t)
|
repository := mysqltest.NewRepository(t)
|
||||||
|
|||||||
107
services/room-service/internal/room/service/room_rps_gift.go
Normal file
107
services/room-service/internal/room/service/room_rps_gift.go
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
package service
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"strings"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
roomv1 "hyapp.local/api/proto/room/v1"
|
||||||
|
walletv1 "hyapp.local/api/proto/wallet/v1"
|
||||||
|
"hyapp/pkg/appcode"
|
||||||
|
"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"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ApplyRoomRPSGift 把 room-rps 最终由败者支付的一份礼物应用到火箭。
|
||||||
|
// 钱包已由 game-service 结算,因此本入口只接受服务端锁定的 heat_value,并用 command_id 保证重试不重复充能。
|
||||||
|
func (s *Service) ApplyRoomRPSGift(ctx context.Context, req *roomv1.ApplyRoomRPSGiftRequest) (*roomv1.ApplyRoomRPSGiftResponse, error) {
|
||||||
|
ctx = contextFromMeta(ctx, req.GetMeta())
|
||||||
|
if req.GetSenderUserId() <= 0 || req.GetTargetUserId() <= 0 || strings.TrimSpace(req.GetGiftId()) == "" || req.GetHeatValue() <= 0 {
|
||||||
|
return nil, xerr.New(xerr.InvalidArgument, "room rps settled gift is incomplete")
|
||||||
|
}
|
||||||
|
cmd := command.ApplyRoomRPSGift{
|
||||||
|
Base: baseFromMeta(req.GetMeta()),
|
||||||
|
TargetUserID: req.GetTargetUserId(),
|
||||||
|
GiftID: strings.TrimSpace(req.GetGiftId()),
|
||||||
|
HeatValue: req.GetHeatValue(),
|
||||||
|
}
|
||||||
|
cmd.Base.Room = strings.TrimSpace(req.GetRoomId())
|
||||||
|
cmd.Base.ActorID = req.GetSenderUserId()
|
||||||
|
|
||||||
|
result, err := s.mutateRoom(ctx, cmd, true, func(now time.Time, current *state.RoomState, _ *rank.LocalRank) (mutationResult, []outbox.Record, error) {
|
||||||
|
roomMeta, exists, err := s.repository.GetRoomMeta(ctx, cmd.RoomID())
|
||||||
|
if err != nil {
|
||||||
|
return mutationResult{}, nil, err
|
||||||
|
}
|
||||||
|
if !exists {
|
||||||
|
return mutationResult{}, nil, xerr.New(xerr.NotFound, "room not found")
|
||||||
|
}
|
||||||
|
cfg, err := s.roomRocketConfig(ctx)
|
||||||
|
if err != nil {
|
||||||
|
return mutationResult{}, nil, err
|
||||||
|
}
|
||||||
|
// 复用普通送礼的唯一火箭规则实现,但不进入钱包、房间热度、礼物榜或 RoomGiftSent 链路。
|
||||||
|
giftCmd := command.SendGift{Base: cmd.Base, TargetUserID: cmd.TargetUserID, TargetUserIDs: []int64{cmd.TargetUserID}, GiftID: cmd.GiftID, GiftCount: 1, HeatValue: cmd.HeatValue}
|
||||||
|
settledGift := giftCmd
|
||||||
|
billing := &walletv1.DebitGiftResponse{HeatValue: cmd.HeatValue}
|
||||||
|
rocketApply, err := s.applyRoomRocketGift(now, current, cfg, giftCmd, &settledGift, billing, roomMeta)
|
||||||
|
if err != nil {
|
||||||
|
return mutationResult{}, nil, err
|
||||||
|
}
|
||||||
|
copyRoomRPSRocketSnapshot(&cmd, settledGift)
|
||||||
|
payload, err := command.Serialize(cmd)
|
||||||
|
if err != nil {
|
||||||
|
return mutationResult{}, nil, err
|
||||||
|
}
|
||||||
|
current.Version++
|
||||||
|
|
||||||
|
records := make([]outbox.Record, 0, 1)
|
||||||
|
var progress *roomRocketProgressPending
|
||||||
|
if rocketApply.progressEvent != nil {
|
||||||
|
progressRecord, err := outbox.Build(current.RoomID, "RoomRocketFuelChanged", current.Version, now, rocketApply.progressEvent)
|
||||||
|
if err != nil {
|
||||||
|
return mutationResult{}, nil, err
|
||||||
|
}
|
||||||
|
progressRecord.AppCode = appcode.FromContext(ctx)
|
||||||
|
if progressRecord.Envelope != nil {
|
||||||
|
progressRecord.Envelope.AppCode = progressRecord.AppCode
|
||||||
|
}
|
||||||
|
progress = &roomRocketProgressPending{record: progressRecord, rocketID: rocketApply.progressEvent.GetRocketId(), level: rocketApply.progressEvent.GetLevel(), currentFuel: rocketApply.progressEvent.GetCurrentFuel(), roomVersion: current.Version}
|
||||||
|
}
|
||||||
|
if rocketApply.ignited != nil {
|
||||||
|
ignitedRecord, err := outbox.Build(current.RoomID, "RoomRocketIgnited", current.Version, now, rocketApply.ignited)
|
||||||
|
if err != nil {
|
||||||
|
return mutationResult{}, nil, err
|
||||||
|
}
|
||||||
|
records = append(records, ignitedRecord)
|
||||||
|
}
|
||||||
|
return mutationResult{snapshot: current.ToProto(), commandPayload: payload, roomRocketProgress: progress}, records, nil
|
||||||
|
})
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &roomv1.ApplyRoomRPSGiftResponse{Result: commandResult(result.applied, result.snapshot.GetVersion(), s.clock.Now()), Rocket: result.snapshot.GetRocket()}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func copyRoomRPSRocketSnapshot(target *command.ApplyRoomRPSGift, source command.SendGift) {
|
||||||
|
target.RocketTouched = source.RocketTouched
|
||||||
|
target.RocketAddedFuel = source.RocketAddedFuel
|
||||||
|
target.RocketEffectiveFuel = source.RocketEffectiveFuel
|
||||||
|
target.RocketOverflowFuel = source.RocketOverflowFuel
|
||||||
|
target.RocketLevel = source.RocketLevel
|
||||||
|
target.RocketFuel = source.RocketFuel
|
||||||
|
target.RocketStatus = source.RocketStatus
|
||||||
|
target.RocketFuelThreshold = source.RocketFuelThreshold
|
||||||
|
target.RocketIgnitedAtMS = source.RocketIgnitedAtMS
|
||||||
|
target.RocketLaunchAtMS = source.RocketLaunchAtMS
|
||||||
|
target.RocketResetAtMS = source.RocketResetAtMS
|
||||||
|
target.RocketTop1UserID = source.RocketTop1UserID
|
||||||
|
target.RocketIgniterUserID = source.RocketIgniterUserID
|
||||||
|
target.RocketID = source.RocketID
|
||||||
|
target.RocketConfigVersion = source.RocketConfigVersion
|
||||||
|
target.RocketPendingLaunches = source.RocketPendingLaunches
|
||||||
|
target.RocketCurrentContributions = source.RocketCurrentContributions
|
||||||
|
}
|
||||||
@ -439,6 +439,20 @@ func (s *Server) SendGift(ctx context.Context, req *roomv1.SendGiftRequest) (*ro
|
|||||||
return mapServiceResult(s.svc.SendGift(ctx, req))
|
return mapServiceResult(s.svc.SendGift(ctx, req))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ApplyRoomRPSGift 接收 game-service 已完成结算的败者礼物,并路由到房间 owner 节点的 Room Cell。
|
||||||
|
func (s *Server) ApplyRoomRPSGift(ctx context.Context, req *roomv1.ApplyRoomRPSGiftRequest) (*roomv1.ApplyRoomRPSGiftResponse, error) {
|
||||||
|
if req == nil || req.GetMeta() == nil {
|
||||||
|
return nil, xerr.ToGRPCError(xerr.New(xerr.InvalidArgument, "room rps settled gift meta is required"))
|
||||||
|
}
|
||||||
|
ctx = contextWithMetaApp(ctx, req.GetMeta())
|
||||||
|
if resp, forwarded, err := forwardCommand(s, ctx, req.GetMeta(), func(callCtx context.Context, client roomv1.RoomCommandServiceClient) (*roomv1.ApplyRoomRPSGiftResponse, error) {
|
||||||
|
return client.ApplyRoomRPSGift(callCtx, req)
|
||||||
|
}); forwarded || err != nil {
|
||||||
|
return resp, err
|
||||||
|
}
|
||||||
|
return mapServiceResult(s.svc.ApplyRoomRPSGift(ctx, req))
|
||||||
|
}
|
||||||
|
|
||||||
// FollowRoom 建立用户对房间的关注关系。
|
// FollowRoom 建立用户对房间的关注关系。
|
||||||
func (s *Server) FollowRoom(ctx context.Context, req *roomv1.FollowRoomRequest) (*roomv1.FollowRoomResponse, error) {
|
func (s *Server) FollowRoom(ctx context.Context, req *roomv1.FollowRoomRequest) (*roomv1.FollowRoomResponse, error) {
|
||||||
// 房间关注是用户-房间关系事实,不改变 Room Cell 核心状态,因此不需要 owner 转发。
|
// 房间关注是用户-房间关系事实,不改变 Room Cell 核心状态,因此不需要 owner 转发。
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user