From a50001364f1980fe67b8520f11e25847e1c896e5 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 16 Jun 2022 18:59:17 +0800 Subject: [PATCH 01/12] user proto modify --- pkg/proto/user/user.proto | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkg/proto/user/user.proto b/pkg/proto/user/user.proto index 2f591aed6..67b7e3da6 100644 --- a/pkg/proto/user/user.proto +++ b/pkg/proto/user/user.proto @@ -68,6 +68,14 @@ message UpdateUserInfoReq{ message UpdateUserInfoResp{ CommonResp commonResp = 1; } +message SetGlobalRecvMessageOptReq{ + string userID = 1; + string operationID = 2; + int32 opt = 3; +} +message SetGlobalRecvMessageOptResp{ + CommonResp commonResp = 1; +} message Conversation{ string OwnerUserID = 1; From 479679a1c6f58d3e31509c47ef2de944bcc2db6b Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 16 Jun 2022 19:02:08 +0800 Subject: [PATCH 02/12] user proto modify --- pkg/proto/user/user.proto | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/proto/user/user.proto b/pkg/proto/user/user.proto index 67b7e3da6..3b14ad177 100644 --- a/pkg/proto/user/user.proto +++ b/pkg/proto/user/user.proto @@ -303,6 +303,7 @@ message DeleteUserResp { service user { rpc GetUserInfo(GetUserInfoReq) returns(GetUserInfoResp); rpc UpdateUserInfo(UpdateUserInfoReq) returns(UpdateUserInfoResp); + rpc SetGlobalRecvMessageOpt(SetGlobalRecvMessageOptReq) returns(SetGlobalRecvMessageOptResp); rpc DeleteUsers(DeleteUsersReq)returns(DeleteUsersResp); rpc GetAllUserID(GetAllUserIDReq)returns(GetAllUserIDResp); From a15e644a51fd6c4240a5006acd58295bb3384325 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 16 Jun 2022 19:09:13 +0800 Subject: [PATCH 03/12] fix bug --- pkg/proto/user/user.pb.go | 489 ++++++++++++++++++++++++-------------- pkg/proto/user/user.proto | 2 - 2 files changed, 304 insertions(+), 187 deletions(-) diff --git a/pkg/proto/user/user.pb.go b/pkg/proto/user/user.pb.go index ec740001b..f833cefc7 100644 --- a/pkg/proto/user/user.pb.go +++ b/pkg/proto/user/user.pb.go @@ -7,7 +7,6 @@ import proto "github.com/golang/protobuf/proto" import fmt "fmt" import math "math" import sdk_ws "Open_IM/pkg/proto/sdk_ws" -import wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" import ( context "golang.org/x/net/context" @@ -37,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{0} + return fileDescriptor_user_ffbbc34a94bb8978, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -84,7 +83,7 @@ func (m *DeleteUsersReq) Reset() { *m = DeleteUsersReq{} } func (m *DeleteUsersReq) String() string { return proto.CompactTextString(m) } func (*DeleteUsersReq) ProtoMessage() {} func (*DeleteUsersReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{1} + return fileDescriptor_user_ffbbc34a94bb8978, []int{1} } func (m *DeleteUsersReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteUsersReq.Unmarshal(m, b) @@ -137,7 +136,7 @@ func (m *DeleteUsersResp) Reset() { *m = DeleteUsersResp{} } func (m *DeleteUsersResp) String() string { return proto.CompactTextString(m) } func (*DeleteUsersResp) ProtoMessage() {} func (*DeleteUsersResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{2} + return fileDescriptor_user_ffbbc34a94bb8978, []int{2} } func (m *DeleteUsersResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteUsersResp.Unmarshal(m, b) @@ -183,7 +182,7 @@ func (m *GetAllUserIDReq) Reset() { *m = GetAllUserIDReq{} } func (m *GetAllUserIDReq) String() string { return proto.CompactTextString(m) } func (*GetAllUserIDReq) ProtoMessage() {} func (*GetAllUserIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{3} + return fileDescriptor_user_ffbbc34a94bb8978, []int{3} } func (m *GetAllUserIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllUserIDReq.Unmarshal(m, b) @@ -229,7 +228,7 @@ func (m *GetAllUserIDResp) Reset() { *m = GetAllUserIDResp{} } func (m *GetAllUserIDResp) String() string { return proto.CompactTextString(m) } func (*GetAllUserIDResp) ProtoMessage() {} func (*GetAllUserIDResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{4} + return fileDescriptor_user_ffbbc34a94bb8978, []int{4} } func (m *GetAllUserIDResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllUserIDResp.Unmarshal(m, b) @@ -276,7 +275,7 @@ func (m *AccountCheckReq) Reset() { *m = AccountCheckReq{} } func (m *AccountCheckReq) String() string { return proto.CompactTextString(m) } func (*AccountCheckReq) ProtoMessage() {} func (*AccountCheckReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{5} + return fileDescriptor_user_ffbbc34a94bb8978, []int{5} } func (m *AccountCheckReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountCheckReq.Unmarshal(m, b) @@ -329,7 +328,7 @@ func (m *AccountCheckResp) Reset() { *m = AccountCheckResp{} } func (m *AccountCheckResp) String() string { return proto.CompactTextString(m) } func (*AccountCheckResp) ProtoMessage() {} func (*AccountCheckResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{6} + return fileDescriptor_user_ffbbc34a94bb8978, []int{6} } func (m *AccountCheckResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountCheckResp.Unmarshal(m, b) @@ -375,7 +374,7 @@ func (m *AccountCheckResp_SingleUserStatus) Reset() { *m = AccountCheckR func (m *AccountCheckResp_SingleUserStatus) String() string { return proto.CompactTextString(m) } func (*AccountCheckResp_SingleUserStatus) ProtoMessage() {} func (*AccountCheckResp_SingleUserStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{6, 0} + return fileDescriptor_user_ffbbc34a94bb8978, []int{6, 0} } func (m *AccountCheckResp_SingleUserStatus) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountCheckResp_SingleUserStatus.Unmarshal(m, b) @@ -422,7 +421,7 @@ func (m *GetUserInfoReq) Reset() { *m = GetUserInfoReq{} } func (m *GetUserInfoReq) String() string { return proto.CompactTextString(m) } func (*GetUserInfoReq) ProtoMessage() {} func (*GetUserInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{7} + return fileDescriptor_user_ffbbc34a94bb8978, []int{7} } func (m *GetUserInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserInfoReq.Unmarshal(m, b) @@ -475,7 +474,7 @@ func (m *GetUserInfoResp) Reset() { *m = GetUserInfoResp{} } func (m *GetUserInfoResp) String() string { return proto.CompactTextString(m) } func (*GetUserInfoResp) ProtoMessage() {} func (*GetUserInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{8} + return fileDescriptor_user_ffbbc34a94bb8978, []int{8} } func (m *GetUserInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserInfoResp.Unmarshal(m, b) @@ -510,20 +509,19 @@ func (m *GetUserInfoResp) GetUserInfoList() []*sdk_ws.UserInfo { } type UpdateUserInfoReq struct { - UserInfo *sdk_ws.UserInfo `protobuf:"bytes,1,opt,name=UserInfo" json:"UserInfo,omitempty"` - OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` - OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"` - GlobalRecvMsgOpt *wrapperspb.Int32Value `protobuf:"bytes,4,opt,name=globalRecvMsgOpt" json:"globalRecvMsgOpt,omitempty"` - XXX_NoUnkeyedLiteral struct{} `json:"-"` - XXX_unrecognized []byte `json:"-"` - XXX_sizecache int32 `json:"-"` + UserInfo *sdk_ws.UserInfo `protobuf:"bytes,1,opt,name=UserInfo" json:"UserInfo,omitempty"` + OpUserID string `protobuf:"bytes,2,opt,name=OpUserID" json:"OpUserID,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=operationID" json:"operationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` } func (m *UpdateUserInfoReq) Reset() { *m = UpdateUserInfoReq{} } func (m *UpdateUserInfoReq) String() string { return proto.CompactTextString(m) } func (*UpdateUserInfoReq) ProtoMessage() {} func (*UpdateUserInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{9} + return fileDescriptor_user_ffbbc34a94bb8978, []int{9} } func (m *UpdateUserInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UpdateUserInfoReq.Unmarshal(m, b) @@ -564,13 +562,6 @@ func (m *UpdateUserInfoReq) GetOperationID() string { return "" } -func (m *UpdateUserInfoReq) GetGlobalRecvMsgOpt() *wrapperspb.Int32Value { - if m != nil { - return m.GlobalRecvMsgOpt - } - return nil -} - type UpdateUserInfoResp struct { CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` @@ -582,7 +573,7 @@ func (m *UpdateUserInfoResp) Reset() { *m = UpdateUserInfoResp{} } func (m *UpdateUserInfoResp) String() string { return proto.CompactTextString(m) } func (*UpdateUserInfoResp) ProtoMessage() {} func (*UpdateUserInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{10} + return fileDescriptor_user_ffbbc34a94bb8978, []int{10} } func (m *UpdateUserInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UpdateUserInfoResp.Unmarshal(m, b) @@ -609,6 +600,98 @@ func (m *UpdateUserInfoResp) GetCommonResp() *CommonResp { return nil } +type SetGlobalRecvMessageOptReq struct { + UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` + Opt int32 `protobuf:"varint,3,opt,name=opt" json:"opt,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetGlobalRecvMessageOptReq) Reset() { *m = SetGlobalRecvMessageOptReq{} } +func (m *SetGlobalRecvMessageOptReq) String() string { return proto.CompactTextString(m) } +func (*SetGlobalRecvMessageOptReq) ProtoMessage() {} +func (*SetGlobalRecvMessageOptReq) Descriptor() ([]byte, []int) { + return fileDescriptor_user_ffbbc34a94bb8978, []int{11} +} +func (m *SetGlobalRecvMessageOptReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetGlobalRecvMessageOptReq.Unmarshal(m, b) +} +func (m *SetGlobalRecvMessageOptReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetGlobalRecvMessageOptReq.Marshal(b, m, deterministic) +} +func (dst *SetGlobalRecvMessageOptReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetGlobalRecvMessageOptReq.Merge(dst, src) +} +func (m *SetGlobalRecvMessageOptReq) XXX_Size() int { + return xxx_messageInfo_SetGlobalRecvMessageOptReq.Size(m) +} +func (m *SetGlobalRecvMessageOptReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetGlobalRecvMessageOptReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SetGlobalRecvMessageOptReq proto.InternalMessageInfo + +func (m *SetGlobalRecvMessageOptReq) GetUserID() string { + if m != nil { + return m.UserID + } + return "" +} + +func (m *SetGlobalRecvMessageOptReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *SetGlobalRecvMessageOptReq) GetOpt() int32 { + if m != nil { + return m.Opt + } + return 0 +} + +type SetGlobalRecvMessageOptResp struct { + CommonResp *CommonResp `protobuf:"bytes,1,opt,name=commonResp" json:"commonResp,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetGlobalRecvMessageOptResp) Reset() { *m = SetGlobalRecvMessageOptResp{} } +func (m *SetGlobalRecvMessageOptResp) String() string { return proto.CompactTextString(m) } +func (*SetGlobalRecvMessageOptResp) ProtoMessage() {} +func (*SetGlobalRecvMessageOptResp) Descriptor() ([]byte, []int) { + return fileDescriptor_user_ffbbc34a94bb8978, []int{12} +} +func (m *SetGlobalRecvMessageOptResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetGlobalRecvMessageOptResp.Unmarshal(m, b) +} +func (m *SetGlobalRecvMessageOptResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetGlobalRecvMessageOptResp.Marshal(b, m, deterministic) +} +func (dst *SetGlobalRecvMessageOptResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetGlobalRecvMessageOptResp.Merge(dst, src) +} +func (m *SetGlobalRecvMessageOptResp) XXX_Size() int { + return xxx_messageInfo_SetGlobalRecvMessageOptResp.Size(m) +} +func (m *SetGlobalRecvMessageOptResp) XXX_DiscardUnknown() { + xxx_messageInfo_SetGlobalRecvMessageOptResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SetGlobalRecvMessageOptResp proto.InternalMessageInfo + +func (m *SetGlobalRecvMessageOptResp) GetCommonResp() *CommonResp { + if m != nil { + return m.CommonResp + } + return nil +} + type Conversation struct { OwnerUserID string `protobuf:"bytes,1,opt,name=OwnerUserID" json:"OwnerUserID,omitempty"` ConversationID string `protobuf:"bytes,2,opt,name=ConversationID" json:"ConversationID,omitempty"` @@ -633,7 +716,7 @@ func (m *Conversation) Reset() { *m = Conversation{} } func (m *Conversation) String() string { return proto.CompactTextString(m) } func (*Conversation) ProtoMessage() {} func (*Conversation) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{11} + return fileDescriptor_user_ffbbc34a94bb8978, []int{13} } func (m *Conversation) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Conversation.Unmarshal(m, b) @@ -764,7 +847,7 @@ func (m *SetConversationReq) Reset() { *m = SetConversationReq{} } func (m *SetConversationReq) String() string { return proto.CompactTextString(m) } func (*SetConversationReq) ProtoMessage() {} func (*SetConversationReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{12} + return fileDescriptor_user_ffbbc34a94bb8978, []int{14} } func (m *SetConversationReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetConversationReq.Unmarshal(m, b) @@ -816,7 +899,7 @@ func (m *SetConversationResp) Reset() { *m = SetConversationResp{} } func (m *SetConversationResp) String() string { return proto.CompactTextString(m) } func (*SetConversationResp) ProtoMessage() {} func (*SetConversationResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{13} + return fileDescriptor_user_ffbbc34a94bb8978, []int{15} } func (m *SetConversationResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetConversationResp.Unmarshal(m, b) @@ -858,7 +941,7 @@ func (m *SetRecvMsgOptReq) Reset() { *m = SetRecvMsgOptReq{} } func (m *SetRecvMsgOptReq) String() string { return proto.CompactTextString(m) } func (*SetRecvMsgOptReq) ProtoMessage() {} func (*SetRecvMsgOptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{14} + return fileDescriptor_user_ffbbc34a94bb8978, []int{16} } func (m *SetRecvMsgOptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetRecvMsgOptReq.Unmarshal(m, b) @@ -924,7 +1007,7 @@ func (m *SetRecvMsgOptResp) Reset() { *m = SetRecvMsgOptResp{} } func (m *SetRecvMsgOptResp) String() string { return proto.CompactTextString(m) } func (*SetRecvMsgOptResp) ProtoMessage() {} func (*SetRecvMsgOptResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{15} + return fileDescriptor_user_ffbbc34a94bb8978, []int{17} } func (m *SetRecvMsgOptResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetRecvMsgOptResp.Unmarshal(m, b) @@ -964,7 +1047,7 @@ func (m *GetConversationReq) Reset() { *m = GetConversationReq{} } func (m *GetConversationReq) String() string { return proto.CompactTextString(m) } func (*GetConversationReq) ProtoMessage() {} func (*GetConversationReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{16} + return fileDescriptor_user_ffbbc34a94bb8978, []int{18} } func (m *GetConversationReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationReq.Unmarshal(m, b) @@ -1017,7 +1100,7 @@ func (m *GetConversationResp) Reset() { *m = GetConversationResp{} } func (m *GetConversationResp) String() string { return proto.CompactTextString(m) } func (*GetConversationResp) ProtoMessage() {} func (*GetConversationResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{17} + return fileDescriptor_user_ffbbc34a94bb8978, []int{19} } func (m *GetConversationResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationResp.Unmarshal(m, b) @@ -1064,7 +1147,7 @@ func (m *GetConversationsReq) Reset() { *m = GetConversationsReq{} } func (m *GetConversationsReq) String() string { return proto.CompactTextString(m) } func (*GetConversationsReq) ProtoMessage() {} func (*GetConversationsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{18} + return fileDescriptor_user_ffbbc34a94bb8978, []int{20} } func (m *GetConversationsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationsReq.Unmarshal(m, b) @@ -1117,7 +1200,7 @@ func (m *GetConversationsResp) Reset() { *m = GetConversationsResp{} } func (m *GetConversationsResp) String() string { return proto.CompactTextString(m) } func (*GetConversationsResp) ProtoMessage() {} func (*GetConversationsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{19} + return fileDescriptor_user_ffbbc34a94bb8978, []int{21} } func (m *GetConversationsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationsResp.Unmarshal(m, b) @@ -1163,7 +1246,7 @@ func (m *GetAllConversationsReq) Reset() { *m = GetAllConversationsReq{} func (m *GetAllConversationsReq) String() string { return proto.CompactTextString(m) } func (*GetAllConversationsReq) ProtoMessage() {} func (*GetAllConversationsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{20} + return fileDescriptor_user_ffbbc34a94bb8978, []int{22} } func (m *GetAllConversationsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllConversationsReq.Unmarshal(m, b) @@ -1209,7 +1292,7 @@ func (m *GetAllConversationsResp) Reset() { *m = GetAllConversationsResp func (m *GetAllConversationsResp) String() string { return proto.CompactTextString(m) } func (*GetAllConversationsResp) ProtoMessage() {} func (*GetAllConversationsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{21} + return fileDescriptor_user_ffbbc34a94bb8978, []int{23} } func (m *GetAllConversationsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllConversationsResp.Unmarshal(m, b) @@ -1257,7 +1340,7 @@ func (m *BatchSetConversationsReq) Reset() { *m = BatchSetConversationsR func (m *BatchSetConversationsReq) String() string { return proto.CompactTextString(m) } func (*BatchSetConversationsReq) ProtoMessage() {} func (*BatchSetConversationsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{22} + return fileDescriptor_user_ffbbc34a94bb8978, []int{24} } func (m *BatchSetConversationsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BatchSetConversationsReq.Unmarshal(m, b) @@ -1318,7 +1401,7 @@ func (m *BatchSetConversationsResp) Reset() { *m = BatchSetConversations func (m *BatchSetConversationsResp) String() string { return proto.CompactTextString(m) } func (*BatchSetConversationsResp) ProtoMessage() {} func (*BatchSetConversationsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{23} + return fileDescriptor_user_ffbbc34a94bb8978, []int{25} } func (m *BatchSetConversationsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BatchSetConversationsResp.Unmarshal(m, b) @@ -1371,7 +1454,7 @@ func (m *ResignUserReq) Reset() { *m = ResignUserReq{} } func (m *ResignUserReq) String() string { return proto.CompactTextString(m) } func (*ResignUserReq) ProtoMessage() {} func (*ResignUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{24} + return fileDescriptor_user_ffbbc34a94bb8978, []int{26} } func (m *ResignUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResignUserReq.Unmarshal(m, b) @@ -1416,7 +1499,7 @@ func (m *ResignUserResp) Reset() { *m = ResignUserResp{} } func (m *ResignUserResp) String() string { return proto.CompactTextString(m) } func (*ResignUserResp) ProtoMessage() {} func (*ResignUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{25} + return fileDescriptor_user_ffbbc34a94bb8978, []int{27} } func (m *ResignUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResignUserResp.Unmarshal(m, b) @@ -1455,7 +1538,7 @@ func (m *GetUserByIdReq) Reset() { *m = GetUserByIdReq{} } func (m *GetUserByIdReq) String() string { return proto.CompactTextString(m) } func (*GetUserByIdReq) ProtoMessage() {} func (*GetUserByIdReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{26} + return fileDescriptor_user_ffbbc34a94bb8978, []int{28} } func (m *GetUserByIdReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserByIdReq.Unmarshal(m, b) @@ -1504,7 +1587,7 @@ func (m *User) Reset() { *m = User{} } func (m *User) String() string { return proto.CompactTextString(m) } func (*User) ProtoMessage() {} func (*User) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{27} + return fileDescriptor_user_ffbbc34a94bb8978, []int{29} } func (m *User) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_User.Unmarshal(m, b) @@ -1571,7 +1654,7 @@ func (m *GetUserByIdResp) Reset() { *m = GetUserByIdResp{} } func (m *GetUserByIdResp) String() string { return proto.CompactTextString(m) } func (*GetUserByIdResp) ProtoMessage() {} func (*GetUserByIdResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{28} + return fileDescriptor_user_ffbbc34a94bb8978, []int{30} } func (m *GetUserByIdResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserByIdResp.Unmarshal(m, b) @@ -1618,7 +1701,7 @@ func (m *GetUsersByNameReq) Reset() { *m = GetUsersByNameReq{} } func (m *GetUsersByNameReq) String() string { return proto.CompactTextString(m) } func (*GetUsersByNameReq) ProtoMessage() {} func (*GetUsersByNameReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{29} + return fileDescriptor_user_ffbbc34a94bb8978, []int{31} } func (m *GetUsersByNameReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersByNameReq.Unmarshal(m, b) @@ -1672,7 +1755,7 @@ func (m *GetUsersByNameResp) Reset() { *m = GetUsersByNameResp{} } func (m *GetUsersByNameResp) String() string { return proto.CompactTextString(m) } func (*GetUsersByNameResp) ProtoMessage() {} func (*GetUsersByNameResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{30} + return fileDescriptor_user_ffbbc34a94bb8978, []int{32} } func (m *GetUsersByNameResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersByNameResp.Unmarshal(m, b) @@ -1729,7 +1812,7 @@ func (m *AlterUserReq) Reset() { *m = AlterUserReq{} } func (m *AlterUserReq) String() string { return proto.CompactTextString(m) } func (*AlterUserReq) ProtoMessage() {} func (*AlterUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{31} + return fileDescriptor_user_ffbbc34a94bb8978, []int{33} } func (m *AlterUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AlterUserReq.Unmarshal(m, b) @@ -1802,7 +1885,7 @@ func (m *AlterUserResp) Reset() { *m = AlterUserResp{} } func (m *AlterUserResp) String() string { return proto.CompactTextString(m) } func (*AlterUserResp) ProtoMessage() {} func (*AlterUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{32} + return fileDescriptor_user_ffbbc34a94bb8978, []int{34} } func (m *AlterUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AlterUserResp.Unmarshal(m, b) @@ -1842,7 +1925,7 @@ func (m *GetUsersReq) Reset() { *m = GetUsersReq{} } func (m *GetUsersReq) String() string { return proto.CompactTextString(m) } func (*GetUsersReq) ProtoMessage() {} func (*GetUsersReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{33} + return fileDescriptor_user_ffbbc34a94bb8978, []int{35} } func (m *GetUsersReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersReq.Unmarshal(m, b) @@ -1897,7 +1980,7 @@ func (m *GetUsersResp) Reset() { *m = GetUsersResp{} } func (m *GetUsersResp) String() string { return proto.CompactTextString(m) } func (*GetUsersResp) ProtoMessage() {} func (*GetUsersResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{34} + return fileDescriptor_user_ffbbc34a94bb8978, []int{36} } func (m *GetUsersResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersResp.Unmarshal(m, b) @@ -1960,7 +2043,7 @@ func (m *AddUserReq) Reset() { *m = AddUserReq{} } func (m *AddUserReq) String() string { return proto.CompactTextString(m) } func (*AddUserReq) ProtoMessage() {} func (*AddUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{35} + return fileDescriptor_user_ffbbc34a94bb8978, []int{37} } func (m *AddUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserReq.Unmarshal(m, b) @@ -2026,7 +2109,7 @@ func (m *AddUserResp) Reset() { *m = AddUserResp{} } func (m *AddUserResp) String() string { return proto.CompactTextString(m) } func (*AddUserResp) ProtoMessage() {} func (*AddUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{36} + return fileDescriptor_user_ffbbc34a94bb8978, []int{38} } func (m *AddUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserResp.Unmarshal(m, b) @@ -2067,7 +2150,7 @@ func (m *BlockUserReq) Reset() { *m = BlockUserReq{} } func (m *BlockUserReq) String() string { return proto.CompactTextString(m) } func (*BlockUserReq) ProtoMessage() {} func (*BlockUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{37} + return fileDescriptor_user_ffbbc34a94bb8978, []int{39} } func (m *BlockUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockUserReq.Unmarshal(m, b) @@ -2126,7 +2209,7 @@ func (m *BlockUserResp) Reset() { *m = BlockUserResp{} } func (m *BlockUserResp) String() string { return proto.CompactTextString(m) } func (*BlockUserResp) ProtoMessage() {} func (*BlockUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{38} + return fileDescriptor_user_ffbbc34a94bb8978, []int{40} } func (m *BlockUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockUserResp.Unmarshal(m, b) @@ -2166,7 +2249,7 @@ func (m *UnBlockUserReq) Reset() { *m = UnBlockUserReq{} } func (m *UnBlockUserReq) String() string { return proto.CompactTextString(m) } func (*UnBlockUserReq) ProtoMessage() {} func (*UnBlockUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{39} + return fileDescriptor_user_ffbbc34a94bb8978, []int{41} } func (m *UnBlockUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnBlockUserReq.Unmarshal(m, b) @@ -2218,7 +2301,7 @@ func (m *UnBlockUserResp) Reset() { *m = UnBlockUserResp{} } func (m *UnBlockUserResp) String() string { return proto.CompactTextString(m) } func (*UnBlockUserResp) ProtoMessage() {} func (*UnBlockUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{40} + return fileDescriptor_user_ffbbc34a94bb8978, []int{42} } func (m *UnBlockUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnBlockUserResp.Unmarshal(m, b) @@ -2258,7 +2341,7 @@ func (m *GetBlockUsersReq) Reset() { *m = GetBlockUsersReq{} } func (m *GetBlockUsersReq) String() string { return proto.CompactTextString(m) } func (*GetBlockUsersReq) ProtoMessage() {} func (*GetBlockUsersReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{41} + return fileDescriptor_user_ffbbc34a94bb8978, []int{43} } func (m *GetBlockUsersReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetBlockUsersReq.Unmarshal(m, b) @@ -2312,7 +2395,7 @@ func (m *BlockUser) Reset() { *m = BlockUser{} } func (m *BlockUser) String() string { return proto.CompactTextString(m) } func (*BlockUser) ProtoMessage() {} func (*BlockUser) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{42} + return fileDescriptor_user_ffbbc34a94bb8978, []int{44} } func (m *BlockUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockUser.Unmarshal(m, b) @@ -2367,7 +2450,7 @@ func (m *GetBlockUsersResp) Reset() { *m = GetBlockUsersResp{} } func (m *GetBlockUsersResp) String() string { return proto.CompactTextString(m) } func (*GetBlockUsersResp) ProtoMessage() {} func (*GetBlockUsersResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{43} + return fileDescriptor_user_ffbbc34a94bb8978, []int{45} } func (m *GetBlockUsersResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetBlockUsersResp.Unmarshal(m, b) @@ -2427,7 +2510,7 @@ func (m *GetBlockUserByIdReq) Reset() { *m = GetBlockUserByIdReq{} } func (m *GetBlockUserByIdReq) String() string { return proto.CompactTextString(m) } func (*GetBlockUserByIdReq) ProtoMessage() {} func (*GetBlockUserByIdReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{44} + return fileDescriptor_user_ffbbc34a94bb8978, []int{46} } func (m *GetBlockUserByIdReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetBlockUserByIdReq.Unmarshal(m, b) @@ -2472,7 +2555,7 @@ func (m *GetBlockUserByIdResp) Reset() { *m = GetBlockUserByIdResp{} } func (m *GetBlockUserByIdResp) String() string { return proto.CompactTextString(m) } func (*GetBlockUserByIdResp) ProtoMessage() {} func (*GetBlockUserByIdResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{45} + return fileDescriptor_user_ffbbc34a94bb8978, []int{47} } func (m *GetBlockUserByIdResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetBlockUserByIdResp.Unmarshal(m, b) @@ -2512,7 +2595,7 @@ func (m *DeleteUserReq) Reset() { *m = DeleteUserReq{} } func (m *DeleteUserReq) String() string { return proto.CompactTextString(m) } func (*DeleteUserReq) ProtoMessage() {} func (*DeleteUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{46} + return fileDescriptor_user_ffbbc34a94bb8978, []int{48} } func (m *DeleteUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteUserReq.Unmarshal(m, b) @@ -2564,7 +2647,7 @@ func (m *DeleteUserResp) Reset() { *m = DeleteUserResp{} } func (m *DeleteUserResp) String() string { return proto.CompactTextString(m) } func (*DeleteUserResp) ProtoMessage() {} func (*DeleteUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_94f030505f068262, []int{47} + return fileDescriptor_user_ffbbc34a94bb8978, []int{49} } func (m *DeleteUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteUserResp.Unmarshal(m, b) @@ -2604,6 +2687,8 @@ func init() { proto.RegisterType((*GetUserInfoResp)(nil), "user.GetUserInfoResp") proto.RegisterType((*UpdateUserInfoReq)(nil), "user.UpdateUserInfoReq") proto.RegisterType((*UpdateUserInfoResp)(nil), "user.UpdateUserInfoResp") + proto.RegisterType((*SetGlobalRecvMessageOptReq)(nil), "user.SetGlobalRecvMessageOptReq") + proto.RegisterType((*SetGlobalRecvMessageOptResp)(nil), "user.SetGlobalRecvMessageOptResp") proto.RegisterType((*Conversation)(nil), "user.Conversation") proto.RegisterType((*SetConversationReq)(nil), "user.SetConversationReq") proto.RegisterType((*SetConversationResp)(nil), "user.SetConversationResp") @@ -2656,6 +2741,7 @@ const _ = grpc.SupportPackageIsVersion4 type UserClient interface { GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts ...grpc.CallOption) (*GetUserInfoResp, error) UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, opts ...grpc.CallOption) (*UpdateUserInfoResp, error) + SetGlobalRecvMessageOpt(ctx context.Context, in *SetGlobalRecvMessageOptReq, opts ...grpc.CallOption) (*SetGlobalRecvMessageOptResp, error) DeleteUsers(ctx context.Context, in *DeleteUsersReq, opts ...grpc.CallOption) (*DeleteUsersResp, error) GetAllUserID(ctx context.Context, in *GetAllUserIDReq, opts ...grpc.CallOption) (*GetAllUserIDResp, error) AccountCheck(ctx context.Context, in *AccountCheckReq, opts ...grpc.CallOption) (*AccountCheckResp, error) @@ -2704,6 +2790,15 @@ func (c *userClient) UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, return out, nil } +func (c *userClient) SetGlobalRecvMessageOpt(ctx context.Context, in *SetGlobalRecvMessageOptReq, opts ...grpc.CallOption) (*SetGlobalRecvMessageOptResp, error) { + out := new(SetGlobalRecvMessageOptResp) + err := grpc.Invoke(ctx, "/user.user/SetGlobalRecvMessageOpt", in, out, c.cc, opts...) + if err != nil { + return nil, err + } + return out, nil +} + func (c *userClient) DeleteUsers(ctx context.Context, in *DeleteUsersReq, opts ...grpc.CallOption) (*DeleteUsersResp, error) { out := new(DeleteUsersResp) err := grpc.Invoke(ctx, "/user.user/DeleteUsers", in, out, c.cc, opts...) @@ -2889,6 +2984,7 @@ func (c *userClient) DeleteUser(ctx context.Context, in *DeleteUserReq, opts ... type UserServer interface { GetUserInfo(context.Context, *GetUserInfoReq) (*GetUserInfoResp, error) UpdateUserInfo(context.Context, *UpdateUserInfoReq) (*UpdateUserInfoResp, error) + SetGlobalRecvMessageOpt(context.Context, *SetGlobalRecvMessageOptReq) (*SetGlobalRecvMessageOptResp, error) DeleteUsers(context.Context, *DeleteUsersReq) (*DeleteUsersResp, error) GetAllUserID(context.Context, *GetAllUserIDReq) (*GetAllUserIDResp, error) AccountCheck(context.Context, *AccountCheckReq) (*AccountCheckResp, error) @@ -2951,6 +3047,24 @@ func _User_UpdateUserInfo_Handler(srv interface{}, ctx context.Context, dec func return interceptor(ctx, in, info, handler) } +func _User_SetGlobalRecvMessageOpt_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetGlobalRecvMessageOptReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserServer).SetGlobalRecvMessageOpt(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/user.user/SetGlobalRecvMessageOpt", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserServer).SetGlobalRecvMessageOpt(ctx, req.(*SetGlobalRecvMessageOptReq)) + } + return interceptor(ctx, in, info, handler) +} + func _User_DeleteUsers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(DeleteUsersReq) if err := dec(in); err != nil { @@ -3323,6 +3437,10 @@ var _User_serviceDesc = grpc.ServiceDesc{ MethodName: "UpdateUserInfo", Handler: _User_UpdateUserInfo_Handler, }, + { + MethodName: "SetGlobalRecvMessageOpt", + Handler: _User_SetGlobalRecvMessageOpt_Handler, + }, { MethodName: "DeleteUsers", Handler: _User_DeleteUsers_Handler, @@ -3408,128 +3526,129 @@ var _User_serviceDesc = grpc.ServiceDesc{ Metadata: "user/user.proto", } -func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_94f030505f068262) } +func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_ffbbc34a94bb8978) } -var fileDescriptor_user_94f030505f068262 = []byte{ - // 1906 bytes of a gzipped FileDescriptorProto +var fileDescriptor_user_ffbbc34a94bb8978 = []byte{ + // 1922 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x59, 0xcd, 0x6f, 0x23, 0x49, - 0x15, 0x57, 0xdb, 0xce, 0x24, 0x79, 0x8e, 0x1d, 0xa7, 0x26, 0x3b, 0xe9, 0x6d, 0x60, 0x08, 0xad, - 0x65, 0x37, 0x1a, 0x09, 0x07, 0x66, 0x11, 0x83, 0x16, 0xc1, 0x6e, 0xec, 0x64, 0x2c, 0x23, 0x26, - 0xb1, 0xda, 0x13, 0x84, 0x10, 0x52, 0xd4, 0xb1, 0x2b, 0x4e, 0x2b, 0x76, 0x77, 0x6f, 0x57, 0x3b, - 0x33, 0xe1, 0xb2, 0x88, 0x8f, 0x1b, 0x17, 0x4e, 0xbb, 0x70, 0xe0, 0xef, 0xe0, 0x0e, 0x27, 0xae, - 0x9c, 0xe0, 0xc2, 0xbf, 0x82, 0xea, 0xa3, 0xbb, 0xab, 0xaa, 0xdb, 0x89, 0xe9, 0x44, 0x73, 0x49, - 0x5c, 0xaf, 0xbe, 0x7e, 0xef, 0xbd, 0xdf, 0x7b, 0xf5, 0xaa, 0x1a, 0x36, 0xe7, 0x04, 0x47, 0xfb, - 0xf4, 0x4f, 0x3b, 0x8c, 0x82, 0x38, 0x40, 0x35, 0xfa, 0xdb, 0xfa, 0xd6, 0x49, 0x88, 0xfd, 0xb3, - 0xfe, 0xab, 0xfd, 0xf0, 0x6a, 0xb2, 0xcf, 0x3a, 0xf6, 0xc9, 0xf8, 0xea, 0xec, 0x0d, 0xd9, 0x7f, - 0x43, 0xf8, 0x40, 0xeb, 0xa3, 0xc5, 0x43, 0x22, 0x37, 0x0c, 0x71, 0x24, 0x06, 0xda, 0x3f, 0x01, - 0xe8, 0x06, 0xb3, 0x59, 0xe0, 0x3b, 0x98, 0x84, 0xc8, 0x84, 0x55, 0x1c, 0x45, 0xdd, 0x60, 0x8c, - 0x4d, 0x63, 0xd7, 0xd8, 0x5b, 0x71, 0x92, 0x26, 0x7a, 0x02, 0x8f, 0x70, 0x14, 0xbd, 0x22, 0x13, - 0xb3, 0xb2, 0x6b, 0xec, 0xad, 0x3b, 0xa2, 0x65, 0xff, 0x1a, 0x9a, 0x87, 0x78, 0x8a, 0x63, 0x7c, - 0x4a, 0x70, 0x44, 0x1c, 0xfc, 0x39, 0x7a, 0x06, 0xad, 0x4c, 0xd2, 0x3f, 0xfc, 0x99, 0x47, 0x62, - 0xb3, 0xb2, 0x5b, 0xdd, 0x5b, 0x77, 0x72, 0x72, 0x64, 0xc1, 0xda, 0x49, 0xc8, 0xdb, 0x66, 0x95, - 0xad, 0x9b, 0xb6, 0xd1, 0x2e, 0xd4, 0x4f, 0x42, 0x1c, 0xb9, 0xb1, 0x17, 0xf8, 0xfd, 0x43, 0xb3, - 0xc6, 0xba, 0x65, 0x91, 0x1d, 0xc0, 0xa6, 0xb2, 0x37, 0x09, 0xd1, 0x77, 0x65, 0x75, 0x98, 0x0e, - 0xf5, 0xe7, 0xad, 0x36, 0xb3, 0x60, 0x26, 0x77, 0x64, 0x95, 0x9f, 0x41, 0xeb, 0xa5, 0xeb, 0x4d, - 0xf1, 0x38, 0x0f, 0x57, 0x97, 0xdb, 0x27, 0xb0, 0xd9, 0xc3, 0xf1, 0xc1, 0x74, 0xca, 0x65, 0x54, - 0x5b, 0x0b, 0xd6, 0x82, 0x44, 0x03, 0x83, 0x6b, 0x10, 0x48, 0x1a, 0x04, 0x92, 0x06, 0xdc, 0x70, - 0xb2, 0xc8, 0x1e, 0x43, 0x4b, 0x5d, 0xb0, 0x94, 0x0a, 0x4f, 0x01, 0x72, 0xe0, 0x25, 0x89, 0x7d, - 0x03, 0x9b, 0x07, 0xa3, 0x51, 0x30, 0xf7, 0xe3, 0xee, 0x25, 0x1e, 0x5d, 0x51, 0xd8, 0x7b, 0xb0, - 0xc9, 0x7e, 0x4b, 0xf3, 0x0c, 0x36, 0x4f, 0x17, 0x2b, 0x2e, 0xaa, 0xdc, 0xee, 0xa2, 0x6a, 0xde, - 0x45, 0xff, 0x35, 0xa0, 0xa5, 0xee, 0xcd, 0x35, 0x1c, 0x2d, 0xa1, 0x61, 0x36, 0x06, 0xf5, 0x00, - 0x1c, 0x4c, 0xe6, 0xd3, 0x38, 0xd5, 0xb0, 0xfe, 0xfc, 0x23, 0x3e, 0x43, 0x5f, 0xbd, 0x3d, 0xf4, - 0xfc, 0xc9, 0x94, 0x51, 0x62, 0x18, 0xbb, 0xf1, 0x9c, 0x38, 0xd2, 0x54, 0x6b, 0x00, 0x2d, 0xbd, - 0x9f, 0x52, 0x7b, 0x2e, 0x3b, 0x50, 0xb4, 0xd0, 0x07, 0xd0, 0x70, 0xf9, 0xe2, 0x7c, 0xa0, 0x50, - 0x5f, 0x15, 0xda, 0x3e, 0x34, 0x7b, 0x38, 0x66, 0x06, 0xf1, 0x2f, 0x02, 0x6a, 0xdb, 0xa7, 0x00, - 0x73, 0xdd, 0xac, 0x92, 0xe4, 0x9e, 0x16, 0xfd, 0xbd, 0xc1, 0x48, 0x98, 0x6d, 0x58, 0xca, 0xa0, - 0x9f, 0xc2, 0x46, 0xb2, 0x02, 0x43, 0x59, 0x65, 0x26, 0xfd, 0x5a, 0x9b, 0xe0, 0xe8, 0x1a, 0x47, - 0x67, 0x6e, 0xe8, 0x9d, 0x85, 0x6e, 0xe4, 0xce, 0x48, 0x3b, 0xdd, 0x48, 0x99, 0x60, 0xff, 0xcb, - 0x80, 0xad, 0xd3, 0x70, 0xec, 0x8a, 0x70, 0x16, 0xaa, 0xbf, 0x80, 0xb5, 0xa4, 0x29, 0x60, 0xdc, - 0xba, 0x64, 0x3a, 0xf8, 0x2e, 0x9b, 0x04, 0x79, 0x9b, 0x48, 0x22, 0xd4, 0x83, 0xd6, 0x64, 0x1a, - 0x9c, 0xbb, 0x53, 0x07, 0x8f, 0xae, 0x5f, 0x91, 0xc9, 0x49, 0x18, 0xb3, 0x7c, 0x41, 0xb7, 0x9f, - 0x04, 0xc1, 0x64, 0x8a, 0x79, 0xb6, 0x3b, 0x9f, 0x5f, 0xb4, 0xfb, 0x7e, 0xfc, 0xf1, 0xf3, 0x9f, - 0xbb, 0xd3, 0x39, 0x76, 0x72, 0x93, 0xec, 0x97, 0x80, 0x74, 0xa5, 0xca, 0x98, 0xd7, 0xfe, 0x4f, - 0x15, 0x36, 0xba, 0x81, 0x7f, 0x8d, 0x23, 0xc2, 0x30, 0x32, 0xbf, 0xbe, 0xf1, 0x71, 0xa4, 0x64, - 0x0a, 0x59, 0x84, 0x3e, 0x84, 0xa6, 0x3c, 0x23, 0xb5, 0x83, 0x26, 0xa5, 0xec, 0x92, 0xb4, 0xac, - 0xb2, 0x2c, 0x2d, 0x49, 0x68, 0x3e, 0x93, 0x67, 0xbc, 0xbe, 0x09, 0x31, 0xb3, 0xc5, 0x8a, 0x93, - 0x93, 0x53, 0xe6, 0x0b, 0x40, 0x2b, 0x9c, 0xf9, 0x02, 0x8b, 0x09, 0xab, 0xbd, 0x28, 0x98, 0x87, - 0xfd, 0x43, 0xf3, 0x11, 0xeb, 0x48, 0x9a, 0x54, 0x8f, 0x53, 0x3f, 0xc2, 0xee, 0xb8, 0x4b, 0x43, - 0xc0, 0x5c, 0x65, 0x0b, 0xcb, 0x22, 0x1a, 0x35, 0x87, 0x91, 0x7b, 0x11, 0xbf, 0xc6, 0x6f, 0xe3, - 0xd7, 0xde, 0x0c, 0x9b, 0x6b, 0xbb, 0xc6, 0x5e, 0xd5, 0x51, 0x85, 0xd4, 0xdf, 0x7d, 0x32, 0xf0, - 0x7c, 0x1f, 0x8f, 0xcd, 0xf5, 0x5d, 0x63, 0x6f, 0xcd, 0x49, 0xdb, 0xc8, 0x86, 0x8d, 0x83, 0x38, - 0x76, 0x47, 0x97, 0x78, 0xcc, 0x88, 0x04, 0x0c, 0x82, 0x22, 0xa3, 0xbb, 0xf4, 0xc9, 0x20, 0xf2, - 0xae, 0xdd, 0x18, 0x77, 0x2f, 0xdd, 0xd8, 0xac, 0xb3, 0x45, 0x54, 0x21, 0x45, 0xcb, 0x80, 0x1f, - 0xc4, 0xcc, 0x0c, 0x1b, 0x1c, 0xad, 0x24, 0xa2, 0x7b, 0xf5, 0xc9, 0x71, 0x10, 0xf7, 0x7d, 0x26, - 0x35, 0x1b, 0x6c, 0x19, 0x45, 0x86, 0x9a, 0x50, 0x39, 0x7a, 0x6b, 0x36, 0x19, 0x8a, 0xca, 0xd1, - 0x5b, 0xfb, 0x2f, 0x06, 0xa0, 0x21, 0x8e, 0x65, 0x6b, 0x52, 0xee, 0xff, 0x40, 0x75, 0xb9, 0xe0, - 0x09, 0x4a, 0x78, 0x22, 0x0d, 0x56, 0xa9, 0xf1, 0x0c, 0x5a, 0x7e, 0x10, 0x7b, 0x17, 0xde, 0x28, - 0x73, 0x58, 0x85, 0x3b, 0x4c, 0x97, 0x2f, 0x91, 0x1e, 0x7a, 0xf0, 0x38, 0x87, 0xad, 0x14, 0x85, - 0xff, 0x69, 0x40, 0x6b, 0x88, 0xe3, 0x8c, 0x59, 0x54, 0xc7, 0x77, 0x4a, 0xe3, 0x9c, 0x55, 0x6a, - 0xcb, 0x59, 0x65, 0x25, 0x6f, 0x95, 0x23, 0xd8, 0xd2, 0x74, 0x29, 0x65, 0x93, 0xdf, 0x18, 0x80, - 0x7a, 0x79, 0xcf, 0xe7, 0x75, 0x36, 0x0a, 0x75, 0xd6, 0xac, 0x57, 0xc9, 0x5b, 0xef, 0x6e, 0xff, - 0x7e, 0x01, 0x8f, 0x7b, 0x0f, 0xe1, 0xdf, 0x1c, 0x5d, 0x2b, 0xcb, 0xd1, 0xd5, 0xfe, 0x9d, 0x91, - 0x43, 0x40, 0x96, 0xa3, 0x06, 0xad, 0x39, 0x14, 0x83, 0x10, 0x51, 0xab, 0xe8, 0xe2, 0x25, 0xcc, - 0xf0, 0x5b, 0x03, 0xb6, 0xf3, 0x28, 0x4a, 0x19, 0xe2, 0x87, 0xd0, 0x50, 0x96, 0x11, 0xe5, 0x45, - 0x91, 0x25, 0xd4, 0x81, 0xf6, 0xaf, 0xe0, 0x09, 0xaf, 0xde, 0x4a, 0x18, 0x43, 0x53, 0xb1, 0x92, - 0x57, 0xf1, 0x0f, 0x06, 0xec, 0x14, 0x2e, 0xff, 0x8e, 0xb5, 0xfc, 0x87, 0x01, 0x66, 0xc7, 0x8d, - 0x47, 0x97, 0xc3, 0x02, 0xaf, 0xe7, 0x96, 0x35, 0x96, 0x5c, 0x76, 0x89, 0x60, 0x28, 0x4a, 0x01, - 0xd5, 0xe5, 0x52, 0x40, 0xad, 0x28, 0x70, 0xde, 0x5f, 0xa0, 0x45, 0x29, 0x7b, 0x9a, 0xb0, 0x3a, - 0x9c, 0x8f, 0x46, 0x98, 0x24, 0x24, 0x4e, 0x9a, 0xf4, 0x50, 0xe5, 0x17, 0x07, 0x56, 0x54, 0xad, - 0x3b, 0xa2, 0x65, 0xf7, 0xa1, 0xe1, 0x60, 0xe2, 0x4d, 0x7c, 0xaa, 0x1e, 0xb5, 0x5d, 0x72, 0xfa, - 0x8e, 0x93, 0xba, 0x93, 0xb7, 0x96, 0xa0, 0x46, 0x07, 0x9a, 0xf2, 0x52, 0xa5, 0x72, 0xd9, 0x4f, - 0xd3, 0xba, 0xb5, 0x73, 0xd3, 0x1f, 0xdf, 0x0f, 0xcf, 0x57, 0x06, 0xd4, 0xe8, 0x60, 0x7a, 0x9c, - 0x0e, 0xa2, 0xe0, 0xc2, 0x9b, 0xe2, 0xc1, 0x65, 0x10, 0x07, 0x62, 0x21, 0x45, 0x46, 0x8f, 0xfe, - 0x63, 0x6f, 0x74, 0xe5, 0xbb, 0x33, 0x9c, 0x94, 0x7a, 0x49, 0x5b, 0x82, 0x50, 0x55, 0x20, 0x3c, - 0x05, 0xe8, 0x46, 0xd8, 0x8d, 0x31, 0xab, 0x28, 0xb8, 0x77, 0x25, 0x09, 0xf5, 0x46, 0x9f, 0x74, - 0xa6, 0xc1, 0xe8, 0x8a, 0x65, 0xff, 0x35, 0x27, 0x69, 0xda, 0xa3, 0xb4, 0x5a, 0xe6, 0x6a, 0x96, - 0xbc, 0x60, 0xb1, 0x8b, 0xb7, 0xc8, 0x91, 0xc0, 0xc7, 0x32, 0xdb, 0x33, 0xb9, 0xfd, 0xa5, 0x01, - 0x5b, 0x62, 0x17, 0xd2, 0xb9, 0x39, 0x76, 0x67, 0x58, 0x5c, 0x0d, 0xa9, 0x84, 0x36, 0x93, 0xab, - 0x61, 0xd2, 0x46, 0x87, 0x00, 0x03, 0x77, 0xe2, 0xf9, 0x72, 0xee, 0xfd, 0xa0, 0xa0, 0x54, 0x76, - 0xf0, 0xe7, 0x73, 0x4c, 0xe2, 0x6c, 0xac, 0x23, 0xcd, 0x5b, 0x22, 0x4f, 0xfe, 0x99, 0x9f, 0x58, - 0x0a, 0x32, 0x12, 0xa2, 0x5d, 0x58, 0xa1, 0xc0, 0x93, 0x70, 0x95, 0x35, 0xe2, 0x1d, 0xe8, 0xa8, - 0x00, 0xe0, 0xb7, 0x0b, 0x01, 0x92, 0x30, 0xf0, 0x09, 0x5e, 0x80, 0x30, 0xb1, 0xc1, 0x7c, 0x46, - 0x44, 0xec, 0xa6, 0x6d, 0xfb, 0x6f, 0x06, 0x6c, 0x1c, 0x4c, 0x63, 0x1e, 0xef, 0xf7, 0x22, 0x20, - 0x1d, 0x31, 0xb8, 0x0c, 0x7c, 0x7c, 0x3c, 0x9f, 0x9d, 0xe3, 0x88, 0xed, 0x54, 0x75, 0x64, 0x91, - 0xc2, 0xba, 0x9a, 0xc6, 0xba, 0x6d, 0x58, 0x39, 0x9a, 0xb9, 0xde, 0x54, 0x54, 0x0e, 0xbc, 0x21, - 0x5d, 0x49, 0xc6, 0xa2, 0x0a, 0x4e, 0xdb, 0xf6, 0x01, 0x34, 0x24, 0xe4, 0x65, 0x38, 0x65, 0xff, - 0xc9, 0x80, 0x7a, 0xe2, 0x99, 0xe4, 0xc8, 0x90, 0x94, 0x34, 0xf2, 0x4a, 0x3e, 0x0c, 0x67, 0x64, - 0x56, 0x56, 0x55, 0x56, 0xda, 0x7f, 0x37, 0x60, 0x23, 0xc3, 0x74, 0xcf, 0x50, 0xa9, 0x16, 0x85, - 0x8a, 0xc6, 0xab, 0xea, 0x43, 0xf0, 0xaa, 0xa6, 0xf1, 0xea, 0x2b, 0x03, 0xe0, 0x60, 0x3c, 0x4e, - 0x58, 0x75, 0xb7, 0x61, 0x35, 0xf6, 0x08, 0x7e, 0xc9, 0xec, 0x59, 0x94, 0x97, 0x10, 0xd4, 0x24, - 0x46, 0xb1, 0xdf, 0x0a, 0x6f, 0x56, 0x34, 0xde, 0x7c, 0x0a, 0xf5, 0x14, 0x59, 0x29, 0xd6, 0xfc, - 0xd1, 0x80, 0x0d, 0x96, 0xd8, 0xee, 0x8a, 0x99, 0x0f, 0xa1, 0x79, 0xe4, 0x8f, 0x0f, 0x3d, 0xe2, - 0x9e, 0x4f, 0x79, 0xd6, 0x14, 0x75, 0xb8, 0x2a, 0xbd, 0x3b, 0x85, 0x28, 0xfa, 0xd4, 0xf2, 0x71, - 0x20, 0xa1, 0x29, 0xa5, 0xd1, 0x05, 0x34, 0x4f, 0xfd, 0xa5, 0x54, 0xba, 0x3b, 0x0d, 0xc8, 0x50, - 0xab, 0x1a, 0xd4, 0x2e, 0x6c, 0x2a, 0xfb, 0x94, 0x02, 0xfb, 0x57, 0x83, 0x3d, 0xd8, 0xa5, 0xcb, - 0xb0, 0xc8, 0x55, 0xe3, 0xd2, 0x78, 0x98, 0x5c, 0x5e, 0xa0, 0x9d, 0x2d, 0xb9, 0xfe, 0x78, 0x3e, - 0x13, 0xf9, 0x54, 0x91, 0xd9, 0x5f, 0xc0, 0x7a, 0xda, 0xa6, 0xb1, 0x48, 0xff, 0x0b, 0x48, 0x4a, - 0x2c, 0xb2, 0xfe, 0x67, 0xd0, 0xea, 0xe0, 0x89, 0xe7, 0xe7, 0x59, 0x92, 0x93, 0x17, 0xf0, 0xa9, - 0x5a, 0xc4, 0x27, 0xfb, 0xdf, 0xfc, 0x28, 0x94, 0x2d, 0x54, 0x2a, 0x8f, 0xec, 0x03, 0x64, 0x6b, - 0x88, 0x6c, 0xb2, 0xc9, 0x67, 0x64, 0x4e, 0x94, 0x86, 0xbc, 0x8b, 0xc4, 0x32, 0x60, 0x37, 0x9f, - 0x74, 0xcf, 0xa4, 0x6e, 0xda, 0x81, 0x55, 0xda, 0x3c, 0xf3, 0xfe, 0xff, 0xc2, 0xe9, 0x88, 0xdd, - 0x62, 0xb4, 0x15, 0x49, 0x88, 0xbe, 0x23, 0xb9, 0x51, 0x64, 0xfa, 0x9c, 0xf2, 0xd9, 0x08, 0xfb, - 0x02, 0x1a, 0xd9, 0x43, 0xf8, 0xfd, 0x20, 0xdd, 0x1a, 0x43, 0x1d, 0xf9, 0xb1, 0xbf, 0x9c, 0x63, - 0x9f, 0x7f, 0x59, 0xe7, 0x27, 0x04, 0xfa, 0x24, 0x3d, 0xff, 0xd8, 0x8b, 0xce, 0x36, 0x9f, 0xa5, - 0xbe, 0xa5, 0x5a, 0xef, 0x15, 0x48, 0x49, 0x88, 0xba, 0xd0, 0x54, 0xdf, 0xe9, 0xd0, 0x8e, 0x60, - 0xb7, 0xfe, 0x24, 0x69, 0x99, 0xc5, 0x1d, 0x24, 0xa4, 0x00, 0xa4, 0xcf, 0x07, 0x09, 0x00, 0xf5, - 0x6b, 0x46, 0x02, 0x40, 0xff, 0xce, 0xf0, 0x63, 0x76, 0x50, 0xa6, 0x0f, 0xf7, 0x28, 0xc3, 0x29, - 0x7f, 0x1d, 0xb0, 0x9e, 0x14, 0x89, 0xf9, 0x74, 0xf9, 0xdd, 0x3a, 0x99, 0xae, 0xbd, 0xd2, 0x27, - 0xd3, 0x73, 0x0f, 0xe8, 0x2f, 0x59, 0x51, 0xab, 0xbc, 0x22, 0x99, 0xe9, 0x4e, 0xda, 0xeb, 0x84, - 0xf5, 0xfe, 0x82, 0x1e, 0x12, 0x22, 0x87, 0x11, 0x5a, 0xbf, 0x61, 0xa2, 0xaf, 0xcb, 0xa8, 0xf5, - 0x2b, 0x9f, 0xf5, 0x8d, 0x5b, 0x7a, 0x49, 0x88, 0xfa, 0x2c, 0x43, 0xaa, 0x0b, 0x16, 0x43, 0x60, - 0xab, 0x59, 0x8b, 0xba, 0x48, 0x88, 0x7e, 0x01, 0xef, 0x15, 0x5e, 0xd9, 0xd0, 0x53, 0x11, 0x0b, - 0x0b, 0x6e, 0xa5, 0xd6, 0x37, 0x6f, 0xed, 0xe7, 0x06, 0x1c, 0x16, 0x1b, 0x70, 0xb8, 0xd0, 0x80, - 0x45, 0xcf, 0x6a, 0x9f, 0x41, 0x43, 0x79, 0x57, 0x42, 0x4f, 0xd2, 0xb1, 0xca, 0xc3, 0x99, 0xb5, - 0x53, 0x28, 0xe7, 0x24, 0x94, 0xee, 0x27, 0x5a, 0x14, 0x88, 0x0c, 0xa3, 0x45, 0x41, 0x9a, 0x25, - 0xba, 0xe9, 0x15, 0x4e, 0xd4, 0xf6, 0x49, 0x14, 0xe4, 0xee, 0x22, 0x96, 0x59, 0xdc, 0x41, 0x42, - 0xf4, 0x82, 0x7d, 0x5a, 0x11, 0x77, 0x49, 0xf4, 0x98, 0x8f, 0x53, 0x2e, 0xaa, 0xd6, 0x76, 0x5e, - 0x48, 0x42, 0xf4, 0x7d, 0x58, 0x4f, 0x6b, 0x60, 0x24, 0x2e, 0xfc, 0x72, 0x39, 0x6f, 0x3d, 0xce, - 0xc9, 0x48, 0x88, 0xbe, 0x07, 0x6b, 0x09, 0x08, 0xb4, 0xa5, 0x82, 0xa2, 0x73, 0x90, 0x2e, 0x22, - 0x21, 0x6a, 0xc3, 0xaa, 0x28, 0x9a, 0x90, 0x48, 0x2d, 0x59, 0x75, 0x67, 0x6d, 0x69, 0x12, 0x0e, - 0x2c, 0x3b, 0x03, 0x91, 0x9e, 0x36, 0x33, 0x60, 0x6a, 0x31, 0xf0, 0x09, 0xd4, 0xa5, 0xfa, 0x20, - 0x71, 0x84, 0x5a, 0x9a, 0x24, 0x8e, 0xd0, 0x0b, 0x89, 0xcf, 0xa0, 0xa1, 0x9c, 0x79, 0x28, 0x8b, - 0x7b, 0xa5, 0x54, 0xb0, 0x76, 0x0a, 0xe5, 0x69, 0xd4, 0x28, 0x07, 0x81, 0x14, 0x35, 0xfa, 0x91, - 0x23, 0x45, 0x4d, 0xfe, 0xec, 0x78, 0x01, 0x90, 0x65, 0xab, 0xc4, 0xa1, 0xca, 0xf1, 0x60, 0x6d, - 0xe7, 0x85, 0x24, 0xec, 0x34, 0x7e, 0x59, 0x6f, 0xb3, 0x8f, 0xcd, 0x3f, 0xa2, 0x7f, 0xce, 0x1f, - 0xb1, 0x4f, 0x26, 0x1f, 0xff, 0x2f, 0x00, 0x00, 0xff, 0xff, 0x3a, 0x5b, 0xa4, 0x32, 0x85, 0x1e, + 0x15, 0x57, 0xfb, 0x63, 0x92, 0x3c, 0xc7, 0x8e, 0x53, 0x93, 0x9d, 0xf4, 0xf6, 0xc2, 0xe0, 0x6d, + 0x2d, 0x4b, 0x34, 0x12, 0x09, 0x0c, 0x88, 0x41, 0x8b, 0x60, 0x37, 0x76, 0x32, 0x96, 0x11, 0x93, + 0x58, 0xed, 0x19, 0x09, 0x21, 0x44, 0xd4, 0x63, 0x57, 0x9c, 0x56, 0xec, 0xee, 0xde, 0xae, 0xf6, + 0x7c, 0x70, 0x59, 0xc4, 0xc7, 0x05, 0x71, 0xe1, 0xc4, 0xc2, 0x81, 0xbf, 0x83, 0x3b, 0x9c, 0xf8, + 0x0f, 0xe0, 0xc2, 0x9f, 0xc1, 0x15, 0xd5, 0x47, 0x77, 0x57, 0x55, 0xb7, 0x63, 0xd3, 0x89, 0xe6, + 0x92, 0xb8, 0x5e, 0x7d, 0xfd, 0xde, 0x7b, 0xbf, 0xf7, 0xea, 0x55, 0x35, 0xec, 0x2c, 0x08, 0x8e, + 0x8e, 0xe8, 0x9f, 0xc3, 0x30, 0x0a, 0xe2, 0x00, 0xd5, 0xe8, 0x6f, 0xeb, 0xc3, 0xf3, 0x10, 0xfb, + 0x17, 0x83, 0x67, 0x47, 0xe1, 0xf5, 0xf4, 0x88, 0x75, 0x1c, 0x91, 0xc9, 0xf5, 0xc5, 0x6b, 0x72, + 0xf4, 0x9a, 0xf0, 0x81, 0xf6, 0x8f, 0x00, 0x7a, 0xc1, 0x7c, 0x1e, 0xf8, 0x0e, 0x26, 0x21, 0x32, + 0x61, 0x03, 0x47, 0x51, 0x2f, 0x98, 0x60, 0xd3, 0xe8, 0x18, 0x07, 0x75, 0x27, 0x69, 0xa2, 0x07, + 0x70, 0x0f, 0x47, 0xd1, 0x33, 0x32, 0x35, 0x2b, 0x1d, 0xe3, 0x60, 0xcb, 0x11, 0x2d, 0xfb, 0x97, + 0xd0, 0x3a, 0xc1, 0x33, 0x1c, 0xe3, 0x17, 0x04, 0x47, 0xc4, 0xc1, 0x9f, 0xa3, 0x47, 0xd0, 0xce, + 0x24, 0x83, 0x93, 0x9f, 0x78, 0x24, 0x36, 0x2b, 0x9d, 0xea, 0xc1, 0x96, 0x93, 0x93, 0x23, 0x0b, + 0x36, 0xcf, 0x43, 0xde, 0x36, 0xab, 0x6c, 0xdd, 0xb4, 0x8d, 0x3a, 0xd0, 0x38, 0x0f, 0x71, 0xe4, + 0xc6, 0x5e, 0xe0, 0x0f, 0x4e, 0xcc, 0x1a, 0xeb, 0x96, 0x45, 0x76, 0x00, 0x3b, 0xca, 0xde, 0x24, + 0x44, 0xdf, 0x92, 0xd5, 0x61, 0x3a, 0x34, 0x1e, 0xb7, 0x0f, 0x99, 0x61, 0x32, 0xb9, 0x23, 0xab, + 0xfc, 0x08, 0xda, 0x4f, 0x5d, 0x6f, 0x86, 0x27, 0x79, 0xb8, 0xba, 0xdc, 0x3e, 0x87, 0x9d, 0x3e, + 0x8e, 0x8f, 0x67, 0x33, 0x2e, 0xa3, 0xda, 0x5a, 0xb0, 0x19, 0x24, 0x1a, 0x18, 0x5c, 0x83, 0x40, + 0xd2, 0x20, 0x90, 0x34, 0xe0, 0x86, 0x93, 0x45, 0xf6, 0x04, 0xda, 0xea, 0x82, 0xa5, 0x54, 0x78, + 0x08, 0x90, 0x03, 0x2f, 0x49, 0xec, 0xb7, 0xb0, 0x73, 0x3c, 0x1e, 0x07, 0x0b, 0x3f, 0xee, 0x5d, + 0xe1, 0xf1, 0x35, 0x85, 0x7d, 0x00, 0x3b, 0xec, 0xb7, 0x34, 0xcf, 0x60, 0xf3, 0x74, 0xb1, 0xe2, + 0xa2, 0xca, 0xcd, 0x2e, 0xaa, 0xe6, 0x5d, 0xf4, 0x1f, 0x03, 0xda, 0xea, 0xde, 0x5c, 0xc3, 0xf1, + 0x1a, 0x1a, 0x66, 0x63, 0x50, 0x1f, 0xc0, 0xc1, 0x64, 0x31, 0x8b, 0x53, 0x0d, 0x1b, 0x8f, 0xbf, + 0xc1, 0x67, 0xe8, 0xab, 0x1f, 0x8e, 0x3c, 0x7f, 0x3a, 0x63, 0x94, 0x18, 0xc5, 0x6e, 0xbc, 0x20, + 0x8e, 0x34, 0xd5, 0x1a, 0x42, 0x5b, 0xef, 0xa7, 0xd4, 0x5e, 0xc8, 0x0e, 0x14, 0x2d, 0xf4, 0x11, + 0x34, 0x5d, 0xbe, 0x38, 0x1f, 0x28, 0xd4, 0x57, 0x85, 0xb6, 0x0f, 0xad, 0x3e, 0x8e, 0x99, 0x41, + 0xfc, 0xcb, 0x80, 0xda, 0xf6, 0x21, 0xc0, 0x42, 0x37, 0xab, 0x24, 0xb9, 0xa5, 0x45, 0x7f, 0x6b, + 0x30, 0x12, 0x66, 0x1b, 0x96, 0x32, 0xe8, 0xa7, 0xb0, 0x9d, 0xac, 0xc0, 0x50, 0x56, 0x99, 0x49, + 0x3f, 0x38, 0x24, 0x38, 0x7a, 0x85, 0xa3, 0x0b, 0x37, 0xf4, 0x2e, 0x42, 0x37, 0x72, 0xe7, 0xe4, + 0x30, 0xdd, 0x48, 0x99, 0x60, 0xff, 0xde, 0x80, 0xdd, 0x17, 0xe1, 0xc4, 0x15, 0xe1, 0x2c, 0x54, + 0x7f, 0x02, 0x9b, 0x49, 0x53, 0xc0, 0xb8, 0x71, 0xc9, 0x74, 0xf0, 0x2a, 0x9b, 0x04, 0x79, 0x9b, + 0xc8, 0x61, 0xf4, 0x14, 0x90, 0x8e, 0xa5, 0x8c, 0x55, 0xec, 0x2b, 0xb0, 0x46, 0x38, 0xee, 0xcf, + 0x82, 0x97, 0xee, 0xcc, 0xc1, 0xe3, 0x57, 0xcf, 0x30, 0x21, 0xee, 0x14, 0x9f, 0x87, 0x31, 0x55, + 0x6e, 0x19, 0x4f, 0x56, 0x86, 0x39, 0x6a, 0x43, 0x35, 0x08, 0x63, 0x86, 0xbc, 0xee, 0xd0, 0x9f, + 0xf6, 0x39, 0x7c, 0xb0, 0x74, 0xa7, 0x52, 0xd0, 0xff, 0x5d, 0x85, 0xed, 0x5e, 0xe0, 0xbf, 0xc2, + 0x11, 0x61, 0xbb, 0x32, 0x26, 0xbd, 0xf6, 0x71, 0xa4, 0xe4, 0x26, 0x59, 0x84, 0x3e, 0x86, 0x96, + 0x3c, 0x23, 0x85, 0xae, 0x49, 0x29, 0x9f, 0x19, 0x44, 0x32, 0x3d, 0x4f, 0x95, 0x90, 0x24, 0x34, + 0x83, 0xca, 0x33, 0x9e, 0xbf, 0x0d, 0x31, 0xcb, 0xd6, 0x75, 0x27, 0x27, 0xa7, 0x36, 0x14, 0x80, + 0xea, 0xdc, 0x86, 0x02, 0x8b, 0x09, 0x1b, 0xfd, 0x28, 0x58, 0x84, 0x83, 0x13, 0xf3, 0x1e, 0xeb, + 0x48, 0x9a, 0x54, 0x8f, 0x17, 0x7e, 0x84, 0xdd, 0x49, 0x8f, 0x06, 0x9d, 0xb9, 0xc1, 0x16, 0x96, + 0x45, 0x34, 0x4e, 0x4f, 0x22, 0xf7, 0x32, 0x7e, 0x8e, 0xdf, 0xc4, 0xcf, 0xbd, 0x39, 0x36, 0x37, + 0x3b, 0xc6, 0x41, 0xd5, 0x51, 0x85, 0x94, 0x61, 0x03, 0x32, 0xf4, 0x7c, 0x1f, 0x4f, 0xcc, 0xad, + 0x8e, 0x71, 0xb0, 0xe9, 0xa4, 0x6d, 0x64, 0xc3, 0xf6, 0x71, 0x1c, 0xbb, 0xe3, 0x2b, 0x3c, 0x61, + 0xd4, 0x05, 0x06, 0x41, 0x91, 0xd1, 0x5d, 0x06, 0x64, 0x18, 0x79, 0xaf, 0xdc, 0x18, 0xf7, 0xae, + 0xdc, 0xd8, 0x6c, 0xb0, 0x45, 0x54, 0x21, 0x45, 0xcb, 0x80, 0x1f, 0xc7, 0xcc, 0x0c, 0xdb, 0x1c, + 0xad, 0x24, 0xa2, 0x7b, 0x0d, 0xc8, 0x59, 0x10, 0x0f, 0x7c, 0x26, 0x35, 0x9b, 0x6c, 0x19, 0x45, + 0x86, 0x5a, 0x50, 0x39, 0x7d, 0x63, 0xb6, 0x18, 0x8a, 0xca, 0xe9, 0x1b, 0xfb, 0x2f, 0x06, 0xa0, + 0x11, 0x8e, 0x65, 0x6b, 0x52, 0x42, 0x7e, 0x4f, 0x75, 0xb9, 0xe0, 0x09, 0x4a, 0x78, 0x22, 0x0d, + 0x56, 0xa9, 0xf1, 0x08, 0xda, 0x7e, 0x10, 0x7b, 0x97, 0xde, 0x38, 0x73, 0x58, 0x85, 0x3b, 0x4c, + 0x97, 0xaf, 0x91, 0x90, 0xfa, 0x70, 0x3f, 0x87, 0xad, 0x14, 0x85, 0xff, 0x69, 0x40, 0x7b, 0x84, + 0xe3, 0x8c, 0x59, 0x54, 0xc7, 0x77, 0x4a, 0xe3, 0x9c, 0x55, 0x6a, 0xeb, 0x59, 0xa5, 0x9e, 0xb7, + 0xca, 0x29, 0xec, 0x6a, 0xba, 0x94, 0xb2, 0xc9, 0xaf, 0x0c, 0x40, 0xfd, 0xbc, 0xe7, 0xf3, 0x3a, + 0x1b, 0x85, 0x3a, 0x6b, 0xd6, 0xab, 0xe4, 0xad, 0xb7, 0xda, 0xbf, 0x5f, 0xc0, 0xfd, 0xfe, 0x5d, + 0xf8, 0x37, 0x47, 0xd7, 0xca, 0x7a, 0x74, 0xb5, 0x7f, 0x63, 0xe4, 0x10, 0x90, 0xf5, 0xa8, 0x41, + 0xab, 0x1c, 0xc5, 0x20, 0x44, 0x54, 0x47, 0xba, 0x78, 0x0d, 0x33, 0xfc, 0xda, 0x80, 0xbd, 0x3c, + 0x8a, 0x52, 0x86, 0xf8, 0x3e, 0x34, 0x95, 0x65, 0x44, 0x41, 0x53, 0x64, 0x09, 0x75, 0xa0, 0xfd, + 0x73, 0x78, 0xc0, 0xeb, 0xc5, 0x12, 0xc6, 0xd0, 0x54, 0xac, 0xe4, 0x55, 0xfc, 0x9d, 0x01, 0xfb, + 0x85, 0xcb, 0xbf, 0x63, 0x2d, 0xff, 0x61, 0x80, 0xd9, 0x75, 0xe3, 0xf1, 0xd5, 0xa8, 0xc0, 0xeb, + 0xb9, 0x65, 0x8d, 0x35, 0x97, 0x5d, 0x23, 0x18, 0x8a, 0x52, 0x40, 0x75, 0xbd, 0x14, 0x50, 0x2b, + 0x0a, 0x9c, 0xf7, 0x97, 0x68, 0x51, 0xca, 0x9e, 0x26, 0x6c, 0x8c, 0x16, 0xe3, 0x31, 0x26, 0x09, + 0x89, 0x93, 0x26, 0x3d, 0x54, 0xf9, 0x55, 0x85, 0x95, 0x71, 0x5b, 0x8e, 0x68, 0xd9, 0x03, 0x68, + 0x3a, 0x98, 0x78, 0x53, 0x9f, 0xaa, 0x27, 0x2a, 0x18, 0xa6, 0xe9, 0x24, 0xa9, 0x60, 0x78, 0x6b, + 0x0d, 0x6a, 0x74, 0xa1, 0x25, 0x2f, 0x55, 0x2a, 0x97, 0xfd, 0x38, 0xad, 0x94, 0xbb, 0x6f, 0x07, + 0x93, 0xdb, 0xe1, 0xf9, 0xd2, 0x80, 0x1a, 0x1d, 0x4c, 0x8f, 0xd3, 0x61, 0x14, 0x5c, 0x7a, 0x33, + 0x3c, 0xbc, 0x0a, 0xe2, 0x40, 0x2c, 0xa4, 0xc8, 0xe8, 0xd1, 0x7f, 0xe6, 0x8d, 0xaf, 0x7d, 0x77, + 0x8e, 0x93, 0xe2, 0x32, 0x69, 0x4b, 0x10, 0xaa, 0x0a, 0x84, 0x87, 0x00, 0xbd, 0x08, 0xbb, 0x31, + 0x66, 0x15, 0x05, 0xf7, 0xae, 0x24, 0xa1, 0xde, 0x18, 0x90, 0xee, 0x2c, 0x18, 0x5f, 0xb3, 0xec, + 0xbf, 0xe9, 0x24, 0x4d, 0x7b, 0x9c, 0xd6, 0xe7, 0x5c, 0xcd, 0x92, 0x57, 0x3a, 0x76, 0x83, 0x17, + 0x39, 0x12, 0xf8, 0x58, 0x66, 0x7b, 0x26, 0xb7, 0xff, 0x64, 0xc0, 0xae, 0xd8, 0x85, 0x74, 0xdf, + 0x9e, 0xb9, 0x73, 0x2c, 0x2e, 0xa3, 0x54, 0x42, 0x9b, 0xc9, 0x65, 0x34, 0x69, 0xa3, 0x13, 0x80, + 0xa1, 0x3b, 0xf5, 0x7c, 0x39, 0xf7, 0x7e, 0x54, 0x50, 0x9c, 0x3b, 0xf8, 0xf3, 0x05, 0x26, 0x71, + 0x36, 0xd6, 0x91, 0xe6, 0xad, 0x91, 0x27, 0xff, 0xcc, 0x4f, 0x2c, 0x05, 0x19, 0x09, 0x51, 0x07, + 0xea, 0x14, 0x78, 0x12, 0xae, 0xb2, 0x46, 0xbc, 0x03, 0x9d, 0x16, 0x00, 0xfc, 0x7a, 0x21, 0x40, + 0x12, 0x06, 0x3e, 0xc1, 0x4b, 0x10, 0x26, 0x36, 0x58, 0xcc, 0x89, 0x88, 0xdd, 0xb4, 0x6d, 0xff, + 0xcd, 0x80, 0xed, 0xe3, 0x59, 0xcc, 0xe3, 0xfd, 0x56, 0x04, 0xa4, 0x23, 0x86, 0x57, 0x81, 0x8f, + 0xcf, 0x16, 0xf3, 0x97, 0x38, 0x62, 0x3b, 0x55, 0x1d, 0x59, 0xa4, 0xb0, 0xae, 0xa6, 0xb1, 0x6e, + 0x0f, 0xea, 0xa7, 0x73, 0xd7, 0x9b, 0x89, 0xca, 0x81, 0x37, 0xa4, 0x4b, 0xd0, 0x44, 0x54, 0xc1, + 0x69, 0xdb, 0x3e, 0x86, 0xa6, 0x84, 0xbc, 0x0c, 0xa7, 0xec, 0x3f, 0x1a, 0xd0, 0x48, 0x3c, 0x93, + 0x1c, 0x19, 0x92, 0x92, 0x46, 0x5e, 0xc9, 0xbb, 0xe1, 0x8c, 0xcc, 0xca, 0xaa, 0xca, 0x4a, 0xfb, + 0xef, 0x06, 0x6c, 0x67, 0x98, 0x6e, 0x19, 0x2a, 0xd5, 0xa2, 0x50, 0xd1, 0x78, 0x55, 0xbd, 0x0b, + 0x5e, 0xd5, 0x34, 0x5e, 0x7d, 0x69, 0x00, 0x1c, 0x4f, 0x26, 0x09, 0xab, 0x56, 0x1b, 0x56, 0x63, + 0x8f, 0xe0, 0x97, 0xcc, 0x9e, 0x65, 0x79, 0x09, 0x41, 0x4d, 0x62, 0x14, 0xfb, 0xad, 0xf0, 0xa6, + 0xae, 0xf1, 0xe6, 0x53, 0x68, 0xa4, 0xc8, 0x4a, 0xb1, 0xe6, 0x0f, 0x06, 0x6c, 0xb3, 0xc4, 0xb6, + 0x2a, 0x66, 0x3e, 0x86, 0xd6, 0xa9, 0x3f, 0x39, 0xf1, 0x88, 0xfb, 0x72, 0xc6, 0xb3, 0xa6, 0xa8, + 0xc3, 0x55, 0xe9, 0xea, 0x14, 0xa2, 0xe8, 0x53, 0xcb, 0xc7, 0x81, 0x84, 0xa6, 0x94, 0x46, 0x97, + 0xd0, 0x7a, 0xe1, 0xaf, 0xa5, 0xd2, 0xea, 0x34, 0x20, 0x43, 0xad, 0x6a, 0x50, 0x7b, 0xb0, 0xa3, + 0xec, 0x53, 0x0a, 0xec, 0x5f, 0x0d, 0xf6, 0x44, 0x98, 0x2e, 0xc3, 0x22, 0x57, 0x8d, 0x4b, 0xe3, + 0x6e, 0x72, 0x79, 0x81, 0x76, 0xb6, 0xe4, 0xfa, 0xb3, 0xc5, 0x5c, 0xe4, 0x53, 0x45, 0x66, 0x7f, + 0x01, 0x5b, 0x69, 0x9b, 0xc6, 0x22, 0xfd, 0x2f, 0x20, 0x29, 0xb1, 0xc8, 0xfa, 0x1f, 0x41, 0xbb, + 0x8b, 0xa7, 0x9e, 0x9f, 0x67, 0x49, 0x4e, 0x5e, 0xc0, 0xa7, 0x6a, 0x11, 0x9f, 0xec, 0x7f, 0xf1, + 0xa3, 0x50, 0xb6, 0x50, 0xa9, 0x3c, 0x72, 0x04, 0x90, 0xad, 0x21, 0xb2, 0xc9, 0x0e, 0x9f, 0x91, + 0x39, 0x51, 0x1a, 0xf2, 0x2e, 0x12, 0xcb, 0x90, 0xdd, 0x7c, 0xd2, 0x3d, 0x93, 0xba, 0x69, 0x1f, + 0x36, 0x68, 0xf3, 0xc2, 0xfb, 0xff, 0x0b, 0xa7, 0x53, 0x76, 0x8b, 0xd1, 0x56, 0x24, 0x21, 0xfa, + 0xa6, 0xe4, 0x46, 0x91, 0xe9, 0x73, 0xca, 0x67, 0x23, 0xec, 0x4b, 0x68, 0x66, 0x4f, 0xef, 0xb7, + 0x83, 0x74, 0x63, 0x0c, 0x75, 0xe5, 0xcf, 0x0b, 0xe5, 0x1c, 0xfb, 0xf8, 0xbf, 0x0d, 0x7e, 0x42, + 0xa0, 0x4f, 0xd2, 0xf3, 0x8f, 0xbd, 0xe8, 0xec, 0xf1, 0x59, 0xea, 0xeb, 0xad, 0xf5, 0x5e, 0x81, + 0x94, 0x84, 0xa8, 0x07, 0x2d, 0xf5, 0x89, 0x11, 0xed, 0x0b, 0x76, 0xeb, 0x8f, 0xa0, 0x96, 0x59, + 0xdc, 0x41, 0x42, 0xf4, 0x0b, 0xd8, 0x5f, 0xf2, 0xea, 0x87, 0x3a, 0x7c, 0xd2, 0xf2, 0xe7, 0x47, + 0xeb, 0xc3, 0x15, 0x23, 0x48, 0x48, 0x15, 0x94, 0x3e, 0x88, 0x24, 0x0a, 0xaa, 0xdf, 0x67, 0x12, + 0x05, 0xf5, 0x2f, 0x27, 0x3f, 0x64, 0x07, 0x71, 0xfa, 0x29, 0x02, 0x65, 0x76, 0x90, 0xbf, 0x77, + 0x58, 0x0f, 0x8a, 0xc4, 0x7c, 0xba, 0xfc, 0x12, 0x9f, 0x4c, 0xd7, 0xbe, 0x3b, 0x24, 0xd3, 0x73, + 0x9f, 0x04, 0x9e, 0xb2, 0xa2, 0x59, 0x79, 0xa5, 0x32, 0xd3, 0x9d, 0xb4, 0xd7, 0x0f, 0xeb, 0xfd, + 0x25, 0x3d, 0x24, 0x44, 0x0e, 0x0b, 0x18, 0xfd, 0x06, 0x8b, 0xbe, 0x22, 0xa3, 0xd6, 0xaf, 0x94, + 0xd6, 0x57, 0x6f, 0xe8, 0x25, 0x21, 0x1a, 0xb0, 0x0c, 0xac, 0x2e, 0x58, 0x0c, 0x81, 0xad, 0x66, + 0x2d, 0xeb, 0x22, 0x21, 0xfa, 0x29, 0xbc, 0x57, 0x78, 0x25, 0x44, 0x0f, 0x45, 0xac, 0x2d, 0xb9, + 0xf5, 0x5a, 0x5f, 0xbb, 0xb1, 0x9f, 0x1b, 0x70, 0x54, 0x6c, 0xc0, 0xd1, 0x52, 0x03, 0x16, 0x3d, + 0xdb, 0x7d, 0x06, 0x4d, 0xe5, 0xdd, 0x0a, 0x3d, 0x48, 0xc7, 0x2a, 0x0f, 0x73, 0xd6, 0x7e, 0xa1, + 0x9c, 0x93, 0x50, 0xba, 0xff, 0x68, 0x51, 0x26, 0x32, 0x98, 0x16, 0x65, 0x69, 0x16, 0xea, 0xa5, + 0x57, 0x44, 0x71, 0x77, 0x48, 0xa2, 0x2c, 0x77, 0xd7, 0xb1, 0xcc, 0xe2, 0x0e, 0x12, 0xa2, 0x27, + 0xec, 0x63, 0x91, 0xb8, 0xab, 0xa2, 0xfb, 0x7c, 0x9c, 0x72, 0x11, 0xb6, 0xf6, 0xf2, 0x42, 0x12, + 0xa2, 0xef, 0xc2, 0x56, 0x5a, 0x63, 0x23, 0xf1, 0xa0, 0x20, 0x5f, 0x17, 0xac, 0xfb, 0x39, 0x19, + 0x09, 0xd1, 0xb7, 0x61, 0x33, 0x01, 0x81, 0x76, 0x55, 0x50, 0x74, 0x0e, 0xd2, 0x45, 0x24, 0x44, + 0x87, 0xb0, 0x21, 0x8a, 0x32, 0x24, 0x52, 0x57, 0x56, 0x3d, 0x5a, 0xbb, 0x9a, 0x84, 0x03, 0xcb, + 0xce, 0x58, 0xa4, 0xa7, 0xe5, 0x0c, 0x98, 0x5a, 0x6c, 0x7c, 0x02, 0x0d, 0xa9, 0xfe, 0x48, 0x1c, + 0xa1, 0x96, 0x3e, 0x89, 0x23, 0xf4, 0x42, 0xe5, 0x33, 0x68, 0x2a, 0x67, 0x2a, 0xca, 0xe2, 0x5e, + 0x29, 0x45, 0xac, 0xfd, 0x42, 0x79, 0x1a, 0x35, 0xca, 0x41, 0x23, 0x45, 0x8d, 0x7e, 0xa4, 0x49, + 0x51, 0x93, 0x3f, 0x9b, 0x9e, 0x00, 0x64, 0xd9, 0x2a, 0x71, 0xa8, 0x72, 0xfc, 0x58, 0x7b, 0x79, + 0x21, 0x09, 0xbb, 0xcd, 0x9f, 0x35, 0x0e, 0xd9, 0x57, 0xf1, 0x1f, 0xd0, 0x3f, 0x2f, 0xef, 0xb1, + 0x4f, 0xde, 0xdf, 0xf9, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x35, 0x77, 0x7a, 0xcc, 0x2e, 0x1f, 0x00, 0x00, } diff --git a/pkg/proto/user/user.proto b/pkg/proto/user/user.proto index 3b14ad177..8cbe2f708 100644 --- a/pkg/proto/user/user.proto +++ b/pkg/proto/user/user.proto @@ -1,6 +1,5 @@ syntax = "proto3"; import "Open_IM/pkg/proto/sdk_ws/ws.proto"; -import "Open_IM/pkg/proto/sdk_ws/wrappers.proto"; option go_package = "./user;user"; package user; @@ -63,7 +62,6 @@ message UpdateUserInfoReq{ server_api_params.UserInfo UserInfo = 1; string OpUserID = 2; string operationID = 3; - google.protobuf.Int32Value globalRecvMsgOpt = 4; } message UpdateUserInfoResp{ CommonResp commonResp = 1; From e9ac9faa496eb9028847a7eb2fd5222c9066946a Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 16 Jun 2022 19:12:50 +0800 Subject: [PATCH 04/12] user proto modify --- pkg/proto/user/user.proto | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/proto/user/user.proto b/pkg/proto/user/user.proto index 8cbe2f708..fa7025b28 100644 --- a/pkg/proto/user/user.proto +++ b/pkg/proto/user/user.proto @@ -69,7 +69,7 @@ message UpdateUserInfoResp{ message SetGlobalRecvMessageOptReq{ string userID = 1; string operationID = 2; - int32 opt = 3; + int32 globalRecvMsgOpt = 3; } message SetGlobalRecvMessageOptResp{ CommonResp commonResp = 1; From 7bbf2b200bbe2e5027dd1852fd2bfa7ce2d6bcc1 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 16 Jun 2022 19:18:17 +0800 Subject: [PATCH 05/12] fix bug --- pkg/proto/user/user.pb.go | 346 +++++++++++++++++++------------------- 1 file changed, 173 insertions(+), 173 deletions(-) diff --git a/pkg/proto/user/user.pb.go b/pkg/proto/user/user.pb.go index f833cefc7..41e69b7f9 100644 --- a/pkg/proto/user/user.pb.go +++ b/pkg/proto/user/user.pb.go @@ -36,7 +36,7 @@ func (m *CommonResp) Reset() { *m = CommonResp{} } func (m *CommonResp) String() string { return proto.CompactTextString(m) } func (*CommonResp) ProtoMessage() {} func (*CommonResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{0} + return fileDescriptor_user_f1112695e0d68005, []int{0} } func (m *CommonResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_CommonResp.Unmarshal(m, b) @@ -83,7 +83,7 @@ func (m *DeleteUsersReq) Reset() { *m = DeleteUsersReq{} } func (m *DeleteUsersReq) String() string { return proto.CompactTextString(m) } func (*DeleteUsersReq) ProtoMessage() {} func (*DeleteUsersReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{1} + return fileDescriptor_user_f1112695e0d68005, []int{1} } func (m *DeleteUsersReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteUsersReq.Unmarshal(m, b) @@ -136,7 +136,7 @@ func (m *DeleteUsersResp) Reset() { *m = DeleteUsersResp{} } func (m *DeleteUsersResp) String() string { return proto.CompactTextString(m) } func (*DeleteUsersResp) ProtoMessage() {} func (*DeleteUsersResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{2} + return fileDescriptor_user_f1112695e0d68005, []int{2} } func (m *DeleteUsersResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteUsersResp.Unmarshal(m, b) @@ -182,7 +182,7 @@ func (m *GetAllUserIDReq) Reset() { *m = GetAllUserIDReq{} } func (m *GetAllUserIDReq) String() string { return proto.CompactTextString(m) } func (*GetAllUserIDReq) ProtoMessage() {} func (*GetAllUserIDReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{3} + return fileDescriptor_user_f1112695e0d68005, []int{3} } func (m *GetAllUserIDReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllUserIDReq.Unmarshal(m, b) @@ -228,7 +228,7 @@ func (m *GetAllUserIDResp) Reset() { *m = GetAllUserIDResp{} } func (m *GetAllUserIDResp) String() string { return proto.CompactTextString(m) } func (*GetAllUserIDResp) ProtoMessage() {} func (*GetAllUserIDResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{4} + return fileDescriptor_user_f1112695e0d68005, []int{4} } func (m *GetAllUserIDResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllUserIDResp.Unmarshal(m, b) @@ -275,7 +275,7 @@ func (m *AccountCheckReq) Reset() { *m = AccountCheckReq{} } func (m *AccountCheckReq) String() string { return proto.CompactTextString(m) } func (*AccountCheckReq) ProtoMessage() {} func (*AccountCheckReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{5} + return fileDescriptor_user_f1112695e0d68005, []int{5} } func (m *AccountCheckReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountCheckReq.Unmarshal(m, b) @@ -328,7 +328,7 @@ func (m *AccountCheckResp) Reset() { *m = AccountCheckResp{} } func (m *AccountCheckResp) String() string { return proto.CompactTextString(m) } func (*AccountCheckResp) ProtoMessage() {} func (*AccountCheckResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{6} + return fileDescriptor_user_f1112695e0d68005, []int{6} } func (m *AccountCheckResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountCheckResp.Unmarshal(m, b) @@ -374,7 +374,7 @@ func (m *AccountCheckResp_SingleUserStatus) Reset() { *m = AccountCheckR func (m *AccountCheckResp_SingleUserStatus) String() string { return proto.CompactTextString(m) } func (*AccountCheckResp_SingleUserStatus) ProtoMessage() {} func (*AccountCheckResp_SingleUserStatus) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{6, 0} + return fileDescriptor_user_f1112695e0d68005, []int{6, 0} } func (m *AccountCheckResp_SingleUserStatus) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AccountCheckResp_SingleUserStatus.Unmarshal(m, b) @@ -421,7 +421,7 @@ func (m *GetUserInfoReq) Reset() { *m = GetUserInfoReq{} } func (m *GetUserInfoReq) String() string { return proto.CompactTextString(m) } func (*GetUserInfoReq) ProtoMessage() {} func (*GetUserInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{7} + return fileDescriptor_user_f1112695e0d68005, []int{7} } func (m *GetUserInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserInfoReq.Unmarshal(m, b) @@ -474,7 +474,7 @@ func (m *GetUserInfoResp) Reset() { *m = GetUserInfoResp{} } func (m *GetUserInfoResp) String() string { return proto.CompactTextString(m) } func (*GetUserInfoResp) ProtoMessage() {} func (*GetUserInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{8} + return fileDescriptor_user_f1112695e0d68005, []int{8} } func (m *GetUserInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserInfoResp.Unmarshal(m, b) @@ -521,7 +521,7 @@ func (m *UpdateUserInfoReq) Reset() { *m = UpdateUserInfoReq{} } func (m *UpdateUserInfoReq) String() string { return proto.CompactTextString(m) } func (*UpdateUserInfoReq) ProtoMessage() {} func (*UpdateUserInfoReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{9} + return fileDescriptor_user_f1112695e0d68005, []int{9} } func (m *UpdateUserInfoReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UpdateUserInfoReq.Unmarshal(m, b) @@ -573,7 +573,7 @@ func (m *UpdateUserInfoResp) Reset() { *m = UpdateUserInfoResp{} } func (m *UpdateUserInfoResp) String() string { return proto.CompactTextString(m) } func (*UpdateUserInfoResp) ProtoMessage() {} func (*UpdateUserInfoResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{10} + return fileDescriptor_user_f1112695e0d68005, []int{10} } func (m *UpdateUserInfoResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UpdateUserInfoResp.Unmarshal(m, b) @@ -603,7 +603,7 @@ func (m *UpdateUserInfoResp) GetCommonResp() *CommonResp { type SetGlobalRecvMessageOptReq struct { UserID string `protobuf:"bytes,1,opt,name=userID" json:"userID,omitempty"` OperationID string `protobuf:"bytes,2,opt,name=operationID" json:"operationID,omitempty"` - Opt int32 `protobuf:"varint,3,opt,name=opt" json:"opt,omitempty"` + GlobalRecvMsgOpt int32 `protobuf:"varint,3,opt,name=globalRecvMsgOpt" json:"globalRecvMsgOpt,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` @@ -613,7 +613,7 @@ func (m *SetGlobalRecvMessageOptReq) Reset() { *m = SetGlobalRecvMessage func (m *SetGlobalRecvMessageOptReq) String() string { return proto.CompactTextString(m) } func (*SetGlobalRecvMessageOptReq) ProtoMessage() {} func (*SetGlobalRecvMessageOptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{11} + return fileDescriptor_user_f1112695e0d68005, []int{11} } func (m *SetGlobalRecvMessageOptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGlobalRecvMessageOptReq.Unmarshal(m, b) @@ -647,9 +647,9 @@ func (m *SetGlobalRecvMessageOptReq) GetOperationID() string { return "" } -func (m *SetGlobalRecvMessageOptReq) GetOpt() int32 { +func (m *SetGlobalRecvMessageOptReq) GetGlobalRecvMsgOpt() int32 { if m != nil { - return m.Opt + return m.GlobalRecvMsgOpt } return 0 } @@ -665,7 +665,7 @@ func (m *SetGlobalRecvMessageOptResp) Reset() { *m = SetGlobalRecvMessag func (m *SetGlobalRecvMessageOptResp) String() string { return proto.CompactTextString(m) } func (*SetGlobalRecvMessageOptResp) ProtoMessage() {} func (*SetGlobalRecvMessageOptResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{12} + return fileDescriptor_user_f1112695e0d68005, []int{12} } func (m *SetGlobalRecvMessageOptResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetGlobalRecvMessageOptResp.Unmarshal(m, b) @@ -716,7 +716,7 @@ func (m *Conversation) Reset() { *m = Conversation{} } func (m *Conversation) String() string { return proto.CompactTextString(m) } func (*Conversation) ProtoMessage() {} func (*Conversation) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{13} + return fileDescriptor_user_f1112695e0d68005, []int{13} } func (m *Conversation) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_Conversation.Unmarshal(m, b) @@ -847,7 +847,7 @@ func (m *SetConversationReq) Reset() { *m = SetConversationReq{} } func (m *SetConversationReq) String() string { return proto.CompactTextString(m) } func (*SetConversationReq) ProtoMessage() {} func (*SetConversationReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{14} + return fileDescriptor_user_f1112695e0d68005, []int{14} } func (m *SetConversationReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetConversationReq.Unmarshal(m, b) @@ -899,7 +899,7 @@ func (m *SetConversationResp) Reset() { *m = SetConversationResp{} } func (m *SetConversationResp) String() string { return proto.CompactTextString(m) } func (*SetConversationResp) ProtoMessage() {} func (*SetConversationResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{15} + return fileDescriptor_user_f1112695e0d68005, []int{15} } func (m *SetConversationResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetConversationResp.Unmarshal(m, b) @@ -941,7 +941,7 @@ func (m *SetRecvMsgOptReq) Reset() { *m = SetRecvMsgOptReq{} } func (m *SetRecvMsgOptReq) String() string { return proto.CompactTextString(m) } func (*SetRecvMsgOptReq) ProtoMessage() {} func (*SetRecvMsgOptReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{16} + return fileDescriptor_user_f1112695e0d68005, []int{16} } func (m *SetRecvMsgOptReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetRecvMsgOptReq.Unmarshal(m, b) @@ -1007,7 +1007,7 @@ func (m *SetRecvMsgOptResp) Reset() { *m = SetRecvMsgOptResp{} } func (m *SetRecvMsgOptResp) String() string { return proto.CompactTextString(m) } func (*SetRecvMsgOptResp) ProtoMessage() {} func (*SetRecvMsgOptResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{17} + return fileDescriptor_user_f1112695e0d68005, []int{17} } func (m *SetRecvMsgOptResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_SetRecvMsgOptResp.Unmarshal(m, b) @@ -1047,7 +1047,7 @@ func (m *GetConversationReq) Reset() { *m = GetConversationReq{} } func (m *GetConversationReq) String() string { return proto.CompactTextString(m) } func (*GetConversationReq) ProtoMessage() {} func (*GetConversationReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{18} + return fileDescriptor_user_f1112695e0d68005, []int{18} } func (m *GetConversationReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationReq.Unmarshal(m, b) @@ -1100,7 +1100,7 @@ func (m *GetConversationResp) Reset() { *m = GetConversationResp{} } func (m *GetConversationResp) String() string { return proto.CompactTextString(m) } func (*GetConversationResp) ProtoMessage() {} func (*GetConversationResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{19} + return fileDescriptor_user_f1112695e0d68005, []int{19} } func (m *GetConversationResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationResp.Unmarshal(m, b) @@ -1147,7 +1147,7 @@ func (m *GetConversationsReq) Reset() { *m = GetConversationsReq{} } func (m *GetConversationsReq) String() string { return proto.CompactTextString(m) } func (*GetConversationsReq) ProtoMessage() {} func (*GetConversationsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{20} + return fileDescriptor_user_f1112695e0d68005, []int{20} } func (m *GetConversationsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationsReq.Unmarshal(m, b) @@ -1200,7 +1200,7 @@ func (m *GetConversationsResp) Reset() { *m = GetConversationsResp{} } func (m *GetConversationsResp) String() string { return proto.CompactTextString(m) } func (*GetConversationsResp) ProtoMessage() {} func (*GetConversationsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{21} + return fileDescriptor_user_f1112695e0d68005, []int{21} } func (m *GetConversationsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetConversationsResp.Unmarshal(m, b) @@ -1246,7 +1246,7 @@ func (m *GetAllConversationsReq) Reset() { *m = GetAllConversationsReq{} func (m *GetAllConversationsReq) String() string { return proto.CompactTextString(m) } func (*GetAllConversationsReq) ProtoMessage() {} func (*GetAllConversationsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{22} + return fileDescriptor_user_f1112695e0d68005, []int{22} } func (m *GetAllConversationsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllConversationsReq.Unmarshal(m, b) @@ -1292,7 +1292,7 @@ func (m *GetAllConversationsResp) Reset() { *m = GetAllConversationsResp func (m *GetAllConversationsResp) String() string { return proto.CompactTextString(m) } func (*GetAllConversationsResp) ProtoMessage() {} func (*GetAllConversationsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{23} + return fileDescriptor_user_f1112695e0d68005, []int{23} } func (m *GetAllConversationsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetAllConversationsResp.Unmarshal(m, b) @@ -1340,7 +1340,7 @@ func (m *BatchSetConversationsReq) Reset() { *m = BatchSetConversationsR func (m *BatchSetConversationsReq) String() string { return proto.CompactTextString(m) } func (*BatchSetConversationsReq) ProtoMessage() {} func (*BatchSetConversationsReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{24} + return fileDescriptor_user_f1112695e0d68005, []int{24} } func (m *BatchSetConversationsReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BatchSetConversationsReq.Unmarshal(m, b) @@ -1401,7 +1401,7 @@ func (m *BatchSetConversationsResp) Reset() { *m = BatchSetConversations func (m *BatchSetConversationsResp) String() string { return proto.CompactTextString(m) } func (*BatchSetConversationsResp) ProtoMessage() {} func (*BatchSetConversationsResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{25} + return fileDescriptor_user_f1112695e0d68005, []int{25} } func (m *BatchSetConversationsResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BatchSetConversationsResp.Unmarshal(m, b) @@ -1454,7 +1454,7 @@ func (m *ResignUserReq) Reset() { *m = ResignUserReq{} } func (m *ResignUserReq) String() string { return proto.CompactTextString(m) } func (*ResignUserReq) ProtoMessage() {} func (*ResignUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{26} + return fileDescriptor_user_f1112695e0d68005, []int{26} } func (m *ResignUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResignUserReq.Unmarshal(m, b) @@ -1499,7 +1499,7 @@ func (m *ResignUserResp) Reset() { *m = ResignUserResp{} } func (m *ResignUserResp) String() string { return proto.CompactTextString(m) } func (*ResignUserResp) ProtoMessage() {} func (*ResignUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{27} + return fileDescriptor_user_f1112695e0d68005, []int{27} } func (m *ResignUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_ResignUserResp.Unmarshal(m, b) @@ -1538,7 +1538,7 @@ func (m *GetUserByIdReq) Reset() { *m = GetUserByIdReq{} } func (m *GetUserByIdReq) String() string { return proto.CompactTextString(m) } func (*GetUserByIdReq) ProtoMessage() {} func (*GetUserByIdReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{28} + return fileDescriptor_user_f1112695e0d68005, []int{28} } func (m *GetUserByIdReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserByIdReq.Unmarshal(m, b) @@ -1587,7 +1587,7 @@ func (m *User) Reset() { *m = User{} } func (m *User) String() string { return proto.CompactTextString(m) } func (*User) ProtoMessage() {} func (*User) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{29} + return fileDescriptor_user_f1112695e0d68005, []int{29} } func (m *User) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_User.Unmarshal(m, b) @@ -1654,7 +1654,7 @@ func (m *GetUserByIdResp) Reset() { *m = GetUserByIdResp{} } func (m *GetUserByIdResp) String() string { return proto.CompactTextString(m) } func (*GetUserByIdResp) ProtoMessage() {} func (*GetUserByIdResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{30} + return fileDescriptor_user_f1112695e0d68005, []int{30} } func (m *GetUserByIdResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUserByIdResp.Unmarshal(m, b) @@ -1701,7 +1701,7 @@ func (m *GetUsersByNameReq) Reset() { *m = GetUsersByNameReq{} } func (m *GetUsersByNameReq) String() string { return proto.CompactTextString(m) } func (*GetUsersByNameReq) ProtoMessage() {} func (*GetUsersByNameReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{31} + return fileDescriptor_user_f1112695e0d68005, []int{31} } func (m *GetUsersByNameReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersByNameReq.Unmarshal(m, b) @@ -1755,7 +1755,7 @@ func (m *GetUsersByNameResp) Reset() { *m = GetUsersByNameResp{} } func (m *GetUsersByNameResp) String() string { return proto.CompactTextString(m) } func (*GetUsersByNameResp) ProtoMessage() {} func (*GetUsersByNameResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{32} + return fileDescriptor_user_f1112695e0d68005, []int{32} } func (m *GetUsersByNameResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersByNameResp.Unmarshal(m, b) @@ -1812,7 +1812,7 @@ func (m *AlterUserReq) Reset() { *m = AlterUserReq{} } func (m *AlterUserReq) String() string { return proto.CompactTextString(m) } func (*AlterUserReq) ProtoMessage() {} func (*AlterUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{33} + return fileDescriptor_user_f1112695e0d68005, []int{33} } func (m *AlterUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AlterUserReq.Unmarshal(m, b) @@ -1885,7 +1885,7 @@ func (m *AlterUserResp) Reset() { *m = AlterUserResp{} } func (m *AlterUserResp) String() string { return proto.CompactTextString(m) } func (*AlterUserResp) ProtoMessage() {} func (*AlterUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{34} + return fileDescriptor_user_f1112695e0d68005, []int{34} } func (m *AlterUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AlterUserResp.Unmarshal(m, b) @@ -1925,7 +1925,7 @@ func (m *GetUsersReq) Reset() { *m = GetUsersReq{} } func (m *GetUsersReq) String() string { return proto.CompactTextString(m) } func (*GetUsersReq) ProtoMessage() {} func (*GetUsersReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{35} + return fileDescriptor_user_f1112695e0d68005, []int{35} } func (m *GetUsersReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersReq.Unmarshal(m, b) @@ -1980,7 +1980,7 @@ func (m *GetUsersResp) Reset() { *m = GetUsersResp{} } func (m *GetUsersResp) String() string { return proto.CompactTextString(m) } func (*GetUsersResp) ProtoMessage() {} func (*GetUsersResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{36} + return fileDescriptor_user_f1112695e0d68005, []int{36} } func (m *GetUsersResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetUsersResp.Unmarshal(m, b) @@ -2043,7 +2043,7 @@ func (m *AddUserReq) Reset() { *m = AddUserReq{} } func (m *AddUserReq) String() string { return proto.CompactTextString(m) } func (*AddUserReq) ProtoMessage() {} func (*AddUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{37} + return fileDescriptor_user_f1112695e0d68005, []int{37} } func (m *AddUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserReq.Unmarshal(m, b) @@ -2109,7 +2109,7 @@ func (m *AddUserResp) Reset() { *m = AddUserResp{} } func (m *AddUserResp) String() string { return proto.CompactTextString(m) } func (*AddUserResp) ProtoMessage() {} func (*AddUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{38} + return fileDescriptor_user_f1112695e0d68005, []int{38} } func (m *AddUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_AddUserResp.Unmarshal(m, b) @@ -2150,7 +2150,7 @@ func (m *BlockUserReq) Reset() { *m = BlockUserReq{} } func (m *BlockUserReq) String() string { return proto.CompactTextString(m) } func (*BlockUserReq) ProtoMessage() {} func (*BlockUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{39} + return fileDescriptor_user_f1112695e0d68005, []int{39} } func (m *BlockUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockUserReq.Unmarshal(m, b) @@ -2209,7 +2209,7 @@ func (m *BlockUserResp) Reset() { *m = BlockUserResp{} } func (m *BlockUserResp) String() string { return proto.CompactTextString(m) } func (*BlockUserResp) ProtoMessage() {} func (*BlockUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{40} + return fileDescriptor_user_f1112695e0d68005, []int{40} } func (m *BlockUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockUserResp.Unmarshal(m, b) @@ -2249,7 +2249,7 @@ func (m *UnBlockUserReq) Reset() { *m = UnBlockUserReq{} } func (m *UnBlockUserReq) String() string { return proto.CompactTextString(m) } func (*UnBlockUserReq) ProtoMessage() {} func (*UnBlockUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{41} + return fileDescriptor_user_f1112695e0d68005, []int{41} } func (m *UnBlockUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnBlockUserReq.Unmarshal(m, b) @@ -2301,7 +2301,7 @@ func (m *UnBlockUserResp) Reset() { *m = UnBlockUserResp{} } func (m *UnBlockUserResp) String() string { return proto.CompactTextString(m) } func (*UnBlockUserResp) ProtoMessage() {} func (*UnBlockUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{42} + return fileDescriptor_user_f1112695e0d68005, []int{42} } func (m *UnBlockUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_UnBlockUserResp.Unmarshal(m, b) @@ -2341,7 +2341,7 @@ func (m *GetBlockUsersReq) Reset() { *m = GetBlockUsersReq{} } func (m *GetBlockUsersReq) String() string { return proto.CompactTextString(m) } func (*GetBlockUsersReq) ProtoMessage() {} func (*GetBlockUsersReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{43} + return fileDescriptor_user_f1112695e0d68005, []int{43} } func (m *GetBlockUsersReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetBlockUsersReq.Unmarshal(m, b) @@ -2395,7 +2395,7 @@ func (m *BlockUser) Reset() { *m = BlockUser{} } func (m *BlockUser) String() string { return proto.CompactTextString(m) } func (*BlockUser) ProtoMessage() {} func (*BlockUser) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{44} + return fileDescriptor_user_f1112695e0d68005, []int{44} } func (m *BlockUser) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_BlockUser.Unmarshal(m, b) @@ -2450,7 +2450,7 @@ func (m *GetBlockUsersResp) Reset() { *m = GetBlockUsersResp{} } func (m *GetBlockUsersResp) String() string { return proto.CompactTextString(m) } func (*GetBlockUsersResp) ProtoMessage() {} func (*GetBlockUsersResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{45} + return fileDescriptor_user_f1112695e0d68005, []int{45} } func (m *GetBlockUsersResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetBlockUsersResp.Unmarshal(m, b) @@ -2510,7 +2510,7 @@ func (m *GetBlockUserByIdReq) Reset() { *m = GetBlockUserByIdReq{} } func (m *GetBlockUserByIdReq) String() string { return proto.CompactTextString(m) } func (*GetBlockUserByIdReq) ProtoMessage() {} func (*GetBlockUserByIdReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{46} + return fileDescriptor_user_f1112695e0d68005, []int{46} } func (m *GetBlockUserByIdReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetBlockUserByIdReq.Unmarshal(m, b) @@ -2555,7 +2555,7 @@ func (m *GetBlockUserByIdResp) Reset() { *m = GetBlockUserByIdResp{} } func (m *GetBlockUserByIdResp) String() string { return proto.CompactTextString(m) } func (*GetBlockUserByIdResp) ProtoMessage() {} func (*GetBlockUserByIdResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{47} + return fileDescriptor_user_f1112695e0d68005, []int{47} } func (m *GetBlockUserByIdResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_GetBlockUserByIdResp.Unmarshal(m, b) @@ -2595,7 +2595,7 @@ func (m *DeleteUserReq) Reset() { *m = DeleteUserReq{} } func (m *DeleteUserReq) String() string { return proto.CompactTextString(m) } func (*DeleteUserReq) ProtoMessage() {} func (*DeleteUserReq) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{48} + return fileDescriptor_user_f1112695e0d68005, []int{48} } func (m *DeleteUserReq) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteUserReq.Unmarshal(m, b) @@ -2647,7 +2647,7 @@ func (m *DeleteUserResp) Reset() { *m = DeleteUserResp{} } func (m *DeleteUserResp) String() string { return proto.CompactTextString(m) } func (*DeleteUserResp) ProtoMessage() {} func (*DeleteUserResp) Descriptor() ([]byte, []int) { - return fileDescriptor_user_ffbbc34a94bb8978, []int{49} + return fileDescriptor_user_f1112695e0d68005, []int{49} } func (m *DeleteUserResp) XXX_Unmarshal(b []byte) error { return xxx_messageInfo_DeleteUserResp.Unmarshal(m, b) @@ -3526,129 +3526,129 @@ var _User_serviceDesc = grpc.ServiceDesc{ Metadata: "user/user.proto", } -func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_ffbbc34a94bb8978) } +func init() { proto.RegisterFile("user/user.proto", fileDescriptor_user_f1112695e0d68005) } -var fileDescriptor_user_ffbbc34a94bb8978 = []byte{ - // 1922 bytes of a gzipped FileDescriptorProto +var fileDescriptor_user_f1112695e0d68005 = []byte{ + // 1923 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x59, 0xcd, 0x6f, 0x23, 0x49, 0x15, 0x57, 0xfb, 0x63, 0x92, 0x3c, 0xc7, 0x8e, 0x53, 0x93, 0x9d, 0xf4, 0xf6, 0xc2, 0xe0, 0x6d, 0x2d, 0x4b, 0x34, 0x12, 0x09, 0x0c, 0x88, 0x41, 0x8b, 0x60, 0x37, 0x76, 0x32, 0x96, 0x11, 0x93, 0x58, 0xed, 0x19, 0x09, 0x21, 0x44, 0xd4, 0x63, 0x57, 0x9c, 0x56, 0xec, 0xee, 0xde, 0xae, 0xf6, - 0x7c, 0x70, 0x59, 0xc4, 0xc7, 0x05, 0x71, 0xe1, 0xc4, 0xc2, 0x81, 0xbf, 0x83, 0x3b, 0x9c, 0xf8, - 0x0f, 0xe0, 0xc2, 0x9f, 0xc1, 0x15, 0xd5, 0x47, 0x77, 0x57, 0x55, 0xb7, 0x63, 0xd3, 0x89, 0xe6, - 0x92, 0xb8, 0x5e, 0x7d, 0xfd, 0xde, 0x7b, 0xbf, 0xf7, 0xea, 0x55, 0x35, 0xec, 0x2c, 0x08, 0x8e, - 0x8e, 0xe8, 0x9f, 0xc3, 0x30, 0x0a, 0xe2, 0x00, 0xd5, 0xe8, 0x6f, 0xeb, 0xc3, 0xf3, 0x10, 0xfb, - 0x17, 0x83, 0x67, 0x47, 0xe1, 0xf5, 0xf4, 0x88, 0x75, 0x1c, 0x91, 0xc9, 0xf5, 0xc5, 0x6b, 0x72, - 0xf4, 0x9a, 0xf0, 0x81, 0xf6, 0x8f, 0x00, 0x7a, 0xc1, 0x7c, 0x1e, 0xf8, 0x0e, 0x26, 0x21, 0x32, - 0x61, 0x03, 0x47, 0x51, 0x2f, 0x98, 0x60, 0xd3, 0xe8, 0x18, 0x07, 0x75, 0x27, 0x69, 0xa2, 0x07, - 0x70, 0x0f, 0x47, 0xd1, 0x33, 0x32, 0x35, 0x2b, 0x1d, 0xe3, 0x60, 0xcb, 0x11, 0x2d, 0xfb, 0x97, - 0xd0, 0x3a, 0xc1, 0x33, 0x1c, 0xe3, 0x17, 0x04, 0x47, 0xc4, 0xc1, 0x9f, 0xa3, 0x47, 0xd0, 0xce, - 0x24, 0x83, 0x93, 0x9f, 0x78, 0x24, 0x36, 0x2b, 0x9d, 0xea, 0xc1, 0x96, 0x93, 0x93, 0x23, 0x0b, - 0x36, 0xcf, 0x43, 0xde, 0x36, 0xab, 0x6c, 0xdd, 0xb4, 0x8d, 0x3a, 0xd0, 0x38, 0x0f, 0x71, 0xe4, - 0xc6, 0x5e, 0xe0, 0x0f, 0x4e, 0xcc, 0x1a, 0xeb, 0x96, 0x45, 0x76, 0x00, 0x3b, 0xca, 0xde, 0x24, - 0x44, 0xdf, 0x92, 0xd5, 0x61, 0x3a, 0x34, 0x1e, 0xb7, 0x0f, 0x99, 0x61, 0x32, 0xb9, 0x23, 0xab, - 0xfc, 0x08, 0xda, 0x4f, 0x5d, 0x6f, 0x86, 0x27, 0x79, 0xb8, 0xba, 0xdc, 0x3e, 0x87, 0x9d, 0x3e, - 0x8e, 0x8f, 0x67, 0x33, 0x2e, 0xa3, 0xda, 0x5a, 0xb0, 0x19, 0x24, 0x1a, 0x18, 0x5c, 0x83, 0x40, - 0xd2, 0x20, 0x90, 0x34, 0xe0, 0x86, 0x93, 0x45, 0xf6, 0x04, 0xda, 0xea, 0x82, 0xa5, 0x54, 0x78, - 0x08, 0x90, 0x03, 0x2f, 0x49, 0xec, 0xb7, 0xb0, 0x73, 0x3c, 0x1e, 0x07, 0x0b, 0x3f, 0xee, 0x5d, - 0xe1, 0xf1, 0x35, 0x85, 0x7d, 0x00, 0x3b, 0xec, 0xb7, 0x34, 0xcf, 0x60, 0xf3, 0x74, 0xb1, 0xe2, - 0xa2, 0xca, 0xcd, 0x2e, 0xaa, 0xe6, 0x5d, 0xf4, 0x1f, 0x03, 0xda, 0xea, 0xde, 0x5c, 0xc3, 0xf1, - 0x1a, 0x1a, 0x66, 0x63, 0x50, 0x1f, 0xc0, 0xc1, 0x64, 0x31, 0x8b, 0x53, 0x0d, 0x1b, 0x8f, 0xbf, - 0xc1, 0x67, 0xe8, 0xab, 0x1f, 0x8e, 0x3c, 0x7f, 0x3a, 0x63, 0x94, 0x18, 0xc5, 0x6e, 0xbc, 0x20, + 0x7c, 0x70, 0x59, 0xb4, 0xc0, 0x05, 0x71, 0xe1, 0xc4, 0xc0, 0x81, 0xbf, 0x83, 0x3b, 0x9c, 0xf8, + 0x0f, 0xe0, 0xc2, 0x9f, 0xc1, 0x15, 0xd5, 0x47, 0x77, 0x57, 0x55, 0xb7, 0x63, 0x6f, 0x67, 0x34, + 0x97, 0xc4, 0xf5, 0xea, 0xa3, 0xdf, 0xef, 0xbd, 0xdf, 0x7b, 0xf5, 0xaa, 0x0a, 0x76, 0x16, 0x04, + 0x47, 0x47, 0xf4, 0xcf, 0x61, 0x18, 0x05, 0x71, 0x80, 0x6a, 0xf4, 0xb7, 0xf5, 0xe1, 0x79, 0x88, + 0xfd, 0x8b, 0xc1, 0x93, 0xa3, 0xf0, 0x7a, 0x7a, 0xc4, 0x3a, 0x8e, 0xc8, 0xe4, 0xfa, 0xe2, 0x25, + 0x39, 0x7a, 0x49, 0xf8, 0x40, 0xfb, 0x27, 0x00, 0xbd, 0x60, 0x3e, 0x0f, 0x7c, 0x07, 0x93, 0x10, + 0x99, 0xb0, 0x81, 0xa3, 0xa8, 0x17, 0x4c, 0xb0, 0x69, 0x74, 0x8c, 0x83, 0xba, 0x93, 0x34, 0xd1, + 0x3d, 0xb8, 0x83, 0xa3, 0xe8, 0x09, 0x99, 0x9a, 0x95, 0x8e, 0x71, 0xb0, 0xe5, 0x88, 0x96, 0xfd, + 0x6b, 0x68, 0x9d, 0xe0, 0x19, 0x8e, 0xf1, 0x33, 0x82, 0x23, 0xe2, 0xe0, 0xcf, 0xd1, 0x03, 0x68, + 0x67, 0x92, 0xc1, 0xc9, 0xcf, 0x3c, 0x12, 0x9b, 0x95, 0x4e, 0xf5, 0x60, 0xcb, 0xc9, 0xc9, 0x91, + 0x05, 0x9b, 0xe7, 0x21, 0x6f, 0x9b, 0x55, 0xb6, 0x6e, 0xda, 0x46, 0x1d, 0x68, 0x9c, 0x87, 0x38, + 0x72, 0x63, 0x2f, 0xf0, 0x07, 0x27, 0x66, 0x8d, 0x75, 0xcb, 0x22, 0x3b, 0x80, 0x1d, 0xe5, 0xdb, + 0x24, 0x44, 0xdf, 0x91, 0xe1, 0x30, 0x0c, 0x8d, 0x87, 0xed, 0x43, 0x66, 0x98, 0x4c, 0xee, 0xc8, + 0x90, 0x1f, 0x40, 0xfb, 0xb1, 0xeb, 0xcd, 0xf0, 0x24, 0xaf, 0xae, 0x2e, 0xb7, 0xcf, 0x61, 0xa7, + 0x8f, 0xe3, 0xe3, 0xd9, 0x8c, 0xcb, 0x28, 0x5a, 0x0b, 0x36, 0x83, 0x04, 0x81, 0xc1, 0x11, 0x04, + 0x12, 0x82, 0x40, 0x42, 0xc0, 0x0d, 0x27, 0x8b, 0xec, 0x09, 0xb4, 0xd5, 0x05, 0x4b, 0x41, 0xb8, + 0x0f, 0x90, 0x53, 0x5e, 0x92, 0xd8, 0xaf, 0x61, 0xe7, 0x78, 0x3c, 0x0e, 0x16, 0x7e, 0xdc, 0xbb, + 0xc2, 0xe3, 0x6b, 0xaa, 0xf6, 0x01, 0xec, 0xb0, 0xdf, 0xd2, 0x3c, 0x83, 0xcd, 0xd3, 0xc5, 0x8a, + 0x8b, 0x2a, 0x37, 0xbb, 0xa8, 0x9a, 0x77, 0xd1, 0x7f, 0x0d, 0x68, 0xab, 0xdf, 0xe6, 0x08, 0xc7, + 0x6b, 0x20, 0xcc, 0xc6, 0xa0, 0x3e, 0x80, 0x83, 0xc9, 0x62, 0x16, 0xa7, 0x08, 0x1b, 0x0f, 0xbf, + 0xc5, 0x67, 0xe8, 0xab, 0x1f, 0x8e, 0x3c, 0x7f, 0x3a, 0x63, 0x94, 0x18, 0xc5, 0x6e, 0xbc, 0x20, 0x8e, 0x34, 0xd5, 0x1a, 0x42, 0x5b, 0xef, 0xa7, 0xd4, 0x5e, 0xc8, 0x0e, 0x14, 0x2d, 0xf4, 0x11, - 0x34, 0x5d, 0xbe, 0x38, 0x1f, 0x28, 0xd4, 0x57, 0x85, 0xb6, 0x0f, 0xad, 0x3e, 0x8e, 0x99, 0x41, - 0xfc, 0xcb, 0x80, 0xda, 0xf6, 0x21, 0xc0, 0x42, 0x37, 0xab, 0x24, 0xb9, 0xa5, 0x45, 0x7f, 0x6b, - 0x30, 0x12, 0x66, 0x1b, 0x96, 0x32, 0xe8, 0xa7, 0xb0, 0x9d, 0xac, 0xc0, 0x50, 0x56, 0x99, 0x49, - 0x3f, 0x38, 0x24, 0x38, 0x7a, 0x85, 0xa3, 0x0b, 0x37, 0xf4, 0x2e, 0x42, 0x37, 0x72, 0xe7, 0xe4, - 0x30, 0xdd, 0x48, 0x99, 0x60, 0xff, 0xde, 0x80, 0xdd, 0x17, 0xe1, 0xc4, 0x15, 0xe1, 0x2c, 0x54, - 0x7f, 0x02, 0x9b, 0x49, 0x53, 0xc0, 0xb8, 0x71, 0xc9, 0x74, 0xf0, 0x2a, 0x9b, 0x04, 0x79, 0x9b, - 0xc8, 0x61, 0xf4, 0x14, 0x90, 0x8e, 0xa5, 0x8c, 0x55, 0xec, 0x2b, 0xb0, 0x46, 0x38, 0xee, 0xcf, - 0x82, 0x97, 0xee, 0xcc, 0xc1, 0xe3, 0x57, 0xcf, 0x30, 0x21, 0xee, 0x14, 0x9f, 0x87, 0x31, 0x55, - 0x6e, 0x19, 0x4f, 0x56, 0x86, 0x39, 0x6a, 0x43, 0x35, 0x08, 0x63, 0x86, 0xbc, 0xee, 0xd0, 0x9f, - 0xf6, 0x39, 0x7c, 0xb0, 0x74, 0xa7, 0x52, 0xd0, 0xff, 0x5d, 0x85, 0xed, 0x5e, 0xe0, 0xbf, 0xc2, - 0x11, 0x61, 0xbb, 0x32, 0x26, 0xbd, 0xf6, 0x71, 0xa4, 0xe4, 0x26, 0x59, 0x84, 0x3e, 0x86, 0x96, - 0x3c, 0x23, 0x85, 0xae, 0x49, 0x29, 0x9f, 0x19, 0x44, 0x32, 0x3d, 0x4f, 0x95, 0x90, 0x24, 0x34, - 0x83, 0xca, 0x33, 0x9e, 0xbf, 0x0d, 0x31, 0xcb, 0xd6, 0x75, 0x27, 0x27, 0xa7, 0x36, 0x14, 0x80, - 0xea, 0xdc, 0x86, 0x02, 0x8b, 0x09, 0x1b, 0xfd, 0x28, 0x58, 0x84, 0x83, 0x13, 0xf3, 0x1e, 0xeb, - 0x48, 0x9a, 0x54, 0x8f, 0x17, 0x7e, 0x84, 0xdd, 0x49, 0x8f, 0x06, 0x9d, 0xb9, 0xc1, 0x16, 0x96, - 0x45, 0x34, 0x4e, 0x4f, 0x22, 0xf7, 0x32, 0x7e, 0x8e, 0xdf, 0xc4, 0xcf, 0xbd, 0x39, 0x36, 0x37, - 0x3b, 0xc6, 0x41, 0xd5, 0x51, 0x85, 0x94, 0x61, 0x03, 0x32, 0xf4, 0x7c, 0x1f, 0x4f, 0xcc, 0xad, - 0x8e, 0x71, 0xb0, 0xe9, 0xa4, 0x6d, 0x64, 0xc3, 0xf6, 0x71, 0x1c, 0xbb, 0xe3, 0x2b, 0x3c, 0x61, - 0xd4, 0x05, 0x06, 0x41, 0x91, 0xd1, 0x5d, 0x06, 0x64, 0x18, 0x79, 0xaf, 0xdc, 0x18, 0xf7, 0xae, - 0xdc, 0xd8, 0x6c, 0xb0, 0x45, 0x54, 0x21, 0x45, 0xcb, 0x80, 0x1f, 0xc7, 0xcc, 0x0c, 0xdb, 0x1c, - 0xad, 0x24, 0xa2, 0x7b, 0x0d, 0xc8, 0x59, 0x10, 0x0f, 0x7c, 0x26, 0x35, 0x9b, 0x6c, 0x19, 0x45, - 0x86, 0x5a, 0x50, 0x39, 0x7d, 0x63, 0xb6, 0x18, 0x8a, 0xca, 0xe9, 0x1b, 0xfb, 0x2f, 0x06, 0xa0, - 0x11, 0x8e, 0x65, 0x6b, 0x52, 0x42, 0x7e, 0x4f, 0x75, 0xb9, 0xe0, 0x09, 0x4a, 0x78, 0x22, 0x0d, - 0x56, 0xa9, 0xf1, 0x08, 0xda, 0x7e, 0x10, 0x7b, 0x97, 0xde, 0x38, 0x73, 0x58, 0x85, 0x3b, 0x4c, - 0x97, 0xaf, 0x91, 0x90, 0xfa, 0x70, 0x3f, 0x87, 0xad, 0x14, 0x85, 0xff, 0x69, 0x40, 0x7b, 0x84, - 0xe3, 0x8c, 0x59, 0x54, 0xc7, 0x77, 0x4a, 0xe3, 0x9c, 0x55, 0x6a, 0xeb, 0x59, 0xa5, 0x9e, 0xb7, - 0xca, 0x29, 0xec, 0x6a, 0xba, 0x94, 0xb2, 0xc9, 0xaf, 0x0c, 0x40, 0xfd, 0xbc, 0xe7, 0xf3, 0x3a, - 0x1b, 0x85, 0x3a, 0x6b, 0xd6, 0xab, 0xe4, 0xad, 0xb7, 0xda, 0xbf, 0x5f, 0xc0, 0xfd, 0xfe, 0x5d, - 0xf8, 0x37, 0x47, 0xd7, 0xca, 0x7a, 0x74, 0xb5, 0x7f, 0x63, 0xe4, 0x10, 0x90, 0xf5, 0xa8, 0x41, - 0xab, 0x1c, 0xc5, 0x20, 0x44, 0x54, 0x47, 0xba, 0x78, 0x0d, 0x33, 0xfc, 0xda, 0x80, 0xbd, 0x3c, - 0x8a, 0x52, 0x86, 0xf8, 0x3e, 0x34, 0x95, 0x65, 0x44, 0x41, 0x53, 0x64, 0x09, 0x75, 0xa0, 0xfd, - 0x73, 0x78, 0xc0, 0xeb, 0xc5, 0x12, 0xc6, 0xd0, 0x54, 0xac, 0xe4, 0x55, 0xfc, 0x9d, 0x01, 0xfb, - 0x85, 0xcb, 0xbf, 0x63, 0x2d, 0xff, 0x61, 0x80, 0xd9, 0x75, 0xe3, 0xf1, 0xd5, 0xa8, 0xc0, 0xeb, - 0xb9, 0x65, 0x8d, 0x35, 0x97, 0x5d, 0x23, 0x18, 0x8a, 0x52, 0x40, 0x75, 0xbd, 0x14, 0x50, 0x2b, - 0x0a, 0x9c, 0xf7, 0x97, 0x68, 0x51, 0xca, 0x9e, 0x26, 0x6c, 0x8c, 0x16, 0xe3, 0x31, 0x26, 0x09, - 0x89, 0x93, 0x26, 0x3d, 0x54, 0xf9, 0x55, 0x85, 0x95, 0x71, 0x5b, 0x8e, 0x68, 0xd9, 0x03, 0x68, - 0x3a, 0x98, 0x78, 0x53, 0x9f, 0xaa, 0x27, 0x2a, 0x18, 0xa6, 0xe9, 0x24, 0xa9, 0x60, 0x78, 0x6b, - 0x0d, 0x6a, 0x74, 0xa1, 0x25, 0x2f, 0x55, 0x2a, 0x97, 0xfd, 0x38, 0xad, 0x94, 0xbb, 0x6f, 0x07, - 0x93, 0xdb, 0xe1, 0xf9, 0xd2, 0x80, 0x1a, 0x1d, 0x4c, 0x8f, 0xd3, 0x61, 0x14, 0x5c, 0x7a, 0x33, - 0x3c, 0xbc, 0x0a, 0xe2, 0x40, 0x2c, 0xa4, 0xc8, 0xe8, 0xd1, 0x7f, 0xe6, 0x8d, 0xaf, 0x7d, 0x77, - 0x8e, 0x93, 0xe2, 0x32, 0x69, 0x4b, 0x10, 0xaa, 0x0a, 0x84, 0x87, 0x00, 0xbd, 0x08, 0xbb, 0x31, - 0x66, 0x15, 0x05, 0xf7, 0xae, 0x24, 0xa1, 0xde, 0x18, 0x90, 0xee, 0x2c, 0x18, 0x5f, 0xb3, 0xec, - 0xbf, 0xe9, 0x24, 0x4d, 0x7b, 0x9c, 0xd6, 0xe7, 0x5c, 0xcd, 0x92, 0x57, 0x3a, 0x76, 0x83, 0x17, - 0x39, 0x12, 0xf8, 0x58, 0x66, 0x7b, 0x26, 0xb7, 0xff, 0x64, 0xc0, 0xae, 0xd8, 0x85, 0x74, 0xdf, - 0x9e, 0xb9, 0x73, 0x2c, 0x2e, 0xa3, 0x54, 0x42, 0x9b, 0xc9, 0x65, 0x34, 0x69, 0xa3, 0x13, 0x80, - 0xa1, 0x3b, 0xf5, 0x7c, 0x39, 0xf7, 0x7e, 0x54, 0x50, 0x9c, 0x3b, 0xf8, 0xf3, 0x05, 0x26, 0x71, - 0x36, 0xd6, 0x91, 0xe6, 0xad, 0x91, 0x27, 0xff, 0xcc, 0x4f, 0x2c, 0x05, 0x19, 0x09, 0x51, 0x07, - 0xea, 0x14, 0x78, 0x12, 0xae, 0xb2, 0x46, 0xbc, 0x03, 0x9d, 0x16, 0x00, 0xfc, 0x7a, 0x21, 0x40, - 0x12, 0x06, 0x3e, 0xc1, 0x4b, 0x10, 0x26, 0x36, 0x58, 0xcc, 0x89, 0x88, 0xdd, 0xb4, 0x6d, 0xff, - 0xcd, 0x80, 0xed, 0xe3, 0x59, 0xcc, 0xe3, 0xfd, 0x56, 0x04, 0xa4, 0x23, 0x86, 0x57, 0x81, 0x8f, - 0xcf, 0x16, 0xf3, 0x97, 0x38, 0x62, 0x3b, 0x55, 0x1d, 0x59, 0xa4, 0xb0, 0xae, 0xa6, 0xb1, 0x6e, - 0x0f, 0xea, 0xa7, 0x73, 0xd7, 0x9b, 0x89, 0xca, 0x81, 0x37, 0xa4, 0x4b, 0xd0, 0x44, 0x54, 0xc1, - 0x69, 0xdb, 0x3e, 0x86, 0xa6, 0x84, 0xbc, 0x0c, 0xa7, 0xec, 0x3f, 0x1a, 0xd0, 0x48, 0x3c, 0x93, - 0x1c, 0x19, 0x92, 0x92, 0x46, 0x5e, 0xc9, 0xbb, 0xe1, 0x8c, 0xcc, 0xca, 0xaa, 0xca, 0x4a, 0xfb, - 0xef, 0x06, 0x6c, 0x67, 0x98, 0x6e, 0x19, 0x2a, 0xd5, 0xa2, 0x50, 0xd1, 0x78, 0x55, 0xbd, 0x0b, - 0x5e, 0xd5, 0x34, 0x5e, 0x7d, 0x69, 0x00, 0x1c, 0x4f, 0x26, 0x09, 0xab, 0x56, 0x1b, 0x56, 0x63, - 0x8f, 0xe0, 0x97, 0xcc, 0x9e, 0x65, 0x79, 0x09, 0x41, 0x4d, 0x62, 0x14, 0xfb, 0xad, 0xf0, 0xa6, - 0xae, 0xf1, 0xe6, 0x53, 0x68, 0xa4, 0xc8, 0x4a, 0xb1, 0xe6, 0x0f, 0x06, 0x6c, 0xb3, 0xc4, 0xb6, - 0x2a, 0x66, 0x3e, 0x86, 0xd6, 0xa9, 0x3f, 0x39, 0xf1, 0x88, 0xfb, 0x72, 0xc6, 0xb3, 0xa6, 0xa8, - 0xc3, 0x55, 0xe9, 0xea, 0x14, 0xa2, 0xe8, 0x53, 0xcb, 0xc7, 0x81, 0x84, 0xa6, 0x94, 0x46, 0x97, - 0xd0, 0x7a, 0xe1, 0xaf, 0xa5, 0xd2, 0xea, 0x34, 0x20, 0x43, 0xad, 0x6a, 0x50, 0x7b, 0xb0, 0xa3, - 0xec, 0x53, 0x0a, 0xec, 0x5f, 0x0d, 0xf6, 0x44, 0x98, 0x2e, 0xc3, 0x22, 0x57, 0x8d, 0x4b, 0xe3, - 0x6e, 0x72, 0x79, 0x81, 0x76, 0xb6, 0xe4, 0xfa, 0xb3, 0xc5, 0x5c, 0xe4, 0x53, 0x45, 0x66, 0x7f, - 0x01, 0x5b, 0x69, 0x9b, 0xc6, 0x22, 0xfd, 0x2f, 0x20, 0x29, 0xb1, 0xc8, 0xfa, 0x1f, 0x41, 0xbb, - 0x8b, 0xa7, 0x9e, 0x9f, 0x67, 0x49, 0x4e, 0x5e, 0xc0, 0xa7, 0x6a, 0x11, 0x9f, 0xec, 0x7f, 0xf1, - 0xa3, 0x50, 0xb6, 0x50, 0xa9, 0x3c, 0x72, 0x04, 0x90, 0xad, 0x21, 0xb2, 0xc9, 0x0e, 0x9f, 0x91, - 0x39, 0x51, 0x1a, 0xf2, 0x2e, 0x12, 0xcb, 0x90, 0xdd, 0x7c, 0xd2, 0x3d, 0x93, 0xba, 0x69, 0x1f, - 0x36, 0x68, 0xf3, 0xc2, 0xfb, 0xff, 0x0b, 0xa7, 0x53, 0x76, 0x8b, 0xd1, 0x56, 0x24, 0x21, 0xfa, - 0xa6, 0xe4, 0x46, 0x91, 0xe9, 0x73, 0xca, 0x67, 0x23, 0xec, 0x4b, 0x68, 0x66, 0x4f, 0xef, 0xb7, - 0x83, 0x74, 0x63, 0x0c, 0x75, 0xe5, 0xcf, 0x0b, 0xe5, 0x1c, 0xfb, 0xf8, 0xbf, 0x0d, 0x7e, 0x42, - 0xa0, 0x4f, 0xd2, 0xf3, 0x8f, 0xbd, 0xe8, 0xec, 0xf1, 0x59, 0xea, 0xeb, 0xad, 0xf5, 0x5e, 0x81, - 0x94, 0x84, 0xa8, 0x07, 0x2d, 0xf5, 0x89, 0x11, 0xed, 0x0b, 0x76, 0xeb, 0x8f, 0xa0, 0x96, 0x59, - 0xdc, 0x41, 0x42, 0xf4, 0x0b, 0xd8, 0x5f, 0xf2, 0xea, 0x87, 0x3a, 0x7c, 0xd2, 0xf2, 0xe7, 0x47, - 0xeb, 0xc3, 0x15, 0x23, 0x48, 0x48, 0x15, 0x94, 0x3e, 0x88, 0x24, 0x0a, 0xaa, 0xdf, 0x67, 0x12, - 0x05, 0xf5, 0x2f, 0x27, 0x3f, 0x64, 0x07, 0x71, 0xfa, 0x29, 0x02, 0x65, 0x76, 0x90, 0xbf, 0x77, - 0x58, 0x0f, 0x8a, 0xc4, 0x7c, 0xba, 0xfc, 0x12, 0x9f, 0x4c, 0xd7, 0xbe, 0x3b, 0x24, 0xd3, 0x73, - 0x9f, 0x04, 0x9e, 0xb2, 0xa2, 0x59, 0x79, 0xa5, 0x32, 0xd3, 0x9d, 0xb4, 0xd7, 0x0f, 0xeb, 0xfd, - 0x25, 0x3d, 0x24, 0x44, 0x0e, 0x0b, 0x18, 0xfd, 0x06, 0x8b, 0xbe, 0x22, 0xa3, 0xd6, 0xaf, 0x94, - 0xd6, 0x57, 0x6f, 0xe8, 0x25, 0x21, 0x1a, 0xb0, 0x0c, 0xac, 0x2e, 0x58, 0x0c, 0x81, 0xad, 0x66, - 0x2d, 0xeb, 0x22, 0x21, 0xfa, 0x29, 0xbc, 0x57, 0x78, 0x25, 0x44, 0x0f, 0x45, 0xac, 0x2d, 0xb9, - 0xf5, 0x5a, 0x5f, 0xbb, 0xb1, 0x9f, 0x1b, 0x70, 0x54, 0x6c, 0xc0, 0xd1, 0x52, 0x03, 0x16, 0x3d, - 0xdb, 0x7d, 0x06, 0x4d, 0xe5, 0xdd, 0x0a, 0x3d, 0x48, 0xc7, 0x2a, 0x0f, 0x73, 0xd6, 0x7e, 0xa1, - 0x9c, 0x93, 0x50, 0xba, 0xff, 0x68, 0x51, 0x26, 0x32, 0x98, 0x16, 0x65, 0x69, 0x16, 0xea, 0xa5, - 0x57, 0x44, 0x71, 0x77, 0x48, 0xa2, 0x2c, 0x77, 0xd7, 0xb1, 0xcc, 0xe2, 0x0e, 0x12, 0xa2, 0x27, - 0xec, 0x63, 0x91, 0xb8, 0xab, 0xa2, 0xfb, 0x7c, 0x9c, 0x72, 0x11, 0xb6, 0xf6, 0xf2, 0x42, 0x12, - 0xa2, 0xef, 0xc2, 0x56, 0x5a, 0x63, 0x23, 0xf1, 0xa0, 0x20, 0x5f, 0x17, 0xac, 0xfb, 0x39, 0x19, - 0x09, 0xd1, 0xb7, 0x61, 0x33, 0x01, 0x81, 0x76, 0x55, 0x50, 0x74, 0x0e, 0xd2, 0x45, 0x24, 0x44, - 0x87, 0xb0, 0x21, 0x8a, 0x32, 0x24, 0x52, 0x57, 0x56, 0x3d, 0x5a, 0xbb, 0x9a, 0x84, 0x03, 0xcb, - 0xce, 0x58, 0xa4, 0xa7, 0xe5, 0x0c, 0x98, 0x5a, 0x6c, 0x7c, 0x02, 0x0d, 0xa9, 0xfe, 0x48, 0x1c, - 0xa1, 0x96, 0x3e, 0x89, 0x23, 0xf4, 0x42, 0xe5, 0x33, 0x68, 0x2a, 0x67, 0x2a, 0xca, 0xe2, 0x5e, - 0x29, 0x45, 0xac, 0xfd, 0x42, 0x79, 0x1a, 0x35, 0xca, 0x41, 0x23, 0x45, 0x8d, 0x7e, 0xa4, 0x49, - 0x51, 0x93, 0x3f, 0x9b, 0x9e, 0x00, 0x64, 0xd9, 0x2a, 0x71, 0xa8, 0x72, 0xfc, 0x58, 0x7b, 0x79, - 0x21, 0x09, 0xbb, 0xcd, 0x9f, 0x35, 0x0e, 0xd9, 0x57, 0xf1, 0x1f, 0xd0, 0x3f, 0x2f, 0xef, 0xb1, - 0x4f, 0xde, 0xdf, 0xf9, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x35, 0x77, 0x7a, 0xcc, 0x2e, 0x1f, - 0x00, 0x00, + 0x34, 0x5d, 0xbe, 0x38, 0x1f, 0x28, 0xe0, 0xab, 0x42, 0xdb, 0x87, 0x56, 0x1f, 0xc7, 0xcc, 0x20, + 0xfe, 0x65, 0x40, 0x6d, 0x7b, 0x1f, 0x60, 0xa1, 0x9b, 0x55, 0x92, 0xdc, 0xd2, 0xa2, 0xbf, 0x33, + 0x18, 0x09, 0xb3, 0x0f, 0x96, 0x32, 0xe8, 0xa7, 0xb0, 0x9d, 0xac, 0xc0, 0xb4, 0xac, 0x32, 0x93, + 0x7e, 0x70, 0x48, 0x70, 0xf4, 0x02, 0x47, 0x17, 0x6e, 0xe8, 0x5d, 0x84, 0x6e, 0xe4, 0xce, 0xc9, + 0x61, 0xfa, 0x21, 0x65, 0x82, 0xfd, 0x07, 0x03, 0x76, 0x9f, 0x85, 0x13, 0x57, 0x84, 0xb3, 0x80, + 0xfe, 0x08, 0x36, 0x93, 0xa6, 0x50, 0xe3, 0xc6, 0x25, 0xd3, 0xc1, 0xab, 0x6c, 0x12, 0xe4, 0x6d, + 0x22, 0x87, 0xd1, 0x63, 0x40, 0xba, 0x2e, 0x65, 0xac, 0x62, 0x7f, 0x69, 0x80, 0x35, 0xc2, 0x71, + 0x7f, 0x16, 0x3c, 0x77, 0x67, 0x0e, 0x1e, 0xbf, 0x78, 0x82, 0x09, 0x71, 0xa7, 0xf8, 0x3c, 0x8c, + 0x29, 0xba, 0x65, 0x44, 0x59, 0x19, 0xe7, 0x34, 0xc9, 0x4c, 0xb3, 0x45, 0xc9, 0xf4, 0x3c, 0x8c, + 0x19, 0x8e, 0xba, 0x93, 0x93, 0xdb, 0xe7, 0xf0, 0xc1, 0x52, 0x1d, 0x4a, 0xa1, 0xfa, 0x4f, 0x15, + 0xb6, 0x7b, 0x81, 0xff, 0x02, 0x47, 0x84, 0xe9, 0xc3, 0x48, 0xf6, 0xd2, 0xc7, 0x91, 0x92, 0xb6, + 0x64, 0x11, 0xfa, 0x18, 0x5a, 0xf2, 0x8c, 0x14, 0x94, 0x26, 0xa5, 0x54, 0xcf, 0x21, 0x92, 0x24, + 0x14, 0xb7, 0x3c, 0xe3, 0xe9, 0xeb, 0x10, 0xb3, 0x44, 0x5e, 0x77, 0x72, 0x72, 0x6a, 0x5d, 0xa1, + 0x50, 0x9d, 0x5b, 0x57, 0xe8, 0x62, 0xc2, 0x46, 0x3f, 0x0a, 0x16, 0xe1, 0xe0, 0xc4, 0xbc, 0xc3, + 0x3a, 0x92, 0x26, 0xc5, 0xf1, 0xcc, 0x8f, 0xb0, 0x3b, 0xe9, 0xd1, 0x78, 0x34, 0x37, 0xd8, 0xc2, + 0xb2, 0x88, 0x86, 0xf0, 0x49, 0xe4, 0x5e, 0xc6, 0x4f, 0xf1, 0xab, 0xf8, 0xa9, 0x37, 0xc7, 0xe6, + 0x66, 0xc7, 0x38, 0xa8, 0x3a, 0xaa, 0x90, 0x92, 0x6f, 0x40, 0x86, 0x9e, 0xef, 0xe3, 0x89, 0xb9, + 0xd5, 0x31, 0x0e, 0x36, 0x9d, 0xb4, 0x8d, 0x6c, 0xd8, 0x3e, 0x8e, 0x63, 0x77, 0x7c, 0x85, 0x27, + 0x8c, 0xd5, 0xc0, 0x54, 0x50, 0x64, 0xf4, 0x2b, 0x03, 0x32, 0x8c, 0xbc, 0x17, 0x6e, 0x8c, 0x7b, + 0x57, 0x6e, 0x6c, 0x36, 0xd8, 0x22, 0xaa, 0x90, 0x6a, 0xcb, 0x14, 0x3f, 0x8e, 0x99, 0x19, 0xb6, + 0xb9, 0xb6, 0x92, 0x88, 0x7e, 0x6b, 0x40, 0xce, 0x82, 0x78, 0xe0, 0x33, 0xa9, 0xd9, 0x64, 0xcb, + 0x28, 0x32, 0xd4, 0x82, 0xca, 0xe9, 0x2b, 0xb3, 0xc5, 0xb4, 0xa8, 0x9c, 0xbe, 0xb2, 0xff, 0x6a, + 0x00, 0x1a, 0xe1, 0x58, 0xb6, 0x26, 0xa5, 0xea, 0x0f, 0x54, 0x97, 0x0b, 0x9e, 0xa0, 0x84, 0x27, + 0xd2, 0x60, 0x95, 0x1a, 0x0f, 0xa0, 0xed, 0x07, 0xb1, 0x77, 0xe9, 0x8d, 0x33, 0x87, 0x55, 0xb8, + 0xc3, 0x74, 0xf9, 0x1a, 0xb9, 0xaa, 0x0f, 0x77, 0x73, 0xba, 0x95, 0xa2, 0xf0, 0xbf, 0x0c, 0x68, + 0x8f, 0x70, 0x9c, 0x31, 0x8b, 0x62, 0x7c, 0xa7, 0x34, 0xce, 0x59, 0xa5, 0xb6, 0x9e, 0x55, 0xea, + 0x79, 0xab, 0x9c, 0xc2, 0xae, 0x86, 0xa5, 0x94, 0x4d, 0x7e, 0x63, 0x00, 0xea, 0xe7, 0x3d, 0x9f, + 0xc7, 0x6c, 0x14, 0x62, 0xd6, 0xac, 0x57, 0xc9, 0x5b, 0x6f, 0xb5, 0x7f, 0xbf, 0x80, 0xbb, 0xfd, + 0xb7, 0xe1, 0xdf, 0x1c, 0x5d, 0x2b, 0xeb, 0xd1, 0xd5, 0xfe, 0xad, 0x91, 0xd3, 0x80, 0xac, 0x47, + 0x0d, 0x5a, 0x00, 0x29, 0x06, 0x21, 0xa2, 0x70, 0xd2, 0xc5, 0x6b, 0x98, 0xe1, 0x4b, 0x03, 0xf6, + 0xf2, 0x5a, 0x94, 0x32, 0xc4, 0x0f, 0xa1, 0xa9, 0x2c, 0x23, 0x6a, 0x9d, 0x22, 0x4b, 0xa8, 0x03, + 0xed, 0x5f, 0xc2, 0x3d, 0x5e, 0x4a, 0x96, 0x30, 0x86, 0x06, 0xb1, 0x92, 0x87, 0xf8, 0x7b, 0x03, + 0xf6, 0x0b, 0x97, 0x7f, 0xc7, 0x28, 0xff, 0x69, 0x80, 0xd9, 0x75, 0xe3, 0xf1, 0xd5, 0xa8, 0xc0, + 0xeb, 0xb9, 0x65, 0x8d, 0x35, 0x97, 0x5d, 0x23, 0x18, 0x8a, 0x52, 0x40, 0x75, 0xbd, 0x14, 0x50, + 0x2b, 0x0a, 0x9c, 0xf7, 0x97, 0xa0, 0x28, 0x65, 0x4f, 0x13, 0x36, 0x46, 0x8b, 0xf1, 0x18, 0x93, + 0x84, 0xc4, 0x49, 0x93, 0x6e, 0xaa, 0xfc, 0x14, 0xc3, 0x2a, 0xbc, 0x2d, 0x47, 0xb4, 0xec, 0x01, + 0x34, 0x1d, 0x4c, 0xbc, 0xa9, 0x4f, 0xe1, 0x89, 0xda, 0x86, 0x21, 0x9d, 0x24, 0xb5, 0x0d, 0x6f, + 0xad, 0x41, 0x8d, 0x2e, 0xb4, 0xe4, 0xa5, 0x4a, 0xe5, 0xb2, 0x9f, 0xa6, 0x45, 0x74, 0xf7, 0xf5, + 0x60, 0x72, 0x3b, 0x7d, 0xde, 0x18, 0x50, 0xa3, 0x83, 0xe9, 0x76, 0x3a, 0x8c, 0x82, 0x4b, 0x6f, + 0x86, 0x87, 0x57, 0x41, 0x1c, 0x88, 0x85, 0x14, 0x19, 0xdd, 0xfa, 0xcf, 0xbc, 0xf1, 0xb5, 0xef, + 0xce, 0x71, 0x52, 0x77, 0x26, 0x6d, 0x49, 0x85, 0xaa, 0xa2, 0xc2, 0x7d, 0x80, 0x5e, 0x84, 0xdd, + 0x18, 0xb3, 0x8a, 0x82, 0x7b, 0x57, 0x92, 0x50, 0x6f, 0x0c, 0x48, 0x77, 0x16, 0x8c, 0xaf, 0x59, + 0xf6, 0xdf, 0x74, 0x92, 0xa6, 0x3d, 0x4e, 0x4b, 0x77, 0x0e, 0xb3, 0xe4, 0x69, 0x8f, 0x1d, 0xee, + 0x45, 0x8e, 0x04, 0x3e, 0x96, 0xd9, 0x9e, 0xc9, 0xed, 0x3f, 0x1b, 0xb0, 0x2b, 0xbe, 0x42, 0xba, + 0xaf, 0xcf, 0xdc, 0x39, 0x16, 0xe7, 0x54, 0x2a, 0xa1, 0xcd, 0xe4, 0x9c, 0x9a, 0xb4, 0xd1, 0x09, + 0xc0, 0xd0, 0x9d, 0x7a, 0xbe, 0x9c, 0x7b, 0x3f, 0x2a, 0xa8, 0xdb, 0x1d, 0xfc, 0xf9, 0x02, 0x93, + 0x38, 0x1b, 0xeb, 0x48, 0xf3, 0xd6, 0xc8, 0x93, 0x7f, 0xe1, 0x3b, 0x96, 0xa2, 0x19, 0x09, 0x51, + 0x07, 0xea, 0x54, 0xf1, 0x24, 0x5c, 0x65, 0x44, 0xbc, 0x03, 0x9d, 0x16, 0x28, 0xf8, 0xcd, 0x42, + 0x05, 0x49, 0x18, 0xf8, 0x04, 0x2f, 0xd1, 0x30, 0xb1, 0xc1, 0x62, 0x4e, 0x44, 0xec, 0xa6, 0x6d, + 0xfb, 0xef, 0x06, 0x6c, 0x1f, 0xcf, 0x62, 0x1e, 0xef, 0xb7, 0x22, 0x20, 0x1d, 0x31, 0xbc, 0x0a, + 0x7c, 0x7c, 0xb6, 0x98, 0x3f, 0xc7, 0x11, 0xfb, 0x52, 0xd5, 0x91, 0x45, 0x0a, 0xeb, 0x6a, 0x1a, + 0xeb, 0xf6, 0xa0, 0x7e, 0x3a, 0x77, 0xbd, 0x99, 0xa8, 0x1c, 0x78, 0x43, 0x3a, 0x1f, 0x4d, 0x44, + 0x15, 0x9c, 0xb6, 0xed, 0x63, 0x68, 0x4a, 0x9a, 0x97, 0xe1, 0x94, 0xfd, 0x27, 0x03, 0x1a, 0x89, + 0x67, 0x92, 0x2d, 0x43, 0x02, 0x69, 0xe4, 0x41, 0xbe, 0x1d, 0xce, 0xc8, 0xac, 0xac, 0xaa, 0xac, + 0xb4, 0xff, 0x61, 0xc0, 0x76, 0xa6, 0xd3, 0x2d, 0x43, 0xa5, 0x5a, 0x14, 0x2a, 0x1a, 0xaf, 0xaa, + 0x6f, 0x83, 0x57, 0x35, 0x8d, 0x57, 0x6f, 0x0c, 0x80, 0xe3, 0xc9, 0x24, 0x61, 0xd5, 0x6a, 0xc3, + 0x6a, 0xec, 0x11, 0xfc, 0x92, 0xd9, 0xb3, 0x2c, 0x2f, 0x21, 0xa8, 0x49, 0x8c, 0x62, 0xbf, 0x15, + 0xde, 0xd4, 0x35, 0xde, 0x7c, 0x0a, 0x8d, 0x54, 0xb3, 0x52, 0xac, 0xf9, 0xa3, 0x01, 0xdb, 0x2c, + 0xb1, 0xad, 0x8a, 0x99, 0x8f, 0xa1, 0x75, 0xea, 0x4f, 0x4e, 0x3c, 0xe2, 0x3e, 0x9f, 0xf1, 0xac, + 0x29, 0xea, 0x70, 0x55, 0xba, 0x3a, 0x85, 0x28, 0x78, 0x6a, 0xf9, 0x38, 0x90, 0xb4, 0x29, 0x85, + 0xe8, 0x12, 0x5a, 0xcf, 0xfc, 0xb5, 0x20, 0xad, 0x4e, 0x03, 0xb2, 0xaa, 0x55, 0x4d, 0xd5, 0x1e, + 0xec, 0x28, 0xdf, 0x29, 0xa5, 0xec, 0xdf, 0x0c, 0x76, 0x7b, 0x98, 0x2e, 0xc3, 0x22, 0x57, 0x8d, + 0x4b, 0xe3, 0xed, 0xe4, 0xf2, 0x02, 0x74, 0xb6, 0xe4, 0xfa, 0xb3, 0xc5, 0x5c, 0xe4, 0x53, 0x45, + 0x66, 0x7f, 0x01, 0x5b, 0x69, 0x9b, 0xc6, 0x22, 0xfd, 0x2f, 0x54, 0x52, 0x62, 0x91, 0xf5, 0x3f, + 0x80, 0x76, 0x17, 0x4f, 0x3d, 0x3f, 0xcf, 0x92, 0x9c, 0xbc, 0x80, 0x4f, 0xd5, 0x22, 0x3e, 0xd9, + 0xff, 0xe6, 0x5b, 0xa1, 0x6c, 0xa1, 0x52, 0x79, 0xe4, 0x08, 0x20, 0x5b, 0x43, 0x64, 0x93, 0x1d, + 0x3e, 0x23, 0x73, 0xa2, 0x34, 0xe4, 0x5d, 0x24, 0x96, 0x21, 0x3b, 0xf9, 0xa4, 0xdf, 0x4c, 0xea, + 0xa6, 0x7d, 0xd8, 0xa0, 0xcd, 0x0b, 0xef, 0xab, 0x17, 0x4e, 0xa7, 0xec, 0x14, 0xa3, 0xad, 0x48, + 0x42, 0xf4, 0x6d, 0xc9, 0x8d, 0x22, 0xd3, 0xe7, 0xc0, 0x67, 0x23, 0xec, 0x4b, 0x68, 0x66, 0xb7, + 0xf2, 0xb7, 0x53, 0xe9, 0xc6, 0x18, 0xea, 0xca, 0x2f, 0x0f, 0xe5, 0x1c, 0xfb, 0xf0, 0x7f, 0x0d, + 0xbe, 0x43, 0xa0, 0x4f, 0xd2, 0xfd, 0x8f, 0xdd, 0xe8, 0xec, 0xf1, 0x59, 0xea, 0xc5, 0xae, 0xf5, + 0x5e, 0x81, 0x94, 0x84, 0xa8, 0x07, 0x2d, 0xf5, 0xf6, 0x11, 0xed, 0x0b, 0x76, 0xeb, 0xf7, 0xa3, + 0x96, 0x59, 0xdc, 0x41, 0x42, 0xf4, 0x2b, 0xd8, 0x5f, 0x72, 0xeb, 0x87, 0x3a, 0x7c, 0xd2, 0xf2, + 0x8b, 0x49, 0xeb, 0xc3, 0x15, 0x23, 0x48, 0x48, 0x01, 0x4a, 0x6f, 0x25, 0x09, 0x40, 0xf5, 0xe9, + 0x26, 0x01, 0xa8, 0x3f, 0xaa, 0xfc, 0x98, 0x6d, 0xc4, 0xe9, 0x2b, 0x05, 0xca, 0xec, 0x20, 0x3f, + 0x85, 0x58, 0xf7, 0x8a, 0xc4, 0x7c, 0xba, 0x7c, 0x49, 0x9f, 0x4c, 0xd7, 0x9e, 0x24, 0x92, 0xe9, + 0xb9, 0xd7, 0x82, 0xc7, 0xac, 0x68, 0x56, 0x6e, 0xa9, 0xcc, 0xf4, 0x4b, 0xda, 0xed, 0x87, 0xf5, + 0xfe, 0x92, 0x1e, 0x12, 0x22, 0x87, 0x05, 0x8c, 0x7e, 0x82, 0x45, 0x5f, 0x93, 0xb5, 0xd6, 0x8f, + 0x94, 0xd6, 0xd7, 0x6f, 0xe8, 0x25, 0x21, 0x1a, 0xb0, 0x0c, 0xac, 0x2e, 0x58, 0xac, 0x02, 0x5b, + 0xcd, 0x5a, 0xd6, 0x45, 0x42, 0xf4, 0x73, 0x78, 0xaf, 0xf0, 0x48, 0x88, 0xee, 0x8b, 0x58, 0x5b, + 0x72, 0xea, 0xb5, 0xbe, 0x71, 0x63, 0x3f, 0x37, 0xe0, 0xa8, 0xd8, 0x80, 0xa3, 0xa5, 0x06, 0x2c, + 0xba, 0xb6, 0xfb, 0x0c, 0x9a, 0xca, 0xbd, 0x15, 0xba, 0x97, 0x8e, 0x55, 0x2e, 0xe6, 0xac, 0xfd, + 0x42, 0x39, 0x27, 0xa1, 0x74, 0xfe, 0xd1, 0xa2, 0x4c, 0x64, 0x30, 0x2d, 0xca, 0xd2, 0x2c, 0xd4, + 0x4b, 0x8f, 0x88, 0xe2, 0xec, 0x90, 0x44, 0x59, 0xee, 0xac, 0x63, 0x99, 0xc5, 0x1d, 0x24, 0x44, + 0x8f, 0xd8, 0x3b, 0x92, 0x38, 0xab, 0xa2, 0xbb, 0x7c, 0x9c, 0x72, 0x10, 0xb6, 0xf6, 0xf2, 0x42, + 0x12, 0xa2, 0xef, 0xc3, 0x56, 0x5a, 0x63, 0x23, 0x71, 0xa1, 0x20, 0x1f, 0x17, 0xac, 0xbb, 0x39, + 0x19, 0x09, 0xd1, 0x77, 0x61, 0x33, 0x51, 0x02, 0xed, 0xaa, 0x4a, 0xd1, 0x39, 0x48, 0x17, 0x91, + 0x10, 0x1d, 0xc2, 0x86, 0x28, 0xca, 0x90, 0x48, 0x5d, 0x59, 0xf5, 0x68, 0xed, 0x6a, 0x12, 0xae, + 0x58, 0xb6, 0xc7, 0x22, 0x3d, 0x2d, 0x67, 0x8a, 0xa9, 0xc5, 0xc6, 0x27, 0xd0, 0x90, 0xea, 0x8f, + 0xc4, 0x11, 0x6a, 0xe9, 0x93, 0x38, 0x42, 0x2f, 0x54, 0x3e, 0x83, 0xa6, 0xb2, 0xa7, 0xa2, 0x2c, + 0xee, 0x95, 0x52, 0xc4, 0xda, 0x2f, 0x94, 0xa7, 0x51, 0xa3, 0x6c, 0x34, 0x52, 0xd4, 0xe8, 0x5b, + 0x9a, 0x14, 0x35, 0xf9, 0xbd, 0xe9, 0x11, 0x40, 0x96, 0xad, 0x12, 0x87, 0x2a, 0xdb, 0x8f, 0xb5, + 0x97, 0x17, 0x92, 0xb0, 0xdb, 0xfc, 0x45, 0xe3, 0x90, 0x3d, 0x98, 0xff, 0x88, 0xfe, 0x79, 0x7e, + 0x87, 0xbd, 0x86, 0x7f, 0xef, 0xff, 0x01, 0x00, 0x00, 0xff, 0xff, 0x32, 0x71, 0xc8, 0xa6, 0x49, + 0x1f, 0x00, 0x00, } From 20851f2a966859b45c12805c5e49181e1b0e93fb Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Thu, 16 Jun 2022 19:26:09 +0800 Subject: [PATCH 06/12] fix bug --- internal/api/user/user.go | 4 ---- internal/rpc/user/user.go | 25 +++++-------------------- pkg/base_info/public_struct.go | 17 ++++++++--------- 3 files changed, 13 insertions(+), 33 deletions(-) diff --git a/internal/api/user/user.go b/internal/api/user/user.go index f3cc8bdf7..af93416b4 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -15,7 +15,6 @@ import ( "Open_IM/pkg/utils" "context" "github.com/gin-gonic/gin" - "github.com/golang/protobuf/ptypes/wrappers" "net/http" "strings" ) @@ -216,9 +215,6 @@ func UpdateUserInfo(c *gin.Context) { return } log.NewInfo(params.OperationID, "UpdateUserInfo args ", req.String()) - if params.GlobalRecvMsgOpt != nil { - req.GlobalRecvMsgOpt = &wrappers.Int32Value{Value: *params.GlobalRecvMsgOpt} - } etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, req.OperationID) if etcdConn == nil { errMsg := req.OperationID + "getcdv3.GetConn == nil" diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index b38dfa57d..86bd07c5b 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -383,26 +383,11 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI if req.UserInfo.Birth != 0 { user.Birth = utils.UnixSecondToTime(int64(req.UserInfo.Birth)) } - m := make(map[string]interface{}, 1) - if req.GlobalRecvMsgOpt != nil { - log.NewDebug(req.OperationID, utils.GetSelfFuncName(), req.GlobalRecvMsgOpt, "set GlobalRecvMsgOpt") - m["global_recv_msg_opt"] = req.GlobalRecvMsgOpt.Value - err := db.DB.SetUserGlobalMsgRecvOpt(user.UserID, req.GlobalRecvMsgOpt.Value) - if err != nil { - log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetUserGlobalMsgRecvOpt failed ", err.Error(), user) - return &pbUser.UpdateUserInfoResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil - } - err = imdb.UpdateUserInfoByMap(user, m) - if err != nil { - log.NewError(req.OperationID, "UpdateUserInfo failed ", err.Error(), user) - return &pbUser.UpdateUserInfoResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil - } - } else { - err := imdb.UpdateUserInfo(user) - if err != nil { - log.NewError(req.OperationID, "UpdateUserInfo failed ", err.Error(), user) - return &pbUser.UpdateUserInfoResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil - } + + err := imdb.UpdateUserInfo(user) + if err != nil { + log.NewError(req.OperationID, "UpdateUserInfo failed ", err.Error(), user) + return &pbUser.UpdateUserInfoResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil } etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImFriendName, req.OperationID) if etcdConn == nil { diff --git a/pkg/base_info/public_struct.go b/pkg/base_info/public_struct.go index 89e2be936..2950dbea8 100644 --- a/pkg/base_info/public_struct.go +++ b/pkg/base_info/public_struct.go @@ -6,15 +6,14 @@ import ( ) type ApiUserInfo struct { - UserID string `json:"userID" binding:"required,min=1,max=64"` - Nickname string `json:"nickname" binding:"omitempty,min=1,max=64"` - FaceURL string `json:"faceURL" binding:"omitempty,max=1024"` - Gender int32 `json:"gender" binding:"omitempty,oneof=0 1 2"` - PhoneNumber string `json:"phoneNumber" binding:"omitempty,max=32"` - Birth uint32 `json:"birth" binding:"omitempty"` - Email string `json:"email" binding:"omitempty,max=64"` - GlobalRecvMsgOpt *int32 `json:"globalRecvMsgOpt" binding:"omitempty,oneof=0 1 2"` - Ex string `json:"ex" binding:"omitempty,max=1024"` + UserID string `json:"userID" binding:"required,min=1,max=64"` + Nickname string `json:"nickname" binding:"omitempty,min=1,max=64"` + FaceURL string `json:"faceURL" binding:"omitempty,max=1024"` + Gender int32 `json:"gender" binding:"omitempty,oneof=0 1 2"` + PhoneNumber string `json:"phoneNumber" binding:"omitempty,max=32"` + Birth uint32 `json:"birth" binding:"omitempty"` + Email string `json:"email" binding:"omitempty,max=64"` + Ex string `json:"ex" binding:"omitempty,max=1024"` } //type Conversation struct { From 29dbb369613dd397ff8847e607bd4d9c44b0cf90 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 16 Jun 2022 19:33:35 +0800 Subject: [PATCH 07/12] user proto modify --- cmd/open_im_api/main.go | 3 ++- internal/api/user/user.go | 38 ++++++++++++++++++++++++++++++++ internal/rpc/user/user.go | 21 ++++++++++++++++++ pkg/base_info/user_api_struct.go | 8 ++++++- script/start_all.sh | 2 +- 5 files changed, 69 insertions(+), 3 deletions(-) diff --git a/cmd/open_im_api/main.go b/cmd/open_im_api/main.go index e8cf2e799..8b3818aa8 100644 --- a/cmd/open_im_api/main.go +++ b/cmd/open_im_api/main.go @@ -38,7 +38,8 @@ func main() { // user routing group, which handles user registration and login services userRouterGroup := r.Group("/user") { - userRouterGroup.POST("/update_user_info", user.UpdateUserInfo) //1 + userRouterGroup.POST("/update_user_info", user.UpdateUserInfo) //1 + userRouterGroup.POST("/set_global_msg_recv_opt", user.SetGlobalRecvMessageOpt) userRouterGroup.POST("/get_users_info", user.GetUsersInfo) //1 userRouterGroup.POST("/get_self_user_info", user.GetSelfUserInfo) //1 userRouterGroup.POST("/get_users_online_status", user.GetUsersOnlineStatus) //1 diff --git a/internal/api/user/user.go b/internal/api/user/user.go index af93416b4..ac40059d3 100644 --- a/internal/api/user/user.go +++ b/internal/api/user/user.go @@ -233,6 +233,44 @@ func UpdateUserInfo(c *gin.Context) { log.NewInfo(req.OperationID, "UpdateUserInfo api return ", resp) c.JSON(http.StatusOK, resp) } +func SetGlobalRecvMessageOpt(c *gin.Context) { + params := api.SetGlobalRecvMessageOptReq{} + if err := c.BindJSON(¶ms); err != nil { + log.NewError("0", "BindJSON failed ", err.Error()) + c.JSON(http.StatusBadRequest, gin.H{"errCode": 400, "errMsg": err.Error()}) + return + } + req := &rpc.SetGlobalRecvMessageOptReq{} + utils.CopyStructFields(req, ¶ms) + req.OperationID = params.OperationID + var ok bool + var errInfo string + ok, req.UserID, errInfo = token_verify.GetUserIDFromToken(c.Request.Header.Get("token"), req.OperationID) + if !ok { + errMsg := req.OperationID + " " + "GetUserIDFromToken failed " + errInfo + " token:" + c.Request.Header.Get("token") + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + log.NewInfo(params.OperationID, "SetGlobalRecvMessageOpt args ", req.String()) + etcdConn := getcdv3.GetConn(config.Config.Etcd.EtcdSchema, strings.Join(config.Config.Etcd.EtcdAddr, ","), config.Config.RpcRegisterName.OpenImUserName, req.OperationID) + if etcdConn == nil { + errMsg := req.OperationID + "getcdv3.GetConn == nil" + log.NewError(req.OperationID, errMsg) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": errMsg}) + return + } + client := rpc.NewUserClient(etcdConn) + RpcResp, err := client.SetGlobalRecvMessageOpt(context.Background(), req) + if err != nil { + log.NewError(req.OperationID, "SetGlobalRecvMessageOpt failed ", err.Error(), req.String()) + c.JSON(http.StatusInternalServerError, gin.H{"errCode": 500, "errMsg": "call rpc server failed"}) + return + } + resp := api.UpdateUserInfoResp{CommResp: api.CommResp{ErrCode: RpcResp.CommonResp.ErrCode, ErrMsg: RpcResp.CommonResp.ErrMsg}} + log.NewInfo(req.OperationID, "SetGlobalRecvMessageOpt api return ", resp) + c.JSON(http.StatusOK, resp) +} func GetSelfUserInfo(c *gin.Context) { params := api.GetSelfUserInfoReq{} diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 86bd07c5b..fa733cbe4 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -433,7 +433,28 @@ func (s *userServer) UpdateUserInfo(ctx context.Context, req *pbUser.UpdateUserI //} return &pbUser.UpdateUserInfoResp{CommonResp: &pbUser.CommonResp{}}, nil } +func (s *userServer) SetGlobalRecvMessageOpt(ctx context.Context, req *pbUser.SetGlobalRecvMessageOptReq) (*pbUser.SetGlobalRecvMessageOptResp, error) { + log.NewInfo(req.OperationID, "SetGlobalRecvMessageOpt args ", req.String()) + var user db.User + user.UserID = req.UserID + m := make(map[string]interface{}, 1) + + log.NewDebug(req.OperationID, utils.GetSelfFuncName(), req.GlobalRecvMsgOpt, "set GlobalRecvMsgOpt") + m["global_recv_msg_opt"] = req.GlobalRecvMsgOpt + err := db.DB.SetUserGlobalMsgRecvOpt(user.UserID, req.GlobalRecvMsgOpt) + if err != nil { + log.NewError(req.OperationID, utils.GetSelfFuncName(), "SetGlobalRecvMessageOpt failed ", err.Error(), user) + return &pbUser.SetGlobalRecvMessageOptResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil + } + err = imdb.UpdateUserInfoByMap(user, m) + if err != nil { + log.NewError(req.OperationID, "SetGlobalRecvMessageOpt failed ", err.Error(), user) + return &pbUser.SetGlobalRecvMessageOptResp{CommonResp: &pbUser.CommonResp{ErrCode: constant.ErrDB.ErrCode, ErrMsg: constant.ErrDB.ErrMsg}}, nil + } + chat.UserInfoUpdatedNotification(req.OperationID, req.UserID, req.UserID) + return &pbUser.SetGlobalRecvMessageOptResp{CommonResp: &pbUser.CommonResp{}}, nil +} func (s *userServer) SyncJoinedGroupMemberFaceURL(userID string, faceURL string, operationID string, opUserID string) { joinedGroupIDList, err := imdb.GetJoinedGroupIDListByUserID(userID) if err != nil { diff --git a/pkg/base_info/user_api_struct.go b/pkg/base_info/user_api_struct.go index b517f24de..45c8cb22d 100644 --- a/pkg/base_info/user_api_struct.go +++ b/pkg/base_info/user_api_struct.go @@ -18,7 +18,13 @@ type UpdateSelfUserInfoReq struct { ApiUserInfo OperationID string `json:"operationID" binding:"required"` } - +type SetGlobalRecvMessageOptReq struct { + OperationID string `json:"operationID" binding:"required"` + GlobalRecvMsgOpt *int32 `json:"globalRecvMsgOpt" binding:"omitempty,oneof=0 1 2"` +} +type SetGlobalRecvMessageOptResp struct { + CommResp +} type UpdateUserInfoResp struct { CommResp } diff --git a/script/start_all.sh b/script/start_all.sh index bf7170d68..9fcbd1c6a 100644 --- a/script/start_all.sh +++ b/script/start_all.sh @@ -5,10 +5,10 @@ #fixme Put the shell script name here need_to_start_server_shell=( start_rpc_service.sh - msg_gateway_start.sh push_start.sh msg_transfer_start.sh sdk_svr_start.sh + msg_gateway_start.sh demo_svr_start.sh ) time=`date +"%Y-%m-%d %H:%M:%S"` From 903c39206ffb04731d24af52538cd56d71e35d9d Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 16 Jun 2022 20:35:27 +0800 Subject: [PATCH 08/12] msg transfer handle change --- config/config.yaml | 2 +- internal/msg_transfer/logic/init.go | 6 +- .../logic/online_history_msg_handler.go | 136 +++++++----------- .../logic/online_msg_to_mongo_handler.go | 79 ++++++++++ pkg/common/config/config.go | 8 +- 5 files changed, 139 insertions(+), 92 deletions(-) create mode 100644 internal/msg_transfer/logic/online_msg_to_mongo_handler.go diff --git a/config/config.yaml b/config/config.yaml index 4d9569d07..3143f3a0b 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -55,8 +55,8 @@ kafka: addr: [ 127.0.0.1:9092 ] #kafka配置,默认即可 topic: "ms2ps_chat" consumergroupid: + msgToRedis: redis msgToMongo: mongo - msgToMongoOffline: mongo_offline msgToMySql: mysql msgToPush: push diff --git a/internal/msg_transfer/logic/init.go b/internal/msg_transfer/logic/init.go index 65457878c..177745c6f 100644 --- a/internal/msg_transfer/logic/init.go +++ b/internal/msg_transfer/logic/init.go @@ -4,7 +4,6 @@ import ( "Open_IM/pkg/common/config" "Open_IM/pkg/common/constant" "Open_IM/pkg/common/kafka" - "Open_IM/pkg/common/log" "Open_IM/pkg/statistics" "fmt" "sync" @@ -20,7 +19,8 @@ const ChannelNum = 100 var ( persistentCH PersistentConsumerHandler - historyCH OnlineHistoryConsumerHandler + historyCH OnlineHistoryRedisConsumerHandler + historyMongoCH OnlineHistoryMongoConsumerHandler producer *kafka.Producer producerToMongo *kafka.Producer cmdCh chan Cmd2Value @@ -39,7 +39,6 @@ func Init() { persistentCH.Init() historyCH.Init(cmdCh) onlineTopicStatus = OnlineTopicVacancy - log.Debug("come msg transfer ts", config.Config.Kafka.ConsumerGroupID.MsgToMongoOffline, config.Config.Kafka.Ws2mschatOffline.Topic) //offlineHistoryCH.Init(cmdCh) statistics.NewStatistics(&singleMsgSuccessCount, config.Config.ModuleName.MsgTransferName, fmt.Sprintf("%d second singleMsgCount insert to mongo", constant.StatisticsTimeInterval), constant.StatisticsTimeInterval) statistics.NewStatistics(&groupMsgCount, config.Config.ModuleName.MsgTransferName, fmt.Sprintf("%d second groupMsgCount insert to mongo", constant.StatisticsTimeInterval), constant.StatisticsTimeInterval) @@ -54,6 +53,7 @@ func Run() { fmt.Println("not start mysql consumer") } go historyCH.historyConsumerGroup.RegisterHandleAndConsumer(&historyCH) + go historyMongoCH.historyConsumerGroup.RegisterHandleAndConsumer(&historyMongoCH) //go offlineHistoryCH.historyConsumerGroup.RegisterHandleAndConsumer(&offlineHistoryCH) } func SetOnlineTopicStatus(status int) { diff --git a/internal/msg_transfer/logic/online_history_msg_handler.go b/internal/msg_transfer/logic/online_history_msg_handler.go index a1544549d..908d28b27 100644 --- a/internal/msg_transfer/logic/online_history_msg_handler.go +++ b/internal/msg_transfer/logic/online_history_msg_handler.go @@ -9,10 +9,8 @@ import ( "Open_IM/pkg/grpc-etcdv3/getcdv3" pbMsg "Open_IM/pkg/proto/chat" pbPush "Open_IM/pkg/proto/push" - server_api_params "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" "context" - "errors" "github.com/Shopify/sarama" "github.com/golang/protobuf/proto" "hash/crc32" @@ -36,28 +34,21 @@ type Cmd2Value struct { Cmd int Value interface{} } -type OnlineHistoryConsumerHandler struct { +type OnlineHistoryRedisConsumerHandler struct { msgHandle map[string]fcb historyConsumerGroup *kfk.MConsumerGroup - cmdCh chan Cmd2Value chArrays [ChannelNum]chan Cmd2Value - chMongoArrays [ChannelNum]chan Cmd2Value msgDistributionCh chan Cmd2Value } -func (och *OnlineHistoryConsumerHandler) Init(cmdCh chan Cmd2Value) { +func (och *OnlineHistoryRedisConsumerHandler) Init(cmdCh chan Cmd2Value) { och.msgHandle = make(map[string]fcb) och.msgDistributionCh = make(chan Cmd2Value) //no buffer channel go och.MessagesDistributionHandle() - och.cmdCh = cmdCh for i := 0; i < ChannelNum; i++ { och.chArrays[i] = make(chan Cmd2Value, 50) go och.Run(i) } - for i := 0; i < ChannelNum; i++ { - och.chMongoArrays[i] = make(chan Cmd2Value, 10000) - go och.MongoMessageRun(i) - } if config.Config.ReliableStorage { och.msgHandle[config.Config.Kafka.Ws2mschat.Topic] = och.handleChatWs2Mongo } else { @@ -66,34 +57,10 @@ func (och *OnlineHistoryConsumerHandler) Init(cmdCh chan Cmd2Value) { } och.historyConsumerGroup = kfk.NewMConsumerGroup(&kfk.MConsumerGroupConfig{KafkaVersion: sarama.V2_0_0_0, OffsetsInitial: sarama.OffsetNewest, IsReturnErr: false}, []string{config.Config.Kafka.Ws2mschat.Topic}, - config.Config.Kafka.Ws2mschat.Addr, config.Config.Kafka.ConsumerGroupID.MsgToMongo) + config.Config.Kafka.Ws2mschat.Addr, config.Config.Kafka.ConsumerGroupID.MsgToRedis) } -func (och *OnlineHistoryConsumerHandler) TriggerCmd(status int) { - operationID := utils.OperationIDGenerator() - err := sendCmd(och.cmdCh, Cmd2Value{Cmd: status, Value: ""}, 1) - if err != nil { - log.Error(operationID, "TriggerCmd failed ", err.Error(), status) - return - } - log.Debug(operationID, "TriggerCmd success", status) - -} -func sendCmd(ch chan Cmd2Value, value Cmd2Value, timeout int64) error { - var flag = 0 - select { - case ch <- value: - flag = 1 - case <-time.After(time.Second * time.Duration(timeout)): - flag = 2 - } - if flag == 1 { - return nil - } else { - return errors.New("send cmd timeout") - } -} -func (och *OnlineHistoryConsumerHandler) Run(channelID int) { +func (och *OnlineHistoryRedisConsumerHandler) Run(channelID int) { for { select { case cmd := <-och.chArrays[channelID]: @@ -154,7 +121,7 @@ func (och *OnlineHistoryConsumerHandler) Run(channelID int) { } } } -func (och *OnlineHistoryConsumerHandler) SendMessageToMongoCH(aggregationID string, triggerID string, messages []*pbMsg.MsgDataToMQ, lastSeq uint64) { +func (och *OnlineHistoryRedisConsumerHandler) SendMessageToMongoCH(aggregationID string, triggerID string, messages []*pbMsg.MsgDataToMQ, lastSeq uint64) { pid, offset, err := producerToMongo.SendMessage(&pbMsg.MsgDataToMongoByMQ{LastSeq: lastSeq, AggregationID: aggregationID, MessageList: messages, TriggerID: triggerID}, aggregationID, triggerID) if err != nil { log.Error(triggerID, "kafka send failed", "send data", len(messages), "pid", pid, "offset", offset, "err", err.Error(), "key", aggregationID) @@ -167,47 +134,48 @@ func (och *OnlineHistoryConsumerHandler) SendMessageToMongoCH(aggregationID stri ////go func(cID uint32, userID string, messages []*pbMsg.MsgDataToMQ) { //och.chMongoArrays[channelID] <- Cmd2Value{Cmd: MongoMessages, Value: MsgChannelValue{aggregationID: aggregationID, msgList: messages, triggerID: triggerID, lastSeq: lastSeq}} } -func (och *OnlineHistoryConsumerHandler) MongoMessageRun(channelID int) { - for { - select { - case cmd := <-och.chMongoArrays[channelID]: - switch cmd.Cmd { - case MongoMessages: - msgChannelValue := cmd.Value.(MsgChannelValue) - msgList := msgChannelValue.msgList - triggerID := msgChannelValue.triggerID - aggregationID := msgChannelValue.aggregationID - lastSeq := msgChannelValue.lastSeq - err := db.DB.BatchInsertChat2DB(aggregationID, msgList, triggerID, lastSeq) - if err != nil { - log.NewError(triggerID, "single data insert to mongo err", err.Error(), msgList) - } - for _, v := range msgList { - if v.MsgData.ContentType == constant.DeleteMessageNotification { - tips := server_api_params.TipsComm{} - DeleteMessageTips := server_api_params.DeleteMessageTips{} - err := proto.Unmarshal(v.MsgData.Content, &tips) - if err != nil { - log.NewError(triggerID, "tips unmarshal err:", err.Error(), v.String()) - continue - } - err = proto.Unmarshal(tips.Detail, &DeleteMessageTips) - if err != nil { - log.NewError(triggerID, "deleteMessageTips unmarshal err:", err.Error(), v.String()) - continue - } - if unexistSeqList, err := db.DB.DelMsgBySeqList(DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID); err != nil { - log.NewError(v.OperationID, utils.GetSelfFuncName(), "DelMsgBySeqList args: ", DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID, err.Error(), unexistSeqList) - } - } - } - } - } - } -} +//func (och *OnlineHistoryRedisConsumerHandler) MongoMessageRun(channelID int) { +// for { +// select { +// case cmd := <-och.chMongoArrays[channelID]: +// switch cmd.Cmd { +// case MongoMessages: +// msgChannelValue := cmd.Value.(MsgChannelValue) +// msgList := msgChannelValue.msgList +// triggerID := msgChannelValue.triggerID +// aggregationID := msgChannelValue.aggregationID +// lastSeq := msgChannelValue.lastSeq +// err := db.DB.BatchInsertChat2DB(aggregationID, msgList, triggerID, lastSeq) +// if err != nil { +// log.NewError(triggerID, "single data insert to mongo err", err.Error(), msgList) +// } +// for _, v := range msgList { +// if v.MsgData.ContentType == constant.DeleteMessageNotification { +// tips := server_api_params.TipsComm{} +// DeleteMessageTips := server_api_params.DeleteMessageTips{} +// err := proto.Unmarshal(v.MsgData.Content, &tips) +// if err != nil { +// log.NewError(triggerID, "tips unmarshal err:", err.Error(), v.String()) +// continue +// } +// err = proto.Unmarshal(tips.Detail, &DeleteMessageTips) +// if err != nil { +// log.NewError(triggerID, "deleteMessageTips unmarshal err:", err.Error(), v.String()) +// continue +// } +// if unexistSeqList, err := db.DB.DelMsgBySeqList(DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID); err != nil { +// log.NewError(v.OperationID, utils.GetSelfFuncName(), "DelMsgBySeqList args: ", DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID, err.Error(), unexistSeqList) +// } +// +// } +// } +// } +// } +// } +//} -func (och *OnlineHistoryConsumerHandler) MessagesDistributionHandle() { +func (och *OnlineHistoryRedisConsumerHandler) MessagesDistributionHandle() { for { aggregationMsgs := make(map[string][]*pbMsg.MsgDataToMQ, ChannelNum) select { @@ -253,7 +221,7 @@ func (och *OnlineHistoryConsumerHandler) MessagesDistributionHandle() { } } -func (mc *OnlineHistoryConsumerHandler) handleChatWs2Mongo(cMsg *sarama.ConsumerMessage, msgKey string, sess sarama.ConsumerGroupSession) { +func (mc *OnlineHistoryRedisConsumerHandler) handleChatWs2Mongo(cMsg *sarama.ConsumerMessage, msgKey string, sess sarama.ConsumerGroupSession) { msg := cMsg.Value now := time.Now() msgFromMQ := pbMsg.MsgDataToMQ{} @@ -325,7 +293,7 @@ func (mc *OnlineHistoryConsumerHandler) handleChatWs2Mongo(cMsg *sarama.Consumer log.NewDebug(msgFromMQ.OperationID, "msg_transfer handle topic data to database success...", msgFromMQ.String()) } -func (och *OnlineHistoryConsumerHandler) handleChatWs2MongoLowReliability(cMsg *sarama.ConsumerMessage, msgKey string, sess sarama.ConsumerGroupSession) { +func (och *OnlineHistoryRedisConsumerHandler) handleChatWs2MongoLowReliability(cMsg *sarama.ConsumerMessage, msgKey string, sess sarama.ConsumerGroupSession) { msg := cMsg.Value msgFromMQ := pbMsg.MsgDataToMQ{} err := proto.Unmarshal(msg, &msgFromMQ) @@ -365,10 +333,10 @@ func (och *OnlineHistoryConsumerHandler) handleChatWs2MongoLowReliability(cMsg * } } -func (OnlineHistoryConsumerHandler) Setup(_ sarama.ConsumerGroupSession) error { return nil } -func (OnlineHistoryConsumerHandler) Cleanup(_ sarama.ConsumerGroupSession) error { return nil } +func (OnlineHistoryRedisConsumerHandler) Setup(_ sarama.ConsumerGroupSession) error { return nil } +func (OnlineHistoryRedisConsumerHandler) Cleanup(_ sarama.ConsumerGroupSession) error { return nil } -//func (och *OnlineHistoryConsumerHandler) ConsumeClaim(sess sarama.ConsumerGroupSession, +//func (och *OnlineHistoryRedisConsumerHandler) ConsumeClaim(sess sarama.ConsumerGroupSession, // claim sarama.ConsumerGroupClaim) error { // a instance in the consumer group // log.NewDebug("", "online new session msg come", claim.HighWaterMarkOffset(), claim.Topic(), claim.Partition()) // for msg := range claim.Messages() { @@ -385,7 +353,7 @@ func (OnlineHistoryConsumerHandler) Cleanup(_ sarama.ConsumerGroupSession) error // return nil //} -func (och *OnlineHistoryConsumerHandler) ConsumeClaim(sess sarama.ConsumerGroupSession, +func (och *OnlineHistoryRedisConsumerHandler) ConsumeClaim(sess sarama.ConsumerGroupSession, claim sarama.ConsumerGroupClaim) error { // a instance in the consumer group for { @@ -480,7 +448,7 @@ func (och *OnlineHistoryConsumerHandler) ConsumeClaim(sess sarama.ConsumerGroupS return nil } -//func (och *OnlineHistoryConsumerHandler) ConsumeClaim(sess sarama.ConsumerGroupSession, +//func (och *OnlineHistoryRedisConsumerHandler) ConsumeClaim(sess sarama.ConsumerGroupSession, // claim sarama.ConsumerGroupClaim) error { // a instance in the consumer group // // for { diff --git a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go new file mode 100644 index 000000000..1d71b8a1c --- /dev/null +++ b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go @@ -0,0 +1,79 @@ +package logic + +import ( + "Open_IM/pkg/common/config" + "Open_IM/pkg/common/constant" + "Open_IM/pkg/common/db" + kfk "Open_IM/pkg/common/kafka" + "Open_IM/pkg/common/log" + pbMsg "Open_IM/pkg/proto/chat" + server_api_params "Open_IM/pkg/proto/sdk_ws" + "Open_IM/pkg/utils" + "github.com/Shopify/sarama" + "github.com/golang/protobuf/proto" +) + +type OnlineHistoryMongoConsumerHandler struct { + msgHandle map[string]fcb + historyConsumerGroup *kfk.MConsumerGroup +} + +func (och *OnlineHistoryMongoConsumerHandler) Init(cmdCh chan Cmd2Value) { + och.msgHandle = make(map[string]fcb) + och.msgHandle[config.Config.Kafka.MsgToMongo.Topic] = och.handleChatWs2Mongo + och.historyConsumerGroup = kfk.NewMConsumerGroup(&kfk.MConsumerGroupConfig{KafkaVersion: sarama.V2_0_0_0, + OffsetsInitial: sarama.OffsetNewest, IsReturnErr: false}, []string{config.Config.Kafka.MsgToMongo.Topic}, + config.Config.Kafka.Ws2mschat.Addr, config.Config.Kafka.ConsumerGroupID.MsgToMongo) + +} +func (mc *OnlineHistoryMongoConsumerHandler) handleChatWs2Mongo(cMsg *sarama.ConsumerMessage, msgKey string, _ sarama.ConsumerGroupSession) { + msg := cMsg.Value + msgFromMQ := pbMsg.MsgDataToMongoByMQ{} + err := proto.Unmarshal(msg, &msgFromMQ) + if err != nil { + log.Error("msg_transfer Unmarshal msg err", "", "msg", string(msg), "err", err.Error()) + return + } + err = db.DB.BatchInsertChat2DB(msgFromMQ.AggregationID, msgFromMQ.MessageList, msgFromMQ.TriggerID, msgFromMQ.LastSeq) + if err != nil { + log.NewError(msgFromMQ.TriggerID, "single data insert to mongo err", err.Error(), msgFromMQ.MessageList) + } + for _, v := range msgFromMQ.MessageList { + if v.MsgData.ContentType == constant.DeleteMessageNotification { + tips := server_api_params.TipsComm{} + DeleteMessageTips := server_api_params.DeleteMessageTips{} + err := proto.Unmarshal(v.MsgData.Content, &tips) + if err != nil { + log.NewError(msgFromMQ.TriggerID, "tips unmarshal err:", err.Error(), v.String()) + continue + } + err = proto.Unmarshal(tips.Detail, &DeleteMessageTips) + if err != nil { + log.NewError(msgFromMQ.TriggerID, "deleteMessageTips unmarshal err:", err.Error(), v.String()) + continue + } + if unexistSeqList, err := db.DB.DelMsgBySeqList(DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID); err != nil { + log.NewError(v.OperationID, utils.GetSelfFuncName(), "DelMsgBySeqList args: ", DeleteMessageTips.UserID, DeleteMessageTips.SeqList, v.OperationID, err.Error(), unexistSeqList) + } + + } + } +} + +func (OnlineHistoryMongoConsumerHandler) Setup(_ sarama.ConsumerGroupSession) error { return nil } +func (OnlineHistoryMongoConsumerHandler) Cleanup(_ sarama.ConsumerGroupSession) error { return nil } + +func (och *OnlineHistoryMongoConsumerHandler) ConsumeClaim(sess sarama.ConsumerGroupSession, + claim sarama.ConsumerGroupClaim) error { // a instance in the consumer group + log.NewDebug("", "online new session msg come", claim.HighWaterMarkOffset(), claim.Topic(), claim.Partition()) + for msg := range claim.Messages() { + log.NewDebug("", "kafka get info to mongo", "msgTopic", msg.Topic, "msgPartition", msg.Partition, "msg", string(msg.Value), "key", string(msg.Key)) + if len(msg.Value) != 0 { + och.msgHandle[msg.Topic](msg, string(msg.Key), sess) + } else { + log.Error("", "mongo msg get from kafka but is nil", msg.Key) + } + sess.MarkMessage(msg, "") + } + return nil +} diff --git a/pkg/common/config/config.go b/pkg/common/config/config.go index 185236744..de0d1597e 100644 --- a/pkg/common/config/config.go +++ b/pkg/common/config/config.go @@ -213,10 +213,10 @@ type config struct { Topic string `yaml:"topic"` } ConsumerGroupID struct { - MsgToMongo string `yaml:"msgToMongo"` - MsgToMongoOffline string `yaml:"msgToMongoOffline"` - MsgToMySql string `yaml:"msgToMySql"` - MsgToPush string `yaml:"msgToPush"` + MsgToRedis string `yaml:"msgToRedis"` + MsgToMongo string `yaml:"msgToMongo"` + MsgToMySql string `yaml:"msgToMySql"` + MsgToPush string `yaml:"msgToPush"` } } Secret string `yaml:"secret"` From 8e3f090ffeae9b3832916c3062ef0e1cfac62f96 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Thu, 16 Jun 2022 21:15:24 +0800 Subject: [PATCH 09/12] msg transfer handle change --- internal/msg_transfer/logic/init.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/msg_transfer/logic/init.go b/internal/msg_transfer/logic/init.go index 177745c6f..168bfe785 100644 --- a/internal/msg_transfer/logic/init.go +++ b/internal/msg_transfer/logic/init.go @@ -53,7 +53,7 @@ func Run() { fmt.Println("not start mysql consumer") } go historyCH.historyConsumerGroup.RegisterHandleAndConsumer(&historyCH) - go historyMongoCH.historyConsumerGroup.RegisterHandleAndConsumer(&historyMongoCH) + //go historyMongoCH.historyConsumerGroup.RegisterHandleAndConsumer(&historyMongoCH) //go offlineHistoryCH.historyConsumerGroup.RegisterHandleAndConsumer(&offlineHistoryCH) } func SetOnlineTopicStatus(status int) { From d1049b802254c7c2e885ec8a9e6d01ad20b78240 Mon Sep 17 00:00:00 2001 From: wangchuxiao Date: Fri, 17 Jun 2022 10:36:46 +0800 Subject: [PATCH 10/12] fix bug --- pkg/common/db/mysql_model/im_mysql_model/organization_model.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/common/db/mysql_model/im_mysql_model/organization_model.go b/pkg/common/db/mysql_model/im_mysql_model/organization_model.go index 519b1f021..8c6807820 100644 --- a/pkg/common/db/mysql_model/im_mysql_model/organization_model.go +++ b/pkg/common/db/mysql_model/im_mysql_model/organization_model.go @@ -302,6 +302,6 @@ func GetRandomDepartmentID() (string, error) { return "", err } department := &db.Department{} - err = dbConn.Model(department).Where("related_group_id != ? AND parent_id != ?", "", "").Take(department).Error + err = dbConn.Model(department).Order("RAND()").Where("related_group_id != ?", "").First(department).Error return department.DepartmentID, err } From 573937e1e5d240ecddeb1ba037ded028b1e5461f Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 17 Jun 2022 10:37:43 +0800 Subject: [PATCH 11/12] msg transfer handle change --- internal/msg_transfer/logic/init.go | 3 ++- internal/msg_transfer/logic/online_msg_to_mongo_handler.go | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/internal/msg_transfer/logic/init.go b/internal/msg_transfer/logic/init.go index 168bfe785..38d0e5b66 100644 --- a/internal/msg_transfer/logic/init.go +++ b/internal/msg_transfer/logic/init.go @@ -38,6 +38,7 @@ func Init() { w = new(sync.Mutex) persistentCH.Init() historyCH.Init(cmdCh) + historyMongoCH.Init() onlineTopicStatus = OnlineTopicVacancy //offlineHistoryCH.Init(cmdCh) statistics.NewStatistics(&singleMsgSuccessCount, config.Config.ModuleName.MsgTransferName, fmt.Sprintf("%d second singleMsgCount insert to mongo", constant.StatisticsTimeInterval), constant.StatisticsTimeInterval) @@ -53,7 +54,7 @@ func Run() { fmt.Println("not start mysql consumer") } go historyCH.historyConsumerGroup.RegisterHandleAndConsumer(&historyCH) - //go historyMongoCH.historyConsumerGroup.RegisterHandleAndConsumer(&historyMongoCH) + go historyMongoCH.historyConsumerGroup.RegisterHandleAndConsumer(&historyMongoCH) //go offlineHistoryCH.historyConsumerGroup.RegisterHandleAndConsumer(&offlineHistoryCH) } func SetOnlineTopicStatus(status int) { diff --git a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go index 1d71b8a1c..dae6571f8 100644 --- a/internal/msg_transfer/logic/online_msg_to_mongo_handler.go +++ b/internal/msg_transfer/logic/online_msg_to_mongo_handler.go @@ -18,7 +18,7 @@ type OnlineHistoryMongoConsumerHandler struct { historyConsumerGroup *kfk.MConsumerGroup } -func (och *OnlineHistoryMongoConsumerHandler) Init(cmdCh chan Cmd2Value) { +func (och *OnlineHistoryMongoConsumerHandler) Init() { och.msgHandle = make(map[string]fcb) och.msgHandle[config.Config.Kafka.MsgToMongo.Topic] = och.handleChatWs2Mongo och.historyConsumerGroup = kfk.NewMConsumerGroup(&kfk.MConsumerGroupConfig{KafkaVersion: sarama.V2_0_0_0, From 365d282119a5cfffaa24d1efc0e812063c3d52e2 Mon Sep 17 00:00:00 2001 From: Gordon <1432970085@qq.com> Date: Fri, 17 Jun 2022 10:39:02 +0800 Subject: [PATCH 12/12] compose file update --- docker-compose.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yaml b/docker-compose.yaml index e75b022a4..52d488f4a 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -75,7 +75,7 @@ services: TZ: Asia/Shanghai KAFKA_BROKER_ID: 0 KAFKA_ZOOKEEPER_CONNECT: 127.0.0.1:2181 - KAFKA_CREATE_TOPICS: "ws2ms_chat:8:1,ms2ps_chat:2:1,msg_to_mongo:2:1" + KAFKA_CREATE_TOPICS: "ws2ms_chat:8:1,ms2ps_chat:8:1,msg_to_mongo:8:1" KAFKA_ADVERTISED_LISTENERS: INSIDE://127.0.0.1:9092,OUTSIDE://103.116.45.174:9093 KAFKA_LISTENERS: INSIDE://:9092,OUTSIDE://:9093 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: "INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT"