From c9227fbc969dbc429e237c9281358008fd46bd43 Mon Sep 17 00:00:00 2001 From: DengBiao <2319963317@qq.com> Date: Wed, 29 Mar 2023 14:24:38 +0800 Subject: [PATCH] update --- README.md | 10 +- cmd/business/main.go | 2 +- cmd/logic/main.go | 2 +- internal/logic/api/logic_ext.go | 26 + internal/logic/app/friend_app.go | 5 + internal/logic/app/group_app.go | 10 + internal/logic/app/message_app.go | 25 + .../logic/domain/friend/friend_service.go | 30 + internal/logic/domain/group/model/group.go | 37 +- .../domain/message/service/message_service.go | 79 ++ internal/logic/proxy/message_proxy.go | 1 + pkg/pb/connect.ext.pb.go | 725 +++++++++++++----- pkg/pb/logic.ext.pb.go | 656 ++++++++++------ pkg/proto/connect.ext.proto | 41 + pkg/proto/logic.ext.proto | 16 + 15 files changed, 1255 insertions(+), 410 deletions(-) diff --git a/README.md b/README.md index 8d4530a..d90006c 100644 --- a/README.md +++ b/README.md @@ -69,17 +69,17 @@ TCP的网络层使用linux的epoll实现,相比golang原生,能减少gorouti 采用读扩散,会将消息短暂的保存到Redis,长连接登录消息同步不会同步离线消息。 ### 核心流程时序图 #### 长连接登录 -![登录.png](https://upload-images.jianshu.io/upload_images/5760439-2e54d3c5dd0a44c1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) +![登录.png](https://camo.githubusercontent.com/c3bb28e0bfe068f5ba619d571d2c665adc83138d56d1f5cb76c76c98e8d3ca74/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f353736303433392d326535346433633564643061343463312e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430) #### 离线消息同步 -![离线消息同步.png](https://upload-images.jianshu.io/upload_images/5760439-aa513ea0de851e12.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) +![离线消息同步.png](https://camo.githubusercontent.com/19edb5f72f832ef38ba2152f8179f91aaa55eefc3943afd44431f68824e3387b/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f353736303433392d616135313365613064653835316531322e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430) #### 心跳 -![心跳.png](https://upload-images.jianshu.io/upload_images/5760439-26d491374da3843b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) +![心跳.png](https://camo.githubusercontent.com/f8bbad45931b4b6c14d9ac6b4156459372593a8202ee7ac3978d4e54f79818aa/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f353736303433392d323664343931333734646133383433622e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430) #### 消息单发 c1.d1和c1.d2分别表示c1用户的两个设备d1和d2,c2.d3和c2.d4同理 -![消息单发.png](https://upload-images.jianshu.io/upload_images/5760439-35f1a91c8d7fffa6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) +![消息单发.png](https://camo.githubusercontent.com/18705cdbc15e29fdabdaf473f297337ac48d06e5e86662e9f72261d910821ce4/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f353736303433392d333566316139316338643766666661362e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430) #### 群组消息群发 c1,c2.c3表示一个群组中的三个用户 -![消息群发.png](https://upload-images.jianshu.io/upload_images/5760439-47a87c45b899b3f9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240) +![消息群发.png](https://camo.githubusercontent.com/b1fdc7d86b79d9c2375c7e438f13ff6379381575d5b3873adc87ceb10d642a25/68747470733a2f2f75706c6f61642d696d616765732e6a69616e7368752e696f2f75706c6f61645f696d616765732f353736303433392d343761383763343562383939623366392e706e673f696d6167654d6f6772322f6175746f2d6f7269656e742f7374726970253743696d61676556696577322f322f772f31323430) #### APP 基于Flutter写了一个简单的客户端 GitHub地址:https://github.com/alberliu/fim diff --git a/cmd/business/main.go b/cmd/business/main.go index 3d0f1d3..641d0f7 100644 --- a/cmd/business/main.go +++ b/cmd/business/main.go @@ -20,7 +20,7 @@ import ( ) func main() { - config.Init() + //config.Init() db.Init() server := grpc.NewServer(grpc.UnaryInterceptor(interceptor.NewInterceptor("business_interceptor", urlwhitelist.Business))) diff --git a/cmd/logic/main.go b/cmd/logic/main.go index c74867c..4328142 100644 --- a/cmd/logic/main.go +++ b/cmd/logic/main.go @@ -25,7 +25,7 @@ func init() { } func main() { - config.Init() + //config.Init() db.Init() server := grpc.NewServer(grpc.UnaryInterceptor(interceptor.NewInterceptor("logic_interceptor", urlwhitelist.Logic))) diff --git a/internal/logic/api/logic_ext.go b/internal/logic/api/logic_ext.go index 39922ba..3ad4bf2 100644 --- a/internal/logic/api/logic_ext.go +++ b/internal/logic/api/logic_ext.go @@ -10,6 +10,32 @@ import ( type LogicExtServer struct{} +func (s *LogicExtServer) SendRedPacket(ctx context.Context, in *pb.SendRedPacketReq) (*pb.SendRedPacketResp, error) { + userId, deviceId, err := grpclib.GetCtxData(ctx) + if err != nil { + return nil, err + } + if in.MessageContentBack != "" { + buf, err := proto.Marshal(&pb.Text{ + Text: in.MessageContentBack, + }) + if err != nil { + return nil, err + } + in.MessageContent = buf + } + sender := pb.Sender{ + SenderType: pb.SenderType_ST_USER, + SenderId: userId, + DeviceId: deviceId, + } + seq, err := app.MessageApp.SendRedPackage(ctx, &sender, in) + if err != nil { + return nil, err + } + return &pb.SendRedPacketResp{Seq: seq}, nil +} + func (s *LogicExtServer) RecallMessage(ctx context.Context, in *pb.RecallMessageReq) (*pb.RecallMessageResp, error) { userId, deviceId, err := grpclib.GetCtxData(ctx) if err != nil { diff --git a/internal/logic/app/friend_app.go b/internal/logic/app/friend_app.go index dec5d28..d194b8a 100644 --- a/internal/logic/app/friend_app.go +++ b/internal/logic/app/friend_app.go @@ -61,3 +61,8 @@ func (*friendApp) SendToFriend(ctx context.Context, sender *pb.Sender, req *pb.S func (*friendApp) RecallMessageSendToFriend(ctx context.Context, sender *pb.Sender, req *pb.RecallMessageReq) (int64, error) { return frienddomain.FriendService.RecallMessageSendToFriend(ctx, sender, req) } + +// RedPackageMessageSendToFriend 红包发送至好友 +func (*friendApp) RedPackageMessageSendToFriend(ctx context.Context, sender *pb.Sender, req *pb.SendRedPacketReq) (int64, error) { + return frienddomain.FriendService.RedPackageMessageSendToFriend(ctx, sender, req) +} diff --git a/internal/logic/app/group_app.go b/internal/logic/app/group_app.go index 344a382..505ba0c 100644 --- a/internal/logic/app/group_app.go +++ b/internal/logic/app/group_app.go @@ -158,3 +158,13 @@ func (*groupApp) RecallSendMessage(ctx context.Context, sender *pb.Sender, req * return group.RecallSendMessage(ctx, sender, req) } + +// SendRedPackage 发送红包消息 +func (*groupApp) SendRedPackage(ctx context.Context, sender *pb.Sender, req *pb.SendRedPacketReq) (int64, error) { + group, err := repo.GroupRepo.Get(req.ReceiverId) + if err != nil { + return 0, err + } + + return group.SendRedPackage(ctx, sender, req) +} diff --git a/internal/logic/app/message_app.go b/internal/logic/app/message_app.go index 09185d4..d9190eb 100644 --- a/internal/logic/app/message_app.go +++ b/internal/logic/app/message_app.go @@ -22,6 +22,11 @@ func (*messageApp) RecallMessageSendToUser(ctx context.Context, sender *pb.Sende return service.MessageService.RecallMessageSendToUser(ctx, sender, toUserId, req, isRecallMessageUser) } +// SendRedPackageToUser 发送红包给用户 +func (*messageApp) SendRedPackageToUser(ctx context.Context, sender *pb.Sender, toUserId int64, req *pb.SendRedPacketReq) (int64, error) { + return service.MessageService.SendRedPackageToUser(ctx, sender, toUserId, req) +} + // PushToUser 推送消息给用户 func (*messageApp) PushToUser(ctx context.Context, userId int64, code pb.PushCode, message proto.Message, isPersist bool) error { return service.PushService.PushToUser(ctx, userId, code, message, isPersist) @@ -82,3 +87,23 @@ func (s *messageApp) RecallMessage(ctx context.Context, sender *pb.Sender, req * } return 0, nil } + +// SendRedPackage 发送红包消息 +func (s *messageApp) SendRedPackage(ctx context.Context, sender *pb.Sender, req *pb.SendRedPacketReq) (int64, error) { + // 如果发送者是用户,需要补充用户的信息 + service.MessageService.AddSenderInfo(sender) + switch req.ReceiverType { + // 消息接收者为用户 + case pb.ReceiverType_RT_USER: + // 发送者为用户 + if sender.SenderType == pb.SenderType_ST_USER { + return FriendApp.RedPackageMessageSendToFriend(ctx, sender, req) + } else { + return s.SendRedPackageToUser(ctx, sender, req.ReceiverId, req) + } + // 消息接收者是群组 + case pb.ReceiverType_RT_GROUP: + return GroupApp.SendRedPackage(ctx, sender, req) + } + return 0, nil +} diff --git a/internal/logic/domain/friend/friend_service.go b/internal/logic/domain/friend/friend_service.go index bf9a3ff..fb74fbd 100644 --- a/internal/logic/domain/friend/friend_service.go +++ b/internal/logic/domain/friend/friend_service.go @@ -244,3 +244,33 @@ func (*friendService) RecallMessageSendToFriend(ctx context.Context, sender *pb. return seq, nil } + +// RedPackageMessageSendToFriend 红包发送至好友 +func (*friendService) RedPackageMessageSendToFriend(ctx context.Context, sender *pb.Sender, req *pb.SendRedPacketReq) (int64, error) { + //TODO::判断是否为好友 + friend, err := FriendRepo.Get(sender.SenderId, req.ReceiverId) + if err != nil { + return 0, err + } + if friend == nil || friend.Status != FriendStatusAgree { + return 0, gerrors.ErrNotIsFriend + } + + utils.FilePutContents("RedPackageMessageSendToFriend", utils.SerializeStr(map[string]interface{}{ + "send": sender, + "req": req, + })) + // 发给发送者 + seq, err := proxy.MessageProxy.SendRedPackageToUser(ctx, sender, sender.SenderId, req) + if err != nil { + return 0, err + } + + // 发给接收者 + _, err = proxy.MessageProxy.SendRedPackageToUser(ctx, sender, req.ReceiverId, req) + if err != nil { + return 0, err + } + + return seq, nil +} diff --git a/internal/logic/domain/group/model/group.go b/internal/logic/domain/group/model/group.go index 4015dff..0d33ff0 100644 --- a/internal/logic/domain/group/model/group.go +++ b/internal/logic/domain/group/model/group.go @@ -79,7 +79,7 @@ func CreateGroup(userId int64, in *pb.CreateGroupReq) *Group { group.Members = append(group.Members, GroupUser{ GroupId: group.Id, UserId: userId, - MemberType: int(pb.MembertypeGmtAdmin), + MemberType: int(pb.MemberType_GMT_ADMIN), CreateTime: now, UpdateTime: now, UpdateType: UpdateTypeUpdate, @@ -196,6 +196,41 @@ func (g *Group) RecallSendMessage(ctx context.Context, sender *pb.Sender, req *p return userSeq, nil } +// SendRedPackage 发送红包消息发送至群组 +func (g *Group) SendRedPackage(ctx context.Context, sender *pb.Sender, req *pb.SendRedPacketReq) (int64, error) { + if sender.SenderType == pb.SenderType_ST_USER && !g.IsMember(sender.SenderId) { + logger.Sugar.Error(ctx, sender.SenderId, req.ReceiverId, "不在群组内") + return 0, gerrors.ErrNotInGroup + } + + // 如果发送者是用户,将消息发送给发送者,获取用户seq + var userSeq int64 + var err error + if sender.SenderType == pb.SenderType_ST_USER { + userSeq, err = proxy.MessageProxy.SendRedPackageToUser(ctx, sender, sender.SenderId, req) + if err != nil { + return 0, err + } + } + + go func() { + defer util.RecoverPanic() + // 将消息发送给群组用户,使用写扩散 + for _, user := range g.Members { + // 前面已经发送过,这里不需要再发送 + if sender.SenderType == pb.SenderType_ST_USER && user.UserId == sender.SenderId { + continue + } + _, err := proxy.MessageProxy.SendRedPackageToUser(grpclib.NewAndCopyRequestId(ctx), sender, user.UserId, req) + if err != nil { + return + } + } + }() + + return userSeq, nil +} + func (g *Group) IsMember(userId int64) bool { for i := range g.Members { if g.Members[i].UserId == userId { diff --git a/internal/logic/domain/message/service/message_service.go b/internal/logic/domain/message/service/message_service.go index d9ad26b..5273eb4 100644 --- a/internal/logic/domain/message/service/message_service.go +++ b/internal/logic/domain/message/service/message_service.go @@ -348,6 +348,85 @@ func (*messageService) RecallMessageSendToUser(ctx context.Context, sender *pb.S return seq, nil } +// SendRedPackageToUser 发送红包给用户 +func (*messageService) SendRedPackageToUser(ctx context.Context, sender *pb.Sender, toUserId int64, req *pb.SendRedPacketReq) (int64, error) { + masterId, _ := grpclib.GetCtxMasterId(ctx) + logger.Logger.Debug("SendRedPackageToUser", + zap.String("master_id", masterId), + zap.Int64("request_id", grpclib.GetCtxRequestId(ctx)), + zap.Int64("to_user_id", toUserId)) + var ( + seq int64 = 0 + err error + ) + + //1、发送一条新的消息 + seq, err = SeqService.GetUserNext(ctx, toUserId) + if err != nil { + return 0, err + } + + selfMessage := model.Message{ + UserId: toUserId, + RequestId: grpclib.GetCtxRequestId(ctx), + SenderType: int32(sender.SenderType), + SenderId: sender.SenderId, + ReceiverType: int32(req.ReceiverType), + ReceiverId: req.ReceiverId, + //ToUserIds: model.FormatUserIds(req.ToUserIds), + Type: int(req.MessageType), + Content: req.MessageContent, + Seq: seq, + SendTime: util.UnunixMilliTime(req.SendTime), + Status: int32(pb.MessageStatus_MS_NORMAL), + } + err = repo.MessageRepo.Save(selfMessage) + if err != nil { + logger.Sugar.Error(err) + return 0, err + } + + if sender.SenderType == pb.SenderType_ST_USER && sender.SenderId == toUserId { + // 用户需要增加自己的已经同步的序列号 + err = repo.DeviceACKRepo.Set(sender.SenderId, sender.DeviceId, seq) + if err != nil { + return 0, err + } + } + + message := pb.Message{ + Sender: sender, + ReceiverType: req.ReceiverType, + ReceiverId: req.ReceiverId, + //ToUserIds: req.ToUserIds, + MessageType: pb.MessageType_MT_RED_PACKAGE, + MessageContent: req.MessageContent, + Seq: seq, + SendTime: req.SendTime, + Status: pb.MessageStatus_MS_NORMAL, + } + + // 查询用户在线设备 + devices, err := proxy.DeviceProxy.ListOnlineByUserId(ctx, toUserId) + if err != nil { + logger.Sugar.Error(err) + return 0, err + } + + for i := range devices { + if sender.DeviceId == devices[i].DeviceId { + // 消息不需要投递给发送消息的设备 + continue + } + err = MessageService.SendToDevice(ctx, devices[i], &message) + if err != nil { + logger.Sugar.Error(err, zap.Any("SendToUser error", devices[i]), zap.Error(err)) + } + } + + return seq, nil +} + // SendToDevice 将消息发送给设备 func (*messageService) SendToDevice(ctx context.Context, device *pb.Device, message *pb.Message) error { messageSend := pb.MessageSend{Message: message} diff --git a/internal/logic/proxy/message_proxy.go b/internal/logic/proxy/message_proxy.go index 42b102c..57c7973 100644 --- a/internal/logic/proxy/message_proxy.go +++ b/internal/logic/proxy/message_proxy.go @@ -12,5 +12,6 @@ var MessageProxy messageProxy type messageProxy interface { SendToUser(ctx context.Context, sender *pb.Sender, toUserId int64, req *pb.SendMessageReq) (int64, error) RecallMessageSendToUser(ctx context.Context, sender *pb.Sender, toUserId int64, req *pb.RecallMessageReq, isRecallMessageUser bool) (int64, error) + SendRedPackageToUser(ctx context.Context, sender *pb.Sender, toUserId int64, req *pb.SendRedPacketReq) (int64, error) PushToUser(ctx context.Context, userId int64, code pb.PushCode, message proto.Message, isPersist bool) error } diff --git a/pkg/pb/connect.ext.pb.go b/pkg/pb/connect.ext.pb.go index 4b8a750..6a69037 100644 --- a/pkg/pb/connect.ext.pb.go +++ b/pkg/pb/connect.ext.pb.go @@ -82,43 +82,46 @@ func (PackageType) EnumDescriptor() ([]byte, []int) { type MessageType int32 const ( - MessageType_MT_UNKNOWN MessageType = 0 // 未知 - MessageType_MT_TEXT MessageType = 1 // 文本 - MessageType_MT_FACE MessageType = 2 // 表情 - MessageType_MT_VOICE MessageType = 3 // 语音消息 - MessageType_MT_IMAGE MessageType = 4 // 图片 - MessageType_MT_FILE MessageType = 5 // 文件 - MessageType_MT_LOCATION MessageType = 6 // 地理位置 - MessageType_MT_COMMAND MessageType = 7 // 指令推送 - MessageType_MT_CUSTOM MessageType = 8 // 自定义 - MessageType_MT_RECALL MessageType = 9 // 撤回消息 + MessageType_MT_UNKNOWN MessageType = 0 // 未知 + MessageType_MT_TEXT MessageType = 1 // 文本 + MessageType_MT_FACE MessageType = 2 // 表情 + MessageType_MT_VOICE MessageType = 3 // 语音消息 + MessageType_MT_IMAGE MessageType = 4 // 图片 + MessageType_MT_FILE MessageType = 5 // 文件 + MessageType_MT_LOCATION MessageType = 6 // 地理位置 + MessageType_MT_COMMAND MessageType = 7 // 指令推送 + MessageType_MT_CUSTOM MessageType = 8 // 自定义 + MessageType_MT_RECALL MessageType = 9 // 撤回消息 + MessageType_MT_RED_PACKAGE MessageType = 10 // 红包消息 ) // Enum value maps for MessageType. var ( MessageType_name = map[int32]string{ - 0: "MT_UNKNOWN", - 1: "MT_TEXT", - 2: "MT_FACE", - 3: "MT_VOICE", - 4: "MT_IMAGE", - 5: "MT_FILE", - 6: "MT_LOCATION", - 7: "MT_COMMAND", - 8: "MT_CUSTOM", - 9: "MT_RECALL", + 0: "MT_UNKNOWN", + 1: "MT_TEXT", + 2: "MT_FACE", + 3: "MT_VOICE", + 4: "MT_IMAGE", + 5: "MT_FILE", + 6: "MT_LOCATION", + 7: "MT_COMMAND", + 8: "MT_CUSTOM", + 9: "MT_RECALL", + 10: "MT_RED_PACKAGE", } MessageType_value = map[string]int32{ - "MT_UNKNOWN": 0, - "MT_TEXT": 1, - "MT_FACE": 2, - "MT_VOICE": 3, - "MT_IMAGE": 4, - "MT_FILE": 5, - "MT_LOCATION": 6, - "MT_COMMAND": 7, - "MT_CUSTOM": 8, - "MT_RECALL": 9, + "MT_UNKNOWN": 0, + "MT_TEXT": 1, + "MT_FACE": 2, + "MT_VOICE": 3, + "MT_IMAGE": 4, + "MT_FILE": 5, + "MT_LOCATION": 6, + "MT_COMMAND": 7, + "MT_CUSTOM": 8, + "MT_RECALL": 9, + "MT_RED_PACKAGE": 10, } ) @@ -149,6 +152,168 @@ func (MessageType) EnumDescriptor() ([]byte, []int) { return file_connect_ext_proto_rawDescGZIP(), []int{1} } +// 红包类型 +type RedPacketType int32 + +const ( + RedPacketType_RPT_UNKNOWN RedPacketType = 0 // 未知 + RedPacketType_RPT_FRIEND RedPacketType = 1 // 好友红包 + RedPacketType_RPT_GROUP_NORMAL RedPacketType = 2 // 群组普通红包 + RedPacketType_RPT_GROUP_LUCK RedPacketType = 3 // 群组手气红包 + RedPacketType_RPT_GROUP_SPECIALLY RedPacketType = 4 // 群组专属红包 + RedPacketType_RPT_SYSTEM_FOR RedPacketType = 5 // 系统红包 +) + +// Enum value maps for RedPacketType. +var ( + RedPacketType_name = map[int32]string{ + 0: "RPT_UNKNOWN", + 1: "RPT_FRIEND", + 2: "RPT_GROUP_NORMAL", + 3: "RPT_GROUP_LUCK", + 4: "RPT_GROUP_SPECIALLY", + 5: "RPT_SYSTEM_FOR", + } + RedPacketType_value = map[string]int32{ + "RPT_UNKNOWN": 0, + "RPT_FRIEND": 1, + "RPT_GROUP_NORMAL": 2, + "RPT_GROUP_LUCK": 3, + "RPT_GROUP_SPECIALLY": 4, + "RPT_SYSTEM_FOR": 5, + } +) + +func (x RedPacketType) Enum() *RedPacketType { + p := new(RedPacketType) + *p = x + return p +} + +func (x RedPacketType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RedPacketType) Descriptor() protoreflect.EnumDescriptor { + return file_connect_ext_proto_enumTypes[2].Descriptor() +} + +func (RedPacketType) Type() protoreflect.EnumType { + return &file_connect_ext_proto_enumTypes[2] +} + +func (x RedPacketType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RedPacketType.Descriptor instead. +func (RedPacketType) EnumDescriptor() ([]byte, []int) { + return file_connect_ext_proto_rawDescGZIP(), []int{2} +} + +// 红包消息类型 +type RedPacketMessageType int32 + +const ( + RedPacketMessageType_RMT_UNKNOWN RedPacketMessageType = 0 // 未知 + RedPacketMessageType_RMT_SEND RedPacketMessageType = 1 // 发红包 + RedPacketMessageType_RMT_GRAB RedPacketMessageType = 2 // 抢红包 +) + +// Enum value maps for RedPacketMessageType. +var ( + RedPacketMessageType_name = map[int32]string{ + 0: "RMT_UNKNOWN", + 1: "RMT_SEND", + 2: "RMT_GRAB", + } + RedPacketMessageType_value = map[string]int32{ + "RMT_UNKNOWN": 0, + "RMT_SEND": 1, + "RMT_GRAB": 2, + } +) + +func (x RedPacketMessageType) Enum() *RedPacketMessageType { + p := new(RedPacketMessageType) + *p = x + return p +} + +func (x RedPacketMessageType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RedPacketMessageType) Descriptor() protoreflect.EnumDescriptor { + return file_connect_ext_proto_enumTypes[3].Descriptor() +} + +func (RedPacketMessageType) Type() protoreflect.EnumType { + return &file_connect_ext_proto_enumTypes[3] +} + +func (x RedPacketMessageType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RedPacketMessageType.Descriptor instead. +func (RedPacketMessageType) EnumDescriptor() ([]byte, []int) { + return file_connect_ext_proto_rawDescGZIP(), []int{3} +} + +// 红包状态类型 +type RedPacketStatusType int32 + +const ( + RedPacketStatusType_RPS_NOT_DRAW RedPacketStatusType = 0 // 未领取 + RedPacketStatusType_RPS_DRAWING RedPacketStatusType = 1 // 领取中 + RedPacketStatusType_RPS_DRAW_OVER RedPacketStatusType = 2 // 领取完 + RedPacketStatusType_RPS_EXPIRE RedPacketStatusType = 3 //已过期 +) + +// Enum value maps for RedPacketStatusType. +var ( + RedPacketStatusType_name = map[int32]string{ + 0: "RPS_NOT_DRAW", + 1: "RPS_DRAWING", + 2: "RPS_DRAW_OVER", + 3: "RPS_EXPIRE", + } + RedPacketStatusType_value = map[string]int32{ + "RPS_NOT_DRAW": 0, + "RPS_DRAWING": 1, + "RPS_DRAW_OVER": 2, + "RPS_EXPIRE": 3, + } +) + +func (x RedPacketStatusType) Enum() *RedPacketStatusType { + p := new(RedPacketStatusType) + *p = x + return p +} + +func (x RedPacketStatusType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RedPacketStatusType) Descriptor() protoreflect.EnumDescriptor { + return file_connect_ext_proto_enumTypes[4].Descriptor() +} + +func (RedPacketStatusType) Type() protoreflect.EnumType { + return &file_connect_ext_proto_enumTypes[4] +} + +func (x RedPacketStatusType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RedPacketStatusType.Descriptor instead. +func (RedPacketStatusType) EnumDescriptor() ([]byte, []int) { + return file_connect_ext_proto_rawDescGZIP(), []int{4} +} + type ReceiverType int32 const ( @@ -185,11 +350,11 @@ func (x ReceiverType) String() string { } func (ReceiverType) Descriptor() protoreflect.EnumDescriptor { - return file_connect_ext_proto_enumTypes[2].Descriptor() + return file_connect_ext_proto_enumTypes[5].Descriptor() } func (ReceiverType) Type() protoreflect.EnumType { - return &file_connect_ext_proto_enumTypes[2] + return &file_connect_ext_proto_enumTypes[5] } func (x ReceiverType) Number() protoreflect.EnumNumber { @@ -198,7 +363,7 @@ func (x ReceiverType) Number() protoreflect.EnumNumber { // Deprecated: Use ReceiverType.Descriptor instead. func (ReceiverType) EnumDescriptor() ([]byte, []int) { - return file_connect_ext_proto_rawDescGZIP(), []int{2} + return file_connect_ext_proto_rawDescGZIP(), []int{5} } type SenderType int32 @@ -237,11 +402,11 @@ func (x SenderType) String() string { } func (SenderType) Descriptor() protoreflect.EnumDescriptor { - return file_connect_ext_proto_enumTypes[3].Descriptor() + return file_connect_ext_proto_enumTypes[6].Descriptor() } func (SenderType) Type() protoreflect.EnumType { - return &file_connect_ext_proto_enumTypes[3] + return &file_connect_ext_proto_enumTypes[6] } func (x SenderType) Number() protoreflect.EnumNumber { @@ -250,7 +415,7 @@ func (x SenderType) Number() protoreflect.EnumNumber { // Deprecated: Use SenderType.Descriptor instead. func (SenderType) EnumDescriptor() ([]byte, []int) { - return file_connect_ext_proto_rawDescGZIP(), []int{3} + return file_connect_ext_proto_rawDescGZIP(), []int{6} } type MessageStatus int32 @@ -286,11 +451,11 @@ func (x MessageStatus) String() string { } func (MessageStatus) Descriptor() protoreflect.EnumDescriptor { - return file_connect_ext_proto_enumTypes[4].Descriptor() + return file_connect_ext_proto_enumTypes[7].Descriptor() } func (MessageStatus) Type() protoreflect.EnumType { - return &file_connect_ext_proto_enumTypes[4] + return &file_connect_ext_proto_enumTypes[7] } func (x MessageStatus) Number() protoreflect.EnumNumber { @@ -299,7 +464,7 @@ func (x MessageStatus) Number() protoreflect.EnumNumber { // Deprecated: Use MessageStatus.Descriptor instead. func (MessageStatus) EnumDescriptor() ([]byte, []int) { - return file_connect_ext_proto_rawDescGZIP(), []int{4} + return file_connect_ext_proto_rawDescGZIP(), []int{7} } // 单条消息投递内容(估算大约100个字节),todo 通知栏提醒 @@ -1045,6 +1210,126 @@ func (x *RECALL) GetRecallSeq() int64 { return 0 } +// 红包消息 +type RED_PACKAGE struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RedMessageType RedPacketMessageType `protobuf:"varint,1,opt,name=red_message_type,json=redMessageType,proto3,enum=pb.RedPacketMessageType" json:"red_message_type,omitempty"` // 红包消息类型 + RedPacketType RedPacketType `protobuf:"varint,2,opt,name=red_packet_type,json=redPacketType,proto3,enum=pb.RedPacketType" json:"red_packet_type,omitempty"` // 红包类型 + RedPacketContent string `protobuf:"bytes,3,opt,name=red_packet_content,json=redPacketContent,proto3" json:"red_packet_content,omitempty"` // 红包文字内容 + RedPacketAmount float32 `protobuf:"fixed32,6,opt,name=red_packet_amount,json=redPacketAmount,proto3" json:"red_packet_amount,omitempty"` // 红包金额 + RedPacketNums int32 `protobuf:"varint,5,opt,name=red_packet_nums,json=redPacketNums,proto3" json:"red_packet_nums,omitempty"` // 红包数量 + RedPacketBalanceAmount float32 `protobuf:"fixed32,7,opt,name=red_packet_balance_amount,json=redPacketBalanceAmount,proto3" json:"red_packet_balance_amount,omitempty"` // 红包余额 + ReceivedUserIds []int64 `protobuf:"varint,8,rep,packed,name=received_user_ids,json=receivedUserIds,proto3" json:"received_user_ids,omitempty"` // 已领取用户id + ReceivedUserAmount []float32 `protobuf:"fixed32,9,rep,packed,name=received_user_amount,json=receivedUserAmount,proto3" json:"received_user_amount,omitempty"` // 已领取用户金额 + ReceivedUserNickname []string `protobuf:"bytes,10,rep,name=received_user_nickname,json=receivedUserNickname,proto3" json:"received_user_nickname,omitempty"` // 已领取用户昵称 + RedPacketStatusType RedPacketStatusType `protobuf:"varint,11,opt,name=red_packet_status_type,json=redPacketStatusType,proto3,enum=pb.RedPacketStatusType" json:"red_packet_status_type,omitempty"` // 领取状态 +} + +func (x *RED_PACKAGE) Reset() { + *x = RED_PACKAGE{} + if protoimpl.UnsafeEnabled { + mi := &file_connect_ext_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RED_PACKAGE) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RED_PACKAGE) ProtoMessage() {} + +func (x *RED_PACKAGE) ProtoReflect() protoreflect.Message { + mi := &file_connect_ext_proto_msgTypes[11] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RED_PACKAGE.ProtoReflect.Descriptor instead. +func (*RED_PACKAGE) Descriptor() ([]byte, []int) { + return file_connect_ext_proto_rawDescGZIP(), []int{11} +} + +func (x *RED_PACKAGE) GetRedMessageType() RedPacketMessageType { + if x != nil { + return x.RedMessageType + } + return RedPacketMessageType_RMT_UNKNOWN +} + +func (x *RED_PACKAGE) GetRedPacketType() RedPacketType { + if x != nil { + return x.RedPacketType + } + return RedPacketType_RPT_UNKNOWN +} + +func (x *RED_PACKAGE) GetRedPacketContent() string { + if x != nil { + return x.RedPacketContent + } + return "" +} + +func (x *RED_PACKAGE) GetRedPacketAmount() float32 { + if x != nil { + return x.RedPacketAmount + } + return 0 +} + +func (x *RED_PACKAGE) GetRedPacketNums() int32 { + if x != nil { + return x.RedPacketNums + } + return 0 +} + +func (x *RED_PACKAGE) GetRedPacketBalanceAmount() float32 { + if x != nil { + return x.RedPacketBalanceAmount + } + return 0 +} + +func (x *RED_PACKAGE) GetReceivedUserIds() []int64 { + if x != nil { + return x.ReceivedUserIds + } + return nil +} + +func (x *RED_PACKAGE) GetReceivedUserAmount() []float32 { + if x != nil { + return x.ReceivedUserAmount + } + return nil +} + +func (x *RED_PACKAGE) GetReceivedUserNickname() []string { + if x != nil { + return x.ReceivedUserNickname + } + return nil +} + +func (x *RED_PACKAGE) GetRedPacketStatusType() RedPacketStatusType { + if x != nil { + return x.RedPacketStatusType + } + return RedPacketStatusType_RPS_NOT_DRAW +} + // 上行数据 type Input struct { state protoimpl.MessageState @@ -1059,7 +1344,7 @@ type Input struct { func (x *Input) Reset() { *x = Input{} if protoimpl.UnsafeEnabled { - mi := &file_connect_ext_proto_msgTypes[11] + mi := &file_connect_ext_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1072,7 +1357,7 @@ func (x *Input) String() string { func (*Input) ProtoMessage() {} func (x *Input) ProtoReflect() protoreflect.Message { - mi := &file_connect_ext_proto_msgTypes[11] + mi := &file_connect_ext_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1085,7 +1370,7 @@ func (x *Input) ProtoReflect() protoreflect.Message { // Deprecated: Use Input.ProtoReflect.Descriptor instead. func (*Input) Descriptor() ([]byte, []int) { - return file_connect_ext_proto_rawDescGZIP(), []int{11} + return file_connect_ext_proto_rawDescGZIP(), []int{12} } func (x *Input) GetType() PackageType { @@ -1125,7 +1410,7 @@ type Output struct { func (x *Output) Reset() { *x = Output{} if protoimpl.UnsafeEnabled { - mi := &file_connect_ext_proto_msgTypes[12] + mi := &file_connect_ext_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1138,7 +1423,7 @@ func (x *Output) String() string { func (*Output) ProtoMessage() {} func (x *Output) ProtoReflect() protoreflect.Message { - mi := &file_connect_ext_proto_msgTypes[12] + mi := &file_connect_ext_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1151,7 +1436,7 @@ func (x *Output) ProtoReflect() protoreflect.Message { // Deprecated: Use Output.ProtoReflect.Descriptor instead. func (*Output) Descriptor() ([]byte, []int) { - return file_connect_ext_proto_rawDescGZIP(), []int{12} + return file_connect_ext_proto_rawDescGZIP(), []int{13} } func (x *Output) GetType() PackageType { @@ -1203,7 +1488,7 @@ type SignInInput struct { func (x *SignInInput) Reset() { *x = SignInInput{} if protoimpl.UnsafeEnabled { - mi := &file_connect_ext_proto_msgTypes[13] + mi := &file_connect_ext_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1216,7 +1501,7 @@ func (x *SignInInput) String() string { func (*SignInInput) ProtoMessage() {} func (x *SignInInput) ProtoReflect() protoreflect.Message { - mi := &file_connect_ext_proto_msgTypes[13] + mi := &file_connect_ext_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1229,7 +1514,7 @@ func (x *SignInInput) ProtoReflect() protoreflect.Message { // Deprecated: Use SignInInput.ProtoReflect.Descriptor instead. func (*SignInInput) Descriptor() ([]byte, []int) { - return file_connect_ext_proto_rawDescGZIP(), []int{13} + return file_connect_ext_proto_rawDescGZIP(), []int{14} } func (x *SignInInput) GetDeviceId() int64 { @@ -1265,7 +1550,7 @@ type SyncInput struct { func (x *SyncInput) Reset() { *x = SyncInput{} if protoimpl.UnsafeEnabled { - mi := &file_connect_ext_proto_msgTypes[14] + mi := &file_connect_ext_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1278,7 +1563,7 @@ func (x *SyncInput) String() string { func (*SyncInput) ProtoMessage() {} func (x *SyncInput) ProtoReflect() protoreflect.Message { - mi := &file_connect_ext_proto_msgTypes[14] + mi := &file_connect_ext_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1291,7 +1576,7 @@ func (x *SyncInput) ProtoReflect() protoreflect.Message { // Deprecated: Use SyncInput.ProtoReflect.Descriptor instead. func (*SyncInput) Descriptor() ([]byte, []int) { - return file_connect_ext_proto_rawDescGZIP(), []int{14} + return file_connect_ext_proto_rawDescGZIP(), []int{15} } func (x *SyncInput) GetSeq() int64 { @@ -1314,7 +1599,7 @@ type SyncOutput struct { func (x *SyncOutput) Reset() { *x = SyncOutput{} if protoimpl.UnsafeEnabled { - mi := &file_connect_ext_proto_msgTypes[15] + mi := &file_connect_ext_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1327,7 +1612,7 @@ func (x *SyncOutput) String() string { func (*SyncOutput) ProtoMessage() {} func (x *SyncOutput) ProtoReflect() protoreflect.Message { - mi := &file_connect_ext_proto_msgTypes[15] + mi := &file_connect_ext_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1340,7 +1625,7 @@ func (x *SyncOutput) ProtoReflect() protoreflect.Message { // Deprecated: Use SyncOutput.ProtoReflect.Descriptor instead. func (*SyncOutput) Descriptor() ([]byte, []int) { - return file_connect_ext_proto_rawDescGZIP(), []int{15} + return file_connect_ext_proto_rawDescGZIP(), []int{16} } func (x *SyncOutput) GetMessages() []*Message { @@ -1370,7 +1655,7 @@ type SubscribeRoomInput struct { func (x *SubscribeRoomInput) Reset() { *x = SubscribeRoomInput{} if protoimpl.UnsafeEnabled { - mi := &file_connect_ext_proto_msgTypes[16] + mi := &file_connect_ext_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1383,7 +1668,7 @@ func (x *SubscribeRoomInput) String() string { func (*SubscribeRoomInput) ProtoMessage() {} func (x *SubscribeRoomInput) ProtoReflect() protoreflect.Message { - mi := &file_connect_ext_proto_msgTypes[16] + mi := &file_connect_ext_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1396,7 +1681,7 @@ func (x *SubscribeRoomInput) ProtoReflect() protoreflect.Message { // Deprecated: Use SubscribeRoomInput.ProtoReflect.Descriptor instead. func (*SubscribeRoomInput) Descriptor() ([]byte, []int) { - return file_connect_ext_proto_rawDescGZIP(), []int{16} + return file_connect_ext_proto_rawDescGZIP(), []int{17} } func (x *SubscribeRoomInput) GetRoomId() int64 { @@ -1425,7 +1710,7 @@ type MessageSend struct { func (x *MessageSend) Reset() { *x = MessageSend{} if protoimpl.UnsafeEnabled { - mi := &file_connect_ext_proto_msgTypes[17] + mi := &file_connect_ext_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1438,7 +1723,7 @@ func (x *MessageSend) String() string { func (*MessageSend) ProtoMessage() {} func (x *MessageSend) ProtoReflect() protoreflect.Message { - mi := &file_connect_ext_proto_msgTypes[17] + mi := &file_connect_ext_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1451,7 +1736,7 @@ func (x *MessageSend) ProtoReflect() protoreflect.Message { // Deprecated: Use MessageSend.ProtoReflect.Descriptor instead. func (*MessageSend) Descriptor() ([]byte, []int) { - return file_connect_ext_proto_rawDescGZIP(), []int{17} + return file_connect_ext_proto_rawDescGZIP(), []int{18} } func (x *MessageSend) GetMessage() *Message { @@ -1474,7 +1759,7 @@ type MessageACK struct { func (x *MessageACK) Reset() { *x = MessageACK{} if protoimpl.UnsafeEnabled { - mi := &file_connect_ext_proto_msgTypes[18] + mi := &file_connect_ext_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1487,7 +1772,7 @@ func (x *MessageACK) String() string { func (*MessageACK) ProtoMessage() {} func (x *MessageACK) ProtoReflect() protoreflect.Message { - mi := &file_connect_ext_proto_msgTypes[18] + mi := &file_connect_ext_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1500,7 +1785,7 @@ func (x *MessageACK) ProtoReflect() protoreflect.Message { // Deprecated: Use MessageACK.ProtoReflect.Descriptor instead. func (*MessageACK) Descriptor() ([]byte, []int) { - return file_connect_ext_proto_rawDescGZIP(), []int{18} + return file_connect_ext_proto_rawDescGZIP(), []int{19} } func (x *MessageACK) GetDeviceAck() int64 { @@ -1593,79 +1878,134 @@ var file_connect_ext_proto_rawDesc = []byte{ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x27, 0x0a, 0x06, 0x52, 0x45, 0x43, 0x41, 0x4c, 0x4c, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x5f, 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x63, 0x61, 0x6c, - 0x6c, 0x53, 0x65, 0x71, 0x22, 0x5f, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x23, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, 0x62, - 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, - 0x64, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, - 0x12, 0x23, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, - 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x59, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, - 0x49, 0x64, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0x1d, 0x0a, 0x09, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x10, - 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x71, - 0x22, 0x50, 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x27, - 0x0a, 0x08, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x5f, 0x6d, - 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, 0x4d, 0x6f, - 0x72, 0x65, 0x22, 0x3f, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, - 0x6f, 0x6f, 0x6d, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, - 0x64, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, - 0x73, 0x65, 0x71, 0x22, 0x34, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, - 0x6e, 0x64, 0x12, 0x25, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x4e, 0x0a, 0x0a, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x41, 0x43, 0x4b, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x76, - 0x69, 0x63, 0x65, 0x41, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x2a, 0x73, 0x0a, 0x0b, 0x50, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x54, 0x5f, 0x55, - 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x54, 0x5f, 0x53, - 0x49, 0x47, 0x4e, 0x5f, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x54, 0x5f, 0x53, - 0x59, 0x4e, 0x43, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x54, 0x5f, 0x48, 0x45, 0x41, 0x52, - 0x54, 0x42, 0x45, 0x41, 0x54, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x54, 0x5f, 0x4d, 0x45, - 0x53, 0x53, 0x41, 0x47, 0x45, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x54, 0x5f, 0x53, 0x55, - 0x42, 0x53, 0x43, 0x52, 0x49, 0x42, 0x45, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x05, 0x2a, 0x9f, - 0x01, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, - 0x0a, 0x0a, 0x4d, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, - 0x0a, 0x07, 0x4d, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4d, - 0x54, 0x5f, 0x46, 0x41, 0x43, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x54, 0x5f, 0x56, - 0x4f, 0x49, 0x43, 0x45, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x54, 0x5f, 0x49, 0x4d, 0x41, - 0x47, 0x45, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x54, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x10, - 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x4d, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x10, 0x06, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, - 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, - 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x09, - 0x2a, 0x46, 0x0a, 0x0c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, - 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0c, 0x0a, - 0x08, 0x52, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, - 0x54, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x03, 0x2a, 0x49, 0x0a, 0x0a, 0x53, 0x65, 0x6e, 0x64, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x5f, 0x55, 0x4e, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x54, 0x5f, 0x53, 0x59, 0x53, - 0x54, 0x45, 0x4d, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, - 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x5f, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, - 0x53, 0x10, 0x03, 0x2a, 0x3d, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, - 0x4c, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x53, 0x5f, 0x52, 0x45, 0x43, 0x41, 0x4c, 0x4c, - 0x10, 0x02, 0x42, 0x0d, 0x5a, 0x0b, 0x67, 0x69, 0x6d, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x62, - 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x53, 0x65, 0x71, 0x22, 0xab, 0x04, 0x0a, 0x0b, 0x52, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x43, + 0x4b, 0x41, 0x47, 0x45, 0x12, 0x42, 0x0a, 0x10, 0x72, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, + 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x72, 0x65, 0x64, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0f, 0x72, 0x65, 0x64, 0x5f, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x72, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x54, + 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x12, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x10, 0x72, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, + 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x72, 0x65, + 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x26, 0x0a, + 0x0f, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x73, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, + 0x74, 0x4e, 0x75, 0x6d, 0x73, 0x12, 0x39, 0x0a, 0x19, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x61, 0x6d, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x72, 0x65, 0x64, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x30, 0x0a, 0x14, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x6d, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x02, 0x52, 0x12, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, + 0x0a, 0x16, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x6e, 0x69, 0x63, 0x6b, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x52, 0x14, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x55, 0x73, 0x65, 0x72, 0x4e, 0x69, 0x63, 0x6b, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x4c, 0x0a, 0x16, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0b, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x64, 0x50, 0x61, 0x63, + 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x52, 0x13, 0x72, + 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, + 0x70, 0x65, 0x22, 0x5f, 0x0a, 0x05, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x50, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, + 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x61, 0x22, 0x8e, 0x01, 0x0a, 0x06, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x23, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, + 0x62, 0x2e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x59, 0x0a, 0x0b, 0x53, 0x69, 0x67, 0x6e, 0x49, 0x6e, 0x49, 0x6e, + 0x70, 0x75, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x64, + 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0x1d, 0x0a, 0x09, 0x53, 0x79, 0x6e, 0x63, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x10, 0x0a, 0x03, + 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x71, 0x22, 0x50, + 0x0a, 0x0a, 0x53, 0x79, 0x6e, 0x63, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x12, 0x27, 0x0a, 0x08, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, + 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x68, 0x61, 0x73, 0x5f, 0x6d, 0x6f, 0x72, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x68, 0x61, 0x73, 0x4d, 0x6f, 0x72, 0x65, + 0x22, 0x3f, 0x0a, 0x12, 0x53, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x52, 0x6f, 0x6f, + 0x6d, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, + 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, + 0x71, 0x22, 0x34, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x6e, 0x64, + 0x12, 0x25, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x07, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x4e, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x41, 0x43, 0x4b, 0x12, 0x1d, 0x0a, 0x0a, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x61, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x64, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x41, 0x63, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x2a, 0x73, 0x0a, 0x0b, 0x50, 0x61, 0x63, 0x6b, 0x61, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x54, 0x5f, 0x55, 0x4e, 0x4b, + 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x54, 0x5f, 0x53, 0x49, 0x47, + 0x4e, 0x5f, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x54, 0x5f, 0x53, 0x59, 0x4e, + 0x43, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x54, 0x5f, 0x48, 0x45, 0x41, 0x52, 0x54, 0x42, + 0x45, 0x41, 0x54, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x50, 0x54, 0x5f, 0x4d, 0x45, 0x53, 0x53, + 0x41, 0x47, 0x45, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x54, 0x5f, 0x53, 0x55, 0x42, 0x53, + 0x43, 0x52, 0x49, 0x42, 0x45, 0x5f, 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x05, 0x2a, 0xb3, 0x01, 0x0a, + 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, + 0x4d, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, + 0x4d, 0x54, 0x5f, 0x54, 0x45, 0x58, 0x54, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x54, 0x5f, + 0x46, 0x41, 0x43, 0x45, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x54, 0x5f, 0x56, 0x4f, 0x49, + 0x43, 0x45, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4d, 0x54, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, + 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 0x4d, 0x54, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x10, 0x05, 0x12, + 0x0f, 0x0a, 0x0b, 0x4d, 0x54, 0x5f, 0x4c, 0x4f, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x06, + 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x4d, 0x41, 0x4e, 0x44, 0x10, 0x07, + 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x54, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x08, 0x12, + 0x0d, 0x0a, 0x09, 0x4d, 0x54, 0x5f, 0x52, 0x45, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x09, 0x12, 0x12, + 0x0a, 0x0e, 0x4d, 0x54, 0x5f, 0x52, 0x45, 0x44, 0x5f, 0x50, 0x41, 0x43, 0x4b, 0x41, 0x47, 0x45, + 0x10, 0x0a, 0x2a, 0x87, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x50, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x50, 0x54, 0x5f, 0x46, 0x52, 0x49, + 0x45, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x50, 0x54, 0x5f, 0x47, 0x52, 0x4f, + 0x55, 0x50, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x12, 0x0a, 0x0e, 0x52, + 0x50, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x4c, 0x55, 0x43, 0x4b, 0x10, 0x03, 0x12, + 0x17, 0x0a, 0x13, 0x52, 0x50, 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x41, 0x4c, 0x4c, 0x59, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x50, 0x54, 0x5f, + 0x53, 0x59, 0x53, 0x54, 0x45, 0x4d, 0x5f, 0x46, 0x4f, 0x52, 0x10, 0x05, 0x2a, 0x43, 0x0a, 0x14, + 0x52, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x4d, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, + 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x4d, 0x54, 0x5f, 0x53, 0x45, 0x4e, + 0x44, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x4d, 0x54, 0x5f, 0x47, 0x52, 0x41, 0x42, 0x10, + 0x02, 0x2a, 0x5b, 0x0a, 0x13, 0x52, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x54, 0x79, 0x70, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x52, 0x50, 0x53, 0x5f, + 0x4e, 0x4f, 0x54, 0x5f, 0x44, 0x52, 0x41, 0x57, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x50, + 0x53, 0x5f, 0x44, 0x52, 0x41, 0x57, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x52, + 0x50, 0x53, 0x5f, 0x44, 0x52, 0x41, 0x57, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0e, + 0x0a, 0x0a, 0x52, 0x50, 0x53, 0x5f, 0x45, 0x58, 0x50, 0x49, 0x52, 0x45, 0x10, 0x03, 0x2a, 0x46, + 0x0a, 0x0c, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, + 0x0a, 0x0a, 0x52, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, + 0x0a, 0x07, 0x52, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, + 0x54, 0x5f, 0x47, 0x52, 0x4f, 0x55, 0x50, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x54, 0x5f, + 0x52, 0x4f, 0x4f, 0x4d, 0x10, 0x03, 0x2a, 0x49, 0x0a, 0x0a, 0x53, 0x65, 0x6e, 0x64, 0x65, 0x72, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, + 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x54, 0x5f, 0x53, 0x59, 0x53, 0x54, 0x45, + 0x4d, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x54, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x02, + 0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x5f, 0x42, 0x55, 0x53, 0x49, 0x4e, 0x45, 0x53, 0x53, 0x10, + 0x03, 0x2a, 0x3d, 0x0a, 0x0d, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x0e, 0x0a, 0x0a, 0x4d, 0x53, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, + 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x53, 0x5f, 0x4e, 0x4f, 0x52, 0x4d, 0x41, 0x4c, 0x10, + 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4d, 0x53, 0x5f, 0x52, 0x45, 0x43, 0x41, 0x4c, 0x4c, 0x10, 0x02, + 0x42, 0x0d, 0x5a, 0x0b, 0x67, 0x69, 0x6d, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, 0x62, 0x2f, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1680,49 +2020,56 @@ func file_connect_ext_proto_rawDescGZIP() []byte { return file_connect_ext_proto_rawDescData } -var file_connect_ext_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_connect_ext_proto_msgTypes = make([]protoimpl.MessageInfo, 19) +var file_connect_ext_proto_enumTypes = make([]protoimpl.EnumInfo, 8) +var file_connect_ext_proto_msgTypes = make([]protoimpl.MessageInfo, 20) var file_connect_ext_proto_goTypes = []interface{}{ (PackageType)(0), // 0: pb.PackageType (MessageType)(0), // 1: pb.MessageType - (ReceiverType)(0), // 2: pb.ReceiverType - (SenderType)(0), // 3: pb.SenderType - (MessageStatus)(0), // 4: pb.MessageStatus - (*Message)(nil), // 5: pb.Message - (*Sender)(nil), // 6: pb.Sender - (*Text)(nil), // 7: pb.Text - (*Face)(nil), // 8: pb.Face - (*Voice)(nil), // 9: pb.Voice - (*Image)(nil), // 10: pb.Image - (*File)(nil), // 11: pb.File - (*Location)(nil), // 12: pb.Location - (*Command)(nil), // 13: pb.Command - (*Custom)(nil), // 14: pb.Custom - (*RECALL)(nil), // 15: pb.RECALL - (*Input)(nil), // 16: pb.Input - (*Output)(nil), // 17: pb.Output - (*SignInInput)(nil), // 18: pb.SignInInput - (*SyncInput)(nil), // 19: pb.SyncInput - (*SyncOutput)(nil), // 20: pb.SyncOutput - (*SubscribeRoomInput)(nil), // 21: pb.SubscribeRoomInput - (*MessageSend)(nil), // 22: pb.MessageSend - (*MessageACK)(nil), // 23: pb.MessageACK + (RedPacketType)(0), // 2: pb.RedPacketType + (RedPacketMessageType)(0), // 3: pb.RedPacketMessageType + (RedPacketStatusType)(0), // 4: pb.RedPacketStatusType + (ReceiverType)(0), // 5: pb.ReceiverType + (SenderType)(0), // 6: pb.SenderType + (MessageStatus)(0), // 7: pb.MessageStatus + (*Message)(nil), // 8: pb.Message + (*Sender)(nil), // 9: pb.Sender + (*Text)(nil), // 10: pb.Text + (*Face)(nil), // 11: pb.Face + (*Voice)(nil), // 12: pb.Voice + (*Image)(nil), // 13: pb.Image + (*File)(nil), // 14: pb.File + (*Location)(nil), // 15: pb.Location + (*Command)(nil), // 16: pb.Command + (*Custom)(nil), // 17: pb.Custom + (*RECALL)(nil), // 18: pb.RECALL + (*RED_PACKAGE)(nil), // 19: pb.RED_PACKAGE + (*Input)(nil), // 20: pb.Input + (*Output)(nil), // 21: pb.Output + (*SignInInput)(nil), // 22: pb.SignInInput + (*SyncInput)(nil), // 23: pb.SyncInput + (*SyncOutput)(nil), // 24: pb.SyncOutput + (*SubscribeRoomInput)(nil), // 25: pb.SubscribeRoomInput + (*MessageSend)(nil), // 26: pb.MessageSend + (*MessageACK)(nil), // 27: pb.MessageACK } var file_connect_ext_proto_depIdxs = []int32{ - 6, // 0: pb.Message.sender:type_name -> pb.Sender - 2, // 1: pb.Message.receiver_type:type_name -> pb.ReceiverType - 1, // 2: pb.Message.message_type:type_name -> pb.MessageType - 4, // 3: pb.Message.status:type_name -> pb.MessageStatus - 3, // 4: pb.Sender.sender_type:type_name -> pb.SenderType - 0, // 5: pb.Input.type:type_name -> pb.PackageType - 0, // 6: pb.Output.type:type_name -> pb.PackageType - 5, // 7: pb.SyncOutput.messages:type_name -> pb.Message - 5, // 8: pb.MessageSend.message:type_name -> pb.Message - 9, // [9:9] is the sub-list for method output_type - 9, // [9:9] is the sub-list for method input_type - 9, // [9:9] is the sub-list for extension type_name - 9, // [9:9] is the sub-list for extension extendee - 0, // [0:9] is the sub-list for field type_name + 9, // 0: pb.Message.sender:type_name -> pb.Sender + 5, // 1: pb.Message.receiver_type:type_name -> pb.ReceiverType + 1, // 2: pb.Message.message_type:type_name -> pb.MessageType + 7, // 3: pb.Message.status:type_name -> pb.MessageStatus + 6, // 4: pb.Sender.sender_type:type_name -> pb.SenderType + 3, // 5: pb.RED_PACKAGE.red_message_type:type_name -> pb.RedPacketMessageType + 2, // 6: pb.RED_PACKAGE.red_packet_type:type_name -> pb.RedPacketType + 4, // 7: pb.RED_PACKAGE.red_packet_status_type:type_name -> pb.RedPacketStatusType + 0, // 8: pb.Input.type:type_name -> pb.PackageType + 0, // 9: pb.Output.type:type_name -> pb.PackageType + 8, // 10: pb.SyncOutput.messages:type_name -> pb.Message + 8, // 11: pb.MessageSend.message:type_name -> pb.Message + 12, // [12:12] is the sub-list for method output_type + 12, // [12:12] is the sub-list for method input_type + 12, // [12:12] is the sub-list for extension type_name + 12, // [12:12] is the sub-list for extension extendee + 0, // [0:12] is the sub-list for field type_name } func init() { file_connect_ext_proto_init() } @@ -1864,7 +2211,7 @@ func file_connect_ext_proto_init() { } } file_connect_ext_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Input); i { + switch v := v.(*RED_PACKAGE); i { case 0: return &v.state case 1: @@ -1876,7 +2223,7 @@ func file_connect_ext_proto_init() { } } file_connect_ext_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Output); i { + switch v := v.(*Input); i { case 0: return &v.state case 1: @@ -1888,7 +2235,7 @@ func file_connect_ext_proto_init() { } } file_connect_ext_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SignInInput); i { + switch v := v.(*Output); i { case 0: return &v.state case 1: @@ -1900,7 +2247,7 @@ func file_connect_ext_proto_init() { } } file_connect_ext_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncInput); i { + switch v := v.(*SignInInput); i { case 0: return &v.state case 1: @@ -1912,7 +2259,7 @@ func file_connect_ext_proto_init() { } } file_connect_ext_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SyncOutput); i { + switch v := v.(*SyncInput); i { case 0: return &v.state case 1: @@ -1924,7 +2271,7 @@ func file_connect_ext_proto_init() { } } file_connect_ext_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SubscribeRoomInput); i { + switch v := v.(*SyncOutput); i { case 0: return &v.state case 1: @@ -1936,7 +2283,7 @@ func file_connect_ext_proto_init() { } } file_connect_ext_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessageSend); i { + switch v := v.(*SubscribeRoomInput); i { case 0: return &v.state case 1: @@ -1948,6 +2295,18 @@ func file_connect_ext_proto_init() { } } file_connect_ext_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MessageSend); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_connect_ext_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*MessageACK); i { case 0: return &v.state @@ -1965,8 +2324,8 @@ func file_connect_ext_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_connect_ext_proto_rawDesc, - NumEnums: 5, - NumMessages: 19, + NumEnums: 8, + NumMessages: 20, NumExtensions: 0, NumServices: 0, }, diff --git a/pkg/pb/logic.ext.pb.go b/pkg/pb/logic.ext.pb.go index a5cce9c..03cff7a 100644 --- a/pkg/pb/logic.ext.pb.go +++ b/pkg/pb/logic.ext.pb.go @@ -28,7 +28,7 @@ type MemberType int32 const ( MemberType_GMT_UNKNOWN MemberType = 0 // 未知 - MembertypeGmtAdmin MemberType = 1 // 管理员 + MemberType_GMT_ADMIN MemberType = 1 // 管理员 MemberType_GMT_MEMBER MemberType = 2 // 成员 ) @@ -499,6 +499,140 @@ func (x *RecallMessageResp) GetSeq() int64 { return 0 } +type SendRedPacketReq struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReceiverType ReceiverType `protobuf:"varint,1,opt,name=receiver_type,json=receiverType,proto3,enum=pb.ReceiverType" json:"receiver_type,omitempty"` // 接收者类型,1:user;2:group + ReceiverId int64 `protobuf:"varint,2,opt,name=receiver_id,json=receiverId,proto3" json:"receiver_id,omitempty"` // 用户id或者群组id + MessageType MessageType `protobuf:"varint,3,opt,name=message_type,json=messageType,proto3,enum=pb.MessageType" json:"message_type,omitempty"` // 消息类型 + MessageContent []byte `protobuf:"bytes,4,opt,name=message_content,json=messageContent,proto3" json:"message_content,omitempty"` // 消息内容 + SendTime int64 `protobuf:"varint,5,opt,name=send_time,json=sendTime,proto3" json:"send_time,omitempty"` // 消息发送时间戳,精确到毫秒 + MessageContentBack string `protobuf:"bytes,6,opt,name=message_content_back,json=messageContentBack,proto3" json:"message_content_back,omitempty"` +} + +func (x *SendRedPacketReq) Reset() { + *x = SendRedPacketReq{} + if protoimpl.UnsafeEnabled { + mi := &file_logic_ext_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendRedPacketReq) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendRedPacketReq) ProtoMessage() {} + +func (x *SendRedPacketReq) ProtoReflect() protoreflect.Message { + mi := &file_logic_ext_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendRedPacketReq.ProtoReflect.Descriptor instead. +func (*SendRedPacketReq) Descriptor() ([]byte, []int) { + return file_logic_ext_proto_rawDescGZIP(), []int{6} +} + +func (x *SendRedPacketReq) GetReceiverType() ReceiverType { + if x != nil { + return x.ReceiverType + } + return ReceiverType_RT_UNKNOWN +} + +func (x *SendRedPacketReq) GetReceiverId() int64 { + if x != nil { + return x.ReceiverId + } + return 0 +} + +func (x *SendRedPacketReq) GetMessageType() MessageType { + if x != nil { + return x.MessageType + } + return MessageType_MT_UNKNOWN +} + +func (x *SendRedPacketReq) GetMessageContent() []byte { + if x != nil { + return x.MessageContent + } + return nil +} + +func (x *SendRedPacketReq) GetSendTime() int64 { + if x != nil { + return x.SendTime + } + return 0 +} + +func (x *SendRedPacketReq) GetMessageContentBack() string { + if x != nil { + return x.MessageContentBack + } + return "" +} + +type SendRedPacketResp struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Seq int64 `protobuf:"varint,1,opt,name=seq,proto3" json:"seq,omitempty"` // 消息序列号 +} + +func (x *SendRedPacketResp) Reset() { + *x = SendRedPacketResp{} + if protoimpl.UnsafeEnabled { + mi := &file_logic_ext_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *SendRedPacketResp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SendRedPacketResp) ProtoMessage() {} + +func (x *SendRedPacketResp) ProtoReflect() protoreflect.Message { + mi := &file_logic_ext_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SendRedPacketResp.ProtoReflect.Descriptor instead. +func (*SendRedPacketResp) Descriptor() ([]byte, []int) { + return file_logic_ext_proto_rawDescGZIP(), []int{7} +} + +func (x *SendRedPacketResp) GetSeq() int64 { + if x != nil { + return x.Seq + } + return 0 +} + type PushRoomReq struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -515,7 +649,7 @@ type PushRoomReq struct { func (x *PushRoomReq) Reset() { *x = PushRoomReq{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[6] + mi := &file_logic_ext_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -528,7 +662,7 @@ func (x *PushRoomReq) String() string { func (*PushRoomReq) ProtoMessage() {} func (x *PushRoomReq) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[6] + mi := &file_logic_ext_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -541,7 +675,7 @@ func (x *PushRoomReq) ProtoReflect() protoreflect.Message { // Deprecated: Use PushRoomReq.ProtoReflect.Descriptor instead. func (*PushRoomReq) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{6} + return file_logic_ext_proto_rawDescGZIP(), []int{8} } func (x *PushRoomReq) GetRoomId() int64 { @@ -599,7 +733,7 @@ type AddFriendReq struct { func (x *AddFriendReq) Reset() { *x = AddFriendReq{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[7] + mi := &file_logic_ext_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -612,7 +746,7 @@ func (x *AddFriendReq) String() string { func (*AddFriendReq) ProtoMessage() {} func (x *AddFriendReq) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[7] + mi := &file_logic_ext_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -625,7 +759,7 @@ func (x *AddFriendReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddFriendReq.ProtoReflect.Descriptor instead. func (*AddFriendReq) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{7} + return file_logic_ext_proto_rawDescGZIP(), []int{9} } func (x *AddFriendReq) GetFriendId() int64 { @@ -660,7 +794,7 @@ type DeleteFriendReq struct { func (x *DeleteFriendReq) Reset() { *x = DeleteFriendReq{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[8] + mi := &file_logic_ext_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -673,7 +807,7 @@ func (x *DeleteFriendReq) String() string { func (*DeleteFriendReq) ProtoMessage() {} func (x *DeleteFriendReq) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[8] + mi := &file_logic_ext_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -686,7 +820,7 @@ func (x *DeleteFriendReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteFriendReq.ProtoReflect.Descriptor instead. func (*DeleteFriendReq) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{8} + return file_logic_ext_proto_rawDescGZIP(), []int{10} } func (x *DeleteFriendReq) GetUserId() int64 { @@ -708,7 +842,7 @@ type AgreeAddFriendReq struct { func (x *AgreeAddFriendReq) Reset() { *x = AgreeAddFriendReq{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[9] + mi := &file_logic_ext_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -721,7 +855,7 @@ func (x *AgreeAddFriendReq) String() string { func (*AgreeAddFriendReq) ProtoMessage() {} func (x *AgreeAddFriendReq) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[9] + mi := &file_logic_ext_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -734,7 +868,7 @@ func (x *AgreeAddFriendReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AgreeAddFriendReq.ProtoReflect.Descriptor instead. func (*AgreeAddFriendReq) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{9} + return file_logic_ext_proto_rawDescGZIP(), []int{11} } func (x *AgreeAddFriendReq) GetUserId() int64 { @@ -764,7 +898,7 @@ type SetFriendReq struct { func (x *SetFriendReq) Reset() { *x = SetFriendReq{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[10] + mi := &file_logic_ext_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -777,7 +911,7 @@ func (x *SetFriendReq) String() string { func (*SetFriendReq) ProtoMessage() {} func (x *SetFriendReq) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[10] + mi := &file_logic_ext_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -790,7 +924,7 @@ func (x *SetFriendReq) ProtoReflect() protoreflect.Message { // Deprecated: Use SetFriendReq.ProtoReflect.Descriptor instead. func (*SetFriendReq) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{10} + return file_logic_ext_proto_rawDescGZIP(), []int{12} } func (x *SetFriendReq) GetFriendId() int64 { @@ -827,7 +961,7 @@ type SetFriendResp struct { func (x *SetFriendResp) Reset() { *x = SetFriendResp{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[11] + mi := &file_logic_ext_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -840,7 +974,7 @@ func (x *SetFriendResp) String() string { func (*SetFriendResp) ProtoMessage() {} func (x *SetFriendResp) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[11] + mi := &file_logic_ext_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -853,7 +987,7 @@ func (x *SetFriendResp) ProtoReflect() protoreflect.Message { // Deprecated: Use SetFriendResp.ProtoReflect.Descriptor instead. func (*SetFriendResp) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{11} + return file_logic_ext_proto_rawDescGZIP(), []int{13} } func (x *SetFriendResp) GetFriendId() int64 { @@ -895,7 +1029,7 @@ type Friend struct { func (x *Friend) Reset() { *x = Friend{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[12] + mi := &file_logic_ext_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -908,7 +1042,7 @@ func (x *Friend) String() string { func (*Friend) ProtoMessage() {} func (x *Friend) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[12] + mi := &file_logic_ext_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -921,7 +1055,7 @@ func (x *Friend) ProtoReflect() protoreflect.Message { // Deprecated: Use Friend.ProtoReflect.Descriptor instead. func (*Friend) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{12} + return file_logic_ext_proto_rawDescGZIP(), []int{14} } func (x *Friend) GetUserId() int64 { @@ -991,7 +1125,7 @@ type GetFriendsResp struct { func (x *GetFriendsResp) Reset() { *x = GetFriendsResp{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[13] + mi := &file_logic_ext_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1004,7 +1138,7 @@ func (x *GetFriendsResp) String() string { func (*GetFriendsResp) ProtoMessage() {} func (x *GetFriendsResp) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[13] + mi := &file_logic_ext_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1017,7 +1151,7 @@ func (x *GetFriendsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetFriendsResp.ProtoReflect.Descriptor instead. func (*GetFriendsResp) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{13} + return file_logic_ext_proto_rawDescGZIP(), []int{15} } func (x *GetFriendsResp) GetFriends() []*Friend { @@ -1042,7 +1176,7 @@ type CreateGroupReq struct { func (x *CreateGroupReq) Reset() { *x = CreateGroupReq{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[14] + mi := &file_logic_ext_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1055,7 +1189,7 @@ func (x *CreateGroupReq) String() string { func (*CreateGroupReq) ProtoMessage() {} func (x *CreateGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[14] + mi := &file_logic_ext_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1068,7 +1202,7 @@ func (x *CreateGroupReq) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateGroupReq.ProtoReflect.Descriptor instead. func (*CreateGroupReq) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{14} + return file_logic_ext_proto_rawDescGZIP(), []int{16} } func (x *CreateGroupReq) GetName() string { @@ -1117,7 +1251,7 @@ type CreateGroupResp struct { func (x *CreateGroupResp) Reset() { *x = CreateGroupResp{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[15] + mi := &file_logic_ext_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1130,7 +1264,7 @@ func (x *CreateGroupResp) String() string { func (*CreateGroupResp) ProtoMessage() {} func (x *CreateGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[15] + mi := &file_logic_ext_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1143,7 +1277,7 @@ func (x *CreateGroupResp) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateGroupResp.ProtoReflect.Descriptor instead. func (*CreateGroupResp) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{15} + return file_logic_ext_proto_rawDescGZIP(), []int{17} } func (x *CreateGroupResp) GetGroupId() int64 { @@ -1168,7 +1302,7 @@ type UpdateGroupReq struct { func (x *UpdateGroupReq) Reset() { *x = UpdateGroupReq{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[16] + mi := &file_logic_ext_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1181,7 +1315,7 @@ func (x *UpdateGroupReq) String() string { func (*UpdateGroupReq) ProtoMessage() {} func (x *UpdateGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[16] + mi := &file_logic_ext_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1194,7 +1328,7 @@ func (x *UpdateGroupReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateGroupReq.ProtoReflect.Descriptor instead. func (*UpdateGroupReq) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{16} + return file_logic_ext_proto_rawDescGZIP(), []int{18} } func (x *UpdateGroupReq) GetGroupId() int64 { @@ -1243,7 +1377,7 @@ type GetGroupReq struct { func (x *GetGroupReq) Reset() { *x = GetGroupReq{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[17] + mi := &file_logic_ext_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1256,7 +1390,7 @@ func (x *GetGroupReq) String() string { func (*GetGroupReq) ProtoMessage() {} func (x *GetGroupReq) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[17] + mi := &file_logic_ext_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1269,7 +1403,7 @@ func (x *GetGroupReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGroupReq.ProtoReflect.Descriptor instead. func (*GetGroupReq) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{17} + return file_logic_ext_proto_rawDescGZIP(), []int{19} } func (x *GetGroupReq) GetGroupId() int64 { @@ -1290,7 +1424,7 @@ type GetGroupResp struct { func (x *GetGroupResp) Reset() { *x = GetGroupResp{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[18] + mi := &file_logic_ext_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1303,7 +1437,7 @@ func (x *GetGroupResp) String() string { func (*GetGroupResp) ProtoMessage() {} func (x *GetGroupResp) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[18] + mi := &file_logic_ext_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1316,7 +1450,7 @@ func (x *GetGroupResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGroupResp.ProtoReflect.Descriptor instead. func (*GetGroupResp) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{18} + return file_logic_ext_proto_rawDescGZIP(), []int{20} } func (x *GetGroupResp) GetGroup() *Group { @@ -1344,7 +1478,7 @@ type Group struct { func (x *Group) Reset() { *x = Group{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[19] + mi := &file_logic_ext_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1357,7 +1491,7 @@ func (x *Group) String() string { func (*Group) ProtoMessage() {} func (x *Group) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[19] + mi := &file_logic_ext_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1370,7 +1504,7 @@ func (x *Group) ProtoReflect() protoreflect.Message { // Deprecated: Use Group.ProtoReflect.Descriptor instead. func (*Group) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{19} + return file_logic_ext_proto_rawDescGZIP(), []int{21} } func (x *Group) GetGroupId() int64 { @@ -1440,7 +1574,7 @@ type GetGroupsResp struct { func (x *GetGroupsResp) Reset() { *x = GetGroupsResp{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[20] + mi := &file_logic_ext_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1453,7 +1587,7 @@ func (x *GetGroupsResp) String() string { func (*GetGroupsResp) ProtoMessage() {} func (x *GetGroupsResp) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[20] + mi := &file_logic_ext_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1466,7 +1600,7 @@ func (x *GetGroupsResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGroupsResp.ProtoReflect.Descriptor instead. func (*GetGroupsResp) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{20} + return file_logic_ext_proto_rawDescGZIP(), []int{22} } func (x *GetGroupsResp) GetGroups() []*Group { @@ -1488,7 +1622,7 @@ type AddGroupMembersReq struct { func (x *AddGroupMembersReq) Reset() { *x = AddGroupMembersReq{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[21] + mi := &file_logic_ext_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1501,7 +1635,7 @@ func (x *AddGroupMembersReq) String() string { func (*AddGroupMembersReq) ProtoMessage() {} func (x *AddGroupMembersReq) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[21] + mi := &file_logic_ext_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1514,7 +1648,7 @@ func (x *AddGroupMembersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use AddGroupMembersReq.ProtoReflect.Descriptor instead. func (*AddGroupMembersReq) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{21} + return file_logic_ext_proto_rawDescGZIP(), []int{23} } func (x *AddGroupMembersReq) GetGroupId() int64 { @@ -1542,7 +1676,7 @@ type AddGroupMembersResp struct { func (x *AddGroupMembersResp) Reset() { *x = AddGroupMembersResp{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[22] + mi := &file_logic_ext_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1555,7 +1689,7 @@ func (x *AddGroupMembersResp) String() string { func (*AddGroupMembersResp) ProtoMessage() {} func (x *AddGroupMembersResp) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[22] + mi := &file_logic_ext_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1568,7 +1702,7 @@ func (x *AddGroupMembersResp) ProtoReflect() protoreflect.Message { // Deprecated: Use AddGroupMembersResp.ProtoReflect.Descriptor instead. func (*AddGroupMembersResp) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{22} + return file_logic_ext_proto_rawDescGZIP(), []int{24} } func (x *AddGroupMembersResp) GetUserIds() []int64 { @@ -1593,7 +1727,7 @@ type UpdateGroupMemberReq struct { func (x *UpdateGroupMemberReq) Reset() { *x = UpdateGroupMemberReq{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[23] + mi := &file_logic_ext_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1606,7 +1740,7 @@ func (x *UpdateGroupMemberReq) String() string { func (*UpdateGroupMemberReq) ProtoMessage() {} func (x *UpdateGroupMemberReq) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[23] + mi := &file_logic_ext_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1619,7 +1753,7 @@ func (x *UpdateGroupMemberReq) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateGroupMemberReq.ProtoReflect.Descriptor instead. func (*UpdateGroupMemberReq) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{23} + return file_logic_ext_proto_rawDescGZIP(), []int{25} } func (x *UpdateGroupMemberReq) GetGroupId() int64 { @@ -1669,7 +1803,7 @@ type DeleteGroupMemberReq struct { func (x *DeleteGroupMemberReq) Reset() { *x = DeleteGroupMemberReq{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[24] + mi := &file_logic_ext_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1682,7 +1816,7 @@ func (x *DeleteGroupMemberReq) String() string { func (*DeleteGroupMemberReq) ProtoMessage() {} func (x *DeleteGroupMemberReq) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[24] + mi := &file_logic_ext_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1695,7 +1829,7 @@ func (x *DeleteGroupMemberReq) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteGroupMemberReq.ProtoReflect.Descriptor instead. func (*DeleteGroupMemberReq) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{24} + return file_logic_ext_proto_rawDescGZIP(), []int{26} } func (x *DeleteGroupMemberReq) GetGroupId() int64 { @@ -1723,7 +1857,7 @@ type GetGroupMembersReq struct { func (x *GetGroupMembersReq) Reset() { *x = GetGroupMembersReq{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[25] + mi := &file_logic_ext_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1736,7 +1870,7 @@ func (x *GetGroupMembersReq) String() string { func (*GetGroupMembersReq) ProtoMessage() {} func (x *GetGroupMembersReq) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[25] + mi := &file_logic_ext_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1749,7 +1883,7 @@ func (x *GetGroupMembersReq) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGroupMembersReq.ProtoReflect.Descriptor instead. func (*GetGroupMembersReq) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{25} + return file_logic_ext_proto_rawDescGZIP(), []int{27} } func (x *GetGroupMembersReq) GetGroupId() int64 { @@ -1770,7 +1904,7 @@ type GetGroupMembersResp struct { func (x *GetGroupMembersResp) Reset() { *x = GetGroupMembersResp{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[26] + mi := &file_logic_ext_proto_msgTypes[28] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1783,7 +1917,7 @@ func (x *GetGroupMembersResp) String() string { func (*GetGroupMembersResp) ProtoMessage() {} func (x *GetGroupMembersResp) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[26] + mi := &file_logic_ext_proto_msgTypes[28] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1796,7 +1930,7 @@ func (x *GetGroupMembersResp) ProtoReflect() protoreflect.Message { // Deprecated: Use GetGroupMembersResp.ProtoReflect.Descriptor instead. func (*GetGroupMembersResp) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{26} + return file_logic_ext_proto_rawDescGZIP(), []int{28} } func (x *GetGroupMembersResp) GetMembers() []*GroupMember { @@ -1824,7 +1958,7 @@ type GroupMember struct { func (x *GroupMember) Reset() { *x = GroupMember{} if protoimpl.UnsafeEnabled { - mi := &file_logic_ext_proto_msgTypes[27] + mi := &file_logic_ext_proto_msgTypes[29] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1837,7 +1971,7 @@ func (x *GroupMember) String() string { func (*GroupMember) ProtoMessage() {} func (x *GroupMember) ProtoReflect() protoreflect.Message { - mi := &file_logic_ext_proto_msgTypes[27] + mi := &file_logic_ext_proto_msgTypes[29] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1850,7 +1984,7 @@ func (x *GroupMember) ProtoReflect() protoreflect.Message { // Deprecated: Use GroupMember.ProtoReflect.Descriptor instead. func (*GroupMember) Descriptor() ([]byte, []int) { - return file_logic_ext_proto_rawDescGZIP(), []int{27} + return file_logic_ext_proto_rawDescGZIP(), []int{29} } func (x *GroupMember) GetUserId() int64 { @@ -1976,6 +2110,26 @@ var file_logic_ext_proto_rawDesc = []byte{ 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x22, 0x25, 0x0a, 0x11, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x03, 0x73, 0x65, 0x71, 0x22, 0x96, 0x02, 0x0a, 0x10, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, + 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x12, 0x35, 0x0a, 0x0d, 0x72, 0x65, + 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, + 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x72, + 0x49, 0x64, 0x12, 0x32, 0x0a, 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, + 0x0e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, + 0x1b, 0x0a, 0x09, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x08, 0x73, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, + 0x62, 0x61, 0x63, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x22, 0x25, + 0x0a, 0x11, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x65, 0x73, 0x70, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x65, 0x71, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x73, 0x65, 0x71, 0x22, 0xe0, 0x01, 0x0a, 0x0b, 0x50, 0x75, 0x73, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, 0x71, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x6f, 0x6f, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x72, 0x6f, 0x6f, 0x6d, 0x49, 0x64, 0x12, 0x32, @@ -2130,7 +2284,7 @@ var file_logic_ext_proto_rawDesc = []byte{ 0x12, 0x0f, 0x0a, 0x0b, 0x47, 0x4d, 0x54, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x47, 0x4d, 0x54, 0x5f, 0x41, 0x44, 0x4d, 0x49, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x47, 0x4d, 0x54, 0x5f, 0x4d, 0x45, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, - 0x32, 0x92, 0x07, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x45, 0x78, 0x74, 0x12, 0x3f, 0x0a, + 0x32, 0xd0, 0x07, 0x0a, 0x08, 0x4c, 0x6f, 0x67, 0x69, 0x63, 0x45, 0x78, 0x74, 0x12, 0x3f, 0x0a, 0x0e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x52, 0x65, 0x67, 0x69, @@ -2144,51 +2298,55 @@ var file_logic_ext_proto_rawDesc = []byte{ 0x70, 0x62, 0x2e, 0x52, 0x65, 0x63, 0x61, 0x6c, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x12, 0x26, 0x0a, 0x08, 0x50, 0x75, 0x73, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x50, 0x75, 0x73, 0x68, 0x52, 0x6f, 0x6f, 0x6d, 0x52, 0x65, - 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x28, 0x0a, 0x09, - 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x41, - 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x0e, 0x41, 0x67, 0x72, 0x65, 0x65, 0x41, - 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x67, - 0x72, 0x65, 0x65, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, - 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x0c, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, - 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x30, 0x0a, 0x09, 0x53, 0x65, - 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x74, - 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x53, - 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x0a, - 0x47, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x09, 0x2e, 0x70, 0x62, 0x2e, - 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x0b, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x70, - 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x12, 0x2c, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x12, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x52, 0x65, 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, - 0x2d, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0f, 0x2e, 0x70, 0x62, - 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, - 0x0a, 0x09, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x09, 0x2e, 0x70, 0x62, - 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x0f, 0x41, 0x64, 0x64, - 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x70, - 0x62, 0x2e, 0x41, 0x64, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, - 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x09, 0x2e, 0x70, - 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x70, - 0x62, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, - 0x79, 0x12, 0x42, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, - 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, - 0x62, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x42, 0x0d, 0x5a, 0x0b, 0x67, 0x69, 0x6d, 0x2f, 0x70, 0x6b, 0x67, - 0x2f, 0x70, 0x62, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x3c, 0x0a, 0x0d, + 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x14, 0x2e, + 0x70, 0x62, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x64, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, + 0x52, 0x65, 0x71, 0x1a, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x64, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x12, 0x28, 0x0a, 0x09, 0x41, 0x64, + 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x12, 0x32, 0x0a, 0x0e, 0x41, 0x67, 0x72, 0x65, 0x65, 0x41, 0x64, 0x64, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x15, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x67, 0x72, 0x65, + 0x65, 0x41, 0x64, 0x64, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x09, 0x2e, + 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x09, 0x2e, + 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x30, 0x0a, 0x09, 0x53, 0x65, 0x74, 0x46, + 0x72, 0x69, 0x65, 0x6e, 0x64, 0x12, 0x10, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x74, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x71, 0x1a, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x53, 0x65, 0x74, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x52, 0x65, 0x73, 0x70, 0x12, 0x2b, 0x0a, 0x0a, 0x47, 0x65, + 0x74, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x73, 0x12, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x1a, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x36, 0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x2e, 0x70, 0x62, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x13, 0x2e, 0x70, 0x62, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, + 0x2c, 0x0a, 0x0b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, + 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, + 0x65, 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x2d, 0x0a, + 0x08, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x2e, 0x47, + 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x71, 0x1a, 0x10, 0x2e, 0x70, 0x62, 0x2e, + 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x12, 0x29, 0x0a, 0x09, + 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, + 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x11, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x42, 0x0a, 0x0f, 0x41, 0x64, 0x64, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, + 0x41, 0x64, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, 0x41, 0x64, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x12, 0x38, 0x0a, 0x11, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x65, 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, 0x2e, + 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, 0x38, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x18, 0x2e, 0x70, 0x62, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x52, 0x65, 0x71, 0x1a, 0x09, 0x2e, 0x70, 0x62, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x12, + 0x42, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x73, 0x12, 0x16, 0x2e, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x1a, 0x17, 0x2e, 0x70, 0x62, 0x2e, + 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x42, 0x0d, 0x5a, 0x0b, 0x67, 0x69, 0x6d, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x70, + 0x62, 0x2f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2204,7 +2362,7 @@ func file_logic_ext_proto_rawDescGZIP() []byte { } var file_logic_ext_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_logic_ext_proto_msgTypes = make([]protoimpl.MessageInfo, 28) +var file_logic_ext_proto_msgTypes = make([]protoimpl.MessageInfo, 30) var file_logic_ext_proto_goTypes = []interface{}{ (MemberType)(0), // 0: pb.MemberType (*RegisterDeviceReq)(nil), // 1: pb.RegisterDeviceReq @@ -2213,83 +2371,89 @@ var file_logic_ext_proto_goTypes = []interface{}{ (*SendMessageResp)(nil), // 4: pb.SendMessageResp (*RecallMessageReq)(nil), // 5: pb.RecallMessageReq (*RecallMessageResp)(nil), // 6: pb.RecallMessageResp - (*PushRoomReq)(nil), // 7: pb.PushRoomReq - (*AddFriendReq)(nil), // 8: pb.AddFriendReq - (*DeleteFriendReq)(nil), // 9: pb.DeleteFriendReq - (*AgreeAddFriendReq)(nil), // 10: pb.AgreeAddFriendReq - (*SetFriendReq)(nil), // 11: pb.SetFriendReq - (*SetFriendResp)(nil), // 12: pb.SetFriendResp - (*Friend)(nil), // 13: pb.Friend - (*GetFriendsResp)(nil), // 14: pb.GetFriendsResp - (*CreateGroupReq)(nil), // 15: pb.CreateGroupReq - (*CreateGroupResp)(nil), // 16: pb.CreateGroupResp - (*UpdateGroupReq)(nil), // 17: pb.UpdateGroupReq - (*GetGroupReq)(nil), // 18: pb.GetGroupReq - (*GetGroupResp)(nil), // 19: pb.GetGroupResp - (*Group)(nil), // 20: pb.Group - (*GetGroupsResp)(nil), // 21: pb.GetGroupsResp - (*AddGroupMembersReq)(nil), // 22: pb.AddGroupMembersReq - (*AddGroupMembersResp)(nil), // 23: pb.AddGroupMembersResp - (*UpdateGroupMemberReq)(nil), // 24: pb.UpdateGroupMemberReq - (*DeleteGroupMemberReq)(nil), // 25: pb.DeleteGroupMemberReq - (*GetGroupMembersReq)(nil), // 26: pb.GetGroupMembersReq - (*GetGroupMembersResp)(nil), // 27: pb.GetGroupMembersResp - (*GroupMember)(nil), // 28: pb.GroupMember - (ReceiverType)(0), // 29: pb.ReceiverType - (MessageType)(0), // 30: pb.MessageType - (*Empty)(nil), // 31: pb.Empty + (*SendRedPacketReq)(nil), // 7: pb.SendRedPacketReq + (*SendRedPacketResp)(nil), // 8: pb.SendRedPacketResp + (*PushRoomReq)(nil), // 9: pb.PushRoomReq + (*AddFriendReq)(nil), // 10: pb.AddFriendReq + (*DeleteFriendReq)(nil), // 11: pb.DeleteFriendReq + (*AgreeAddFriendReq)(nil), // 12: pb.AgreeAddFriendReq + (*SetFriendReq)(nil), // 13: pb.SetFriendReq + (*SetFriendResp)(nil), // 14: pb.SetFriendResp + (*Friend)(nil), // 15: pb.Friend + (*GetFriendsResp)(nil), // 16: pb.GetFriendsResp + (*CreateGroupReq)(nil), // 17: pb.CreateGroupReq + (*CreateGroupResp)(nil), // 18: pb.CreateGroupResp + (*UpdateGroupReq)(nil), // 19: pb.UpdateGroupReq + (*GetGroupReq)(nil), // 20: pb.GetGroupReq + (*GetGroupResp)(nil), // 21: pb.GetGroupResp + (*Group)(nil), // 22: pb.Group + (*GetGroupsResp)(nil), // 23: pb.GetGroupsResp + (*AddGroupMembersReq)(nil), // 24: pb.AddGroupMembersReq + (*AddGroupMembersResp)(nil), // 25: pb.AddGroupMembersResp + (*UpdateGroupMemberReq)(nil), // 26: pb.UpdateGroupMemberReq + (*DeleteGroupMemberReq)(nil), // 27: pb.DeleteGroupMemberReq + (*GetGroupMembersReq)(nil), // 28: pb.GetGroupMembersReq + (*GetGroupMembersResp)(nil), // 29: pb.GetGroupMembersResp + (*GroupMember)(nil), // 30: pb.GroupMember + (ReceiverType)(0), // 31: pb.ReceiverType + (MessageType)(0), // 32: pb.MessageType + (*Empty)(nil), // 33: pb.Empty } var file_logic_ext_proto_depIdxs = []int32{ - 29, // 0: pb.SendMessageReq.receiver_type:type_name -> pb.ReceiverType - 30, // 1: pb.SendMessageReq.message_type:type_name -> pb.MessageType - 29, // 2: pb.RecallMessageReq.receiver_type:type_name -> pb.ReceiverType - 30, // 3: pb.RecallMessageReq.message_type:type_name -> pb.MessageType - 30, // 4: pb.PushRoomReq.message_type:type_name -> pb.MessageType - 13, // 5: pb.GetFriendsResp.friends:type_name -> pb.Friend - 20, // 6: pb.GetGroupResp.group:type_name -> pb.Group - 20, // 7: pb.GetGroupsResp.groups:type_name -> pb.Group - 0, // 8: pb.UpdateGroupMemberReq.member_type:type_name -> pb.MemberType - 28, // 9: pb.GetGroupMembersResp.members:type_name -> pb.GroupMember - 0, // 10: pb.GroupMember.member_type:type_name -> pb.MemberType - 1, // 11: pb.LogicExt.RegisterDevice:input_type -> pb.RegisterDeviceReq - 3, // 12: pb.LogicExt.SendMessage:input_type -> pb.SendMessageReq - 5, // 13: pb.LogicExt.RecallMessage:input_type -> pb.RecallMessageReq - 7, // 14: pb.LogicExt.PushRoom:input_type -> pb.PushRoomReq - 8, // 15: pb.LogicExt.AddFriend:input_type -> pb.AddFriendReq - 10, // 16: pb.LogicExt.AgreeAddFriend:input_type -> pb.AgreeAddFriendReq - 9, // 17: pb.LogicExt.DeleteFriend:input_type -> pb.DeleteFriendReq - 11, // 18: pb.LogicExt.SetFriend:input_type -> pb.SetFriendReq - 31, // 19: pb.LogicExt.GetFriends:input_type -> pb.Empty - 15, // 20: pb.LogicExt.CreateGroup:input_type -> pb.CreateGroupReq - 17, // 21: pb.LogicExt.UpdateGroup:input_type -> pb.UpdateGroupReq - 18, // 22: pb.LogicExt.GetGroup:input_type -> pb.GetGroupReq - 31, // 23: pb.LogicExt.GetGroups:input_type -> pb.Empty - 22, // 24: pb.LogicExt.AddGroupMembers:input_type -> pb.AddGroupMembersReq - 24, // 25: pb.LogicExt.UpdateGroupMember:input_type -> pb.UpdateGroupMemberReq - 25, // 26: pb.LogicExt.DeleteGroupMember:input_type -> pb.DeleteGroupMemberReq - 26, // 27: pb.LogicExt.GetGroupMembers:input_type -> pb.GetGroupMembersReq - 2, // 28: pb.LogicExt.RegisterDevice:output_type -> pb.RegisterDeviceResp - 4, // 29: pb.LogicExt.SendMessage:output_type -> pb.SendMessageResp - 6, // 30: pb.LogicExt.RecallMessage:output_type -> pb.RecallMessageResp - 31, // 31: pb.LogicExt.PushRoom:output_type -> pb.Empty - 31, // 32: pb.LogicExt.AddFriend:output_type -> pb.Empty - 31, // 33: pb.LogicExt.AgreeAddFriend:output_type -> pb.Empty - 31, // 34: pb.LogicExt.DeleteFriend:output_type -> pb.Empty - 12, // 35: pb.LogicExt.SetFriend:output_type -> pb.SetFriendResp - 14, // 36: pb.LogicExt.GetFriends:output_type -> pb.GetFriendsResp - 16, // 37: pb.LogicExt.CreateGroup:output_type -> pb.CreateGroupResp - 31, // 38: pb.LogicExt.UpdateGroup:output_type -> pb.Empty - 19, // 39: pb.LogicExt.GetGroup:output_type -> pb.GetGroupResp - 21, // 40: pb.LogicExt.GetGroups:output_type -> pb.GetGroupsResp - 23, // 41: pb.LogicExt.AddGroupMembers:output_type -> pb.AddGroupMembersResp - 31, // 42: pb.LogicExt.UpdateGroupMember:output_type -> pb.Empty - 31, // 43: pb.LogicExt.DeleteGroupMember:output_type -> pb.Empty - 27, // 44: pb.LogicExt.GetGroupMembers:output_type -> pb.GetGroupMembersResp - 28, // [28:45] is the sub-list for method output_type - 11, // [11:28] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name + 31, // 0: pb.SendMessageReq.receiver_type:type_name -> pb.ReceiverType + 32, // 1: pb.SendMessageReq.message_type:type_name -> pb.MessageType + 31, // 2: pb.RecallMessageReq.receiver_type:type_name -> pb.ReceiverType + 32, // 3: pb.RecallMessageReq.message_type:type_name -> pb.MessageType + 31, // 4: pb.SendRedPacketReq.receiver_type:type_name -> pb.ReceiverType + 32, // 5: pb.SendRedPacketReq.message_type:type_name -> pb.MessageType + 32, // 6: pb.PushRoomReq.message_type:type_name -> pb.MessageType + 15, // 7: pb.GetFriendsResp.friends:type_name -> pb.Friend + 22, // 8: pb.GetGroupResp.group:type_name -> pb.Group + 22, // 9: pb.GetGroupsResp.groups:type_name -> pb.Group + 0, // 10: pb.UpdateGroupMemberReq.member_type:type_name -> pb.MemberType + 30, // 11: pb.GetGroupMembersResp.members:type_name -> pb.GroupMember + 0, // 12: pb.GroupMember.member_type:type_name -> pb.MemberType + 1, // 13: pb.LogicExt.RegisterDevice:input_type -> pb.RegisterDeviceReq + 3, // 14: pb.LogicExt.SendMessage:input_type -> pb.SendMessageReq + 5, // 15: pb.LogicExt.RecallMessage:input_type -> pb.RecallMessageReq + 9, // 16: pb.LogicExt.PushRoom:input_type -> pb.PushRoomReq + 7, // 17: pb.LogicExt.SendRedPacket:input_type -> pb.SendRedPacketReq + 10, // 18: pb.LogicExt.AddFriend:input_type -> pb.AddFriendReq + 12, // 19: pb.LogicExt.AgreeAddFriend:input_type -> pb.AgreeAddFriendReq + 11, // 20: pb.LogicExt.DeleteFriend:input_type -> pb.DeleteFriendReq + 13, // 21: pb.LogicExt.SetFriend:input_type -> pb.SetFriendReq + 33, // 22: pb.LogicExt.GetFriends:input_type -> pb.Empty + 17, // 23: pb.LogicExt.CreateGroup:input_type -> pb.CreateGroupReq + 19, // 24: pb.LogicExt.UpdateGroup:input_type -> pb.UpdateGroupReq + 20, // 25: pb.LogicExt.GetGroup:input_type -> pb.GetGroupReq + 33, // 26: pb.LogicExt.GetGroups:input_type -> pb.Empty + 24, // 27: pb.LogicExt.AddGroupMembers:input_type -> pb.AddGroupMembersReq + 26, // 28: pb.LogicExt.UpdateGroupMember:input_type -> pb.UpdateGroupMemberReq + 27, // 29: pb.LogicExt.DeleteGroupMember:input_type -> pb.DeleteGroupMemberReq + 28, // 30: pb.LogicExt.GetGroupMembers:input_type -> pb.GetGroupMembersReq + 2, // 31: pb.LogicExt.RegisterDevice:output_type -> pb.RegisterDeviceResp + 4, // 32: pb.LogicExt.SendMessage:output_type -> pb.SendMessageResp + 6, // 33: pb.LogicExt.RecallMessage:output_type -> pb.RecallMessageResp + 33, // 34: pb.LogicExt.PushRoom:output_type -> pb.Empty + 8, // 35: pb.LogicExt.SendRedPacket:output_type -> pb.SendRedPacketResp + 33, // 36: pb.LogicExt.AddFriend:output_type -> pb.Empty + 33, // 37: pb.LogicExt.AgreeAddFriend:output_type -> pb.Empty + 33, // 38: pb.LogicExt.DeleteFriend:output_type -> pb.Empty + 14, // 39: pb.LogicExt.SetFriend:output_type -> pb.SetFriendResp + 16, // 40: pb.LogicExt.GetFriends:output_type -> pb.GetFriendsResp + 18, // 41: pb.LogicExt.CreateGroup:output_type -> pb.CreateGroupResp + 33, // 42: pb.LogicExt.UpdateGroup:output_type -> pb.Empty + 21, // 43: pb.LogicExt.GetGroup:output_type -> pb.GetGroupResp + 23, // 44: pb.LogicExt.GetGroups:output_type -> pb.GetGroupsResp + 25, // 45: pb.LogicExt.AddGroupMembers:output_type -> pb.AddGroupMembersResp + 33, // 46: pb.LogicExt.UpdateGroupMember:output_type -> pb.Empty + 33, // 47: pb.LogicExt.DeleteGroupMember:output_type -> pb.Empty + 29, // 48: pb.LogicExt.GetGroupMembers:output_type -> pb.GetGroupMembersResp + 31, // [31:49] is the sub-list for method output_type + 13, // [13:31] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_logic_ext_proto_init() } @@ -2373,7 +2537,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PushRoomReq); i { + switch v := v.(*SendRedPacketReq); i { case 0: return &v.state case 1: @@ -2385,7 +2549,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddFriendReq); i { + switch v := v.(*SendRedPacketResp); i { case 0: return &v.state case 1: @@ -2397,7 +2561,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteFriendReq); i { + switch v := v.(*PushRoomReq); i { case 0: return &v.state case 1: @@ -2409,7 +2573,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AgreeAddFriendReq); i { + switch v := v.(*AddFriendReq); i { case 0: return &v.state case 1: @@ -2421,7 +2585,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetFriendReq); i { + switch v := v.(*DeleteFriendReq); i { case 0: return &v.state case 1: @@ -2433,7 +2597,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SetFriendResp); i { + switch v := v.(*AgreeAddFriendReq); i { case 0: return &v.state case 1: @@ -2445,7 +2609,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Friend); i { + switch v := v.(*SetFriendReq); i { case 0: return &v.state case 1: @@ -2457,7 +2621,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetFriendsResp); i { + switch v := v.(*SetFriendResp); i { case 0: return &v.state case 1: @@ -2469,7 +2633,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateGroupReq); i { + switch v := v.(*Friend); i { case 0: return &v.state case 1: @@ -2481,7 +2645,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateGroupResp); i { + switch v := v.(*GetFriendsResp); i { case 0: return &v.state case 1: @@ -2493,7 +2657,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateGroupReq); i { + switch v := v.(*CreateGroupReq); i { case 0: return &v.state case 1: @@ -2505,7 +2669,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupReq); i { + switch v := v.(*CreateGroupResp); i { case 0: return &v.state case 1: @@ -2517,7 +2681,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupResp); i { + switch v := v.(*UpdateGroupReq); i { case 0: return &v.state case 1: @@ -2529,7 +2693,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Group); i { + switch v := v.(*GetGroupReq); i { case 0: return &v.state case 1: @@ -2541,7 +2705,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupsResp); i { + switch v := v.(*GetGroupResp); i { case 0: return &v.state case 1: @@ -2553,7 +2717,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddGroupMembersReq); i { + switch v := v.(*Group); i { case 0: return &v.state case 1: @@ -2565,7 +2729,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddGroupMembersResp); i { + switch v := v.(*GetGroupsResp); i { case 0: return &v.state case 1: @@ -2577,7 +2741,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateGroupMemberReq); i { + switch v := v.(*AddGroupMembersReq); i { case 0: return &v.state case 1: @@ -2589,7 +2753,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteGroupMemberReq); i { + switch v := v.(*AddGroupMembersResp); i { case 0: return &v.state case 1: @@ -2601,7 +2765,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMembersReq); i { + switch v := v.(*UpdateGroupMemberReq); i { case 0: return &v.state case 1: @@ -2613,7 +2777,7 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetGroupMembersResp); i { + switch v := v.(*DeleteGroupMemberReq); i { case 0: return &v.state case 1: @@ -2625,6 +2789,30 @@ func file_logic_ext_proto_init() { } } file_logic_ext_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetGroupMembersReq); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_logic_ext_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetGroupMembersResp); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_logic_ext_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*GroupMember); i { case 0: return &v.state @@ -2643,7 +2831,7 @@ func file_logic_ext_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_logic_ext_proto_rawDesc, NumEnums: 1, - NumMessages: 28, + NumMessages: 30, NumExtensions: 0, NumServices: 1, }, @@ -2675,6 +2863,8 @@ type LogicExtClient interface { RecallMessage(ctx context.Context, in *RecallMessageReq, opts ...grpc.CallOption) (*RecallMessageResp, error) // 推送消息到房间 PushRoom(ctx context.Context, in *PushRoomReq, opts ...grpc.CallOption) (*Empty, error) + // 发送红包 + SendRedPacket(ctx context.Context, in *SendRedPacketReq, opts ...grpc.CallOption) (*SendRedPacketResp, error) // 添加好友 AddFriend(ctx context.Context, in *AddFriendReq, opts ...grpc.CallOption) (*Empty, error) // 同意添加好友 @@ -2747,6 +2937,15 @@ func (c *logicExtClient) PushRoom(ctx context.Context, in *PushRoomReq, opts ... return out, nil } +func (c *logicExtClient) SendRedPacket(ctx context.Context, in *SendRedPacketReq, opts ...grpc.CallOption) (*SendRedPacketResp, error) { + out := new(SendRedPacketResp) + err := c.cc.Invoke(ctx, "/pb.LogicExt/SendRedPacket", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *logicExtClient) AddFriend(ctx context.Context, in *AddFriendReq, opts ...grpc.CallOption) (*Empty, error) { out := new(Empty) err := c.cc.Invoke(ctx, "/pb.LogicExt/AddFriend", in, out, opts...) @@ -2876,6 +3075,8 @@ type LogicExtServer interface { RecallMessage(context.Context, *RecallMessageReq) (*RecallMessageResp, error) // 推送消息到房间 PushRoom(context.Context, *PushRoomReq) (*Empty, error) + // 发送红包 + SendRedPacket(context.Context, *SendRedPacketReq) (*SendRedPacketResp, error) // 添加好友 AddFriend(context.Context, *AddFriendReq) (*Empty, error) // 同意添加好友 @@ -2920,6 +3121,9 @@ func (UnimplementedLogicExtServer) RecallMessage(context.Context, *RecallMessage func (UnimplementedLogicExtServer) PushRoom(context.Context, *PushRoomReq) (*Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method PushRoom not implemented") } +func (UnimplementedLogicExtServer) SendRedPacket(context.Context, *SendRedPacketReq) (*SendRedPacketResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SendRedPacket not implemented") +} func (UnimplementedLogicExtServer) AddFriend(context.Context, *AddFriendReq) (*Empty, error) { return nil, status.Errorf(codes.Unimplemented, "method AddFriend not implemented") } @@ -2959,14 +3163,6 @@ func (UnimplementedLogicExtServer) DeleteGroupMember(context.Context, *DeleteGro func (UnimplementedLogicExtServer) GetGroupMembers(context.Context, *GetGroupMembersReq) (*GetGroupMembersResp, error) { return nil, status.Errorf(codes.Unimplemented, "method GetGroupMembers not implemented") } -func (UnimplementedLogicExtServer) mustEmbedUnimplementedLogicExtServer() {} - -// UnsafeLogicExtServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to LogicExtServer will -// result in compilation errors. -type UnsafeLogicExtServer interface { - mustEmbedUnimplementedLogicExtServer() -} func RegisterLogicExtServer(s grpc.ServiceRegistrar, srv LogicExtServer) { s.RegisterService(&LogicExt_ServiceDesc, srv) @@ -3044,6 +3240,24 @@ func _LogicExt_PushRoom_Handler(srv interface{}, ctx context.Context, dec func(i return interceptor(ctx, in, info, handler) } +func _LogicExt_SendRedPacket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SendRedPacketReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(LogicExtServer).SendRedPacket(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/pb.LogicExt/SendRedPacket", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(LogicExtServer).SendRedPacket(ctx, req.(*SendRedPacketReq)) + } + return interceptor(ctx, in, info, handler) +} + func _LogicExt_AddFriend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(AddFriendReq) if err := dec(in); err != nil { @@ -3301,6 +3515,10 @@ var LogicExt_ServiceDesc = grpc.ServiceDesc{ MethodName: "PushRoom", Handler: _LogicExt_PushRoom_Handler, }, + { + MethodName: "SendRedPacket", + Handler: _LogicExt_SendRedPacket_Handler, + }, { MethodName: "AddFriend", Handler: _LogicExt_AddFriend_Handler, diff --git a/pkg/proto/connect.ext.proto b/pkg/proto/connect.ext.proto index 0c050a5..e8562f5 100644 --- a/pkg/proto/connect.ext.proto +++ b/pkg/proto/connect.ext.proto @@ -46,6 +46,32 @@ enum MessageType { MT_COMMAND = 7; // 指令推送 MT_CUSTOM = 8; // 自定义 MT_RECALL = 9; // 撤回消息 + MT_RED_PACKAGE = 10; // 红包消息 +} + +// 红包类型 +enum RedPacketType { + RPT_UNKNOWN = 0; // 未知 + RPT_FRIEND = 1; // 好友红包 + RPT_GROUP_NORMAL = 2; // 群组普通红包 + RPT_GROUP_LUCK = 3; // 群组手气红包 + RPT_GROUP_SPECIALLY = 4; // 群组专属红包 + RPT_SYSTEM_FOR = 5; // 系统红包 +} + +// 红包消息类型 +enum RedPacketMessageType { + RMT_UNKNOWN = 0; // 未知 + RMT_SEND = 1; // 发红包 + RMT_GRAB = 2; // 抢红包 +} + +// 红包状态类型 +enum RedPacketStatusType { + RPS_NOT_DRAW = 0; // 未领取 + RPS_DRAWING = 1; // 领取中 + RPS_DRAW_OVER = 2; // 领取完 + RPS_EXPIRE = 3; //已过期 } // 文本消息 @@ -107,6 +133,21 @@ message RECALL { int64 recall_seq = 1; // 撤回消息seq } + +// 红包消息 +message RED_PACKAGE { + RedPacketMessageType red_message_type = 1;// 红包消息类型 + RedPacketType red_packet_type = 2; // 红包类型 + string red_packet_content = 3; // 红包文字内容 + float red_packet_amount = 6; // 红包金额 + int32 red_packet_nums = 5; // 红包数量 + float red_packet_balance_amount = 7; // 红包余额 + repeated int64 received_user_ids = 8; // 已领取用户id + repeated float received_user_amount = 9; // 已领取用户金额 + repeated string received_user_nickname = 10; // 已领取用户昵称 + RedPacketStatusType red_packet_status_type = 11; // 领取状态 +} + /************************************消息体定义结束************************************/ // 上行数据 diff --git a/pkg/proto/logic.ext.proto b/pkg/proto/logic.ext.proto index cc5cf36..4ac501e 100644 --- a/pkg/proto/logic.ext.proto +++ b/pkg/proto/logic.ext.proto @@ -16,6 +16,9 @@ service LogicExt { // 推送消息到房间 rpc PushRoom(PushRoomReq)returns(Empty); + // 发送红包 + rpc SendRedPacket (SendRedPacketReq) returns (SendRedPacketResp); + // 添加好友 rpc AddFriend (AddFriendReq) returns (Empty); // 同意添加好友 @@ -85,6 +88,19 @@ message RecallMessageResp { int64 seq = 1; // 消息序列号 } + +message SendRedPacketReq { + ReceiverType receiver_type = 1; // 接收者类型,1:user;2:group + int64 receiver_id = 2; // 用户id或者群组id + MessageType message_type = 3; // 消息类型 + bytes message_content = 4; // 消息内容 + int64 send_time = 5; // 消息发送时间戳,精确到毫秒 + string message_content_back = 6; +} +message SendRedPacketResp { + int64 seq = 1; // 消息序列号 +} + message PushRoomReq{ int64 room_id = 1; // 房间id MessageType message_type = 2; // 消息类型