diff --git a/README.md b/README.md index 658a8cd32..40901f3d2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Open-IM-Server is open source instant messaging Server.Backend in Go. ![avatar](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/docs/Open-IM.png) -[![LICENSE](https://img.shields.io/github/license/pingcap/tidb.svg)](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/LICENSE) +[![LICENSE](https://img.shields.io/badge/license-Apache--2.0-green)](https://github.com/OpenIMSDK/Open-IM-Server/blob/main/LICENSE) [![Language](https://img.shields.io/badge/Language-Go-blue.svg)](https://golang.org/) ## Open-IM-Server: Open source Instant Messaging Server diff --git a/src/proto/friend/friend.pb.go b/src/proto/friend/friend.pb.go new file mode 100644 index 000000000..7771b92a9 --- /dev/null +++ b/src/proto/friend/friend.pb.go @@ -0,0 +1,1825 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: friend/friend.proto + +package friend + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type CommonResp struct { + ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode,proto3" json:"errorCode,omitempty"` + ErrorMsg string `protobuf:"bytes,2,opt,name=errorMsg,proto3" json:"errorMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +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_1a7db849dd7bb41b, []int{0} +} + +func (m *CommonResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommonResp.Unmarshal(m, b) +} +func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic) +} +func (m *CommonResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CommonResp.Merge(m, src) +} +func (m *CommonResp) XXX_Size() int { + return xxx_messageInfo_CommonResp.Size(m) +} +func (m *CommonResp) XXX_DiscardUnknown() { + xxx_messageInfo_CommonResp.DiscardUnknown(m) +} + +var xxx_messageInfo_CommonResp proto.InternalMessageInfo + +func (m *CommonResp) GetErrorCode() int32 { + if m != nil { + return m.ErrorCode + } + return 0 +} + +func (m *CommonResp) GetErrorMsg() string { + if m != nil { + return m.ErrorMsg + } + return "" +} + +type SearchFriendReq struct { + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + Token string `protobuf:"bytes,3,opt,name=Token,proto3" json:"Token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SearchFriendReq) Reset() { *m = SearchFriendReq{} } +func (m *SearchFriendReq) String() string { return proto.CompactTextString(m) } +func (*SearchFriendReq) ProtoMessage() {} +func (*SearchFriendReq) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{1} +} + +func (m *SearchFriendReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SearchFriendReq.Unmarshal(m, b) +} +func (m *SearchFriendReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SearchFriendReq.Marshal(b, m, deterministic) +} +func (m *SearchFriendReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SearchFriendReq.Merge(m, src) +} +func (m *SearchFriendReq) XXX_Size() int { + return xxx_messageInfo_SearchFriendReq.Size(m) +} +func (m *SearchFriendReq) XXX_DiscardUnknown() { + xxx_messageInfo_SearchFriendReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SearchFriendReq proto.InternalMessageInfo + +func (m *SearchFriendReq) GetUid() string { + if m != nil { + return m.Uid + } + return "" +} + +func (m *SearchFriendReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *SearchFriendReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +type SearchFriendResp struct { + ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode,proto3" json:"errorCode,omitempty"` + ErrorMsg string `protobuf:"bytes,2,opt,name=errorMsg,proto3" json:"errorMsg,omitempty"` + Data *SearchFriendData `protobuf:"bytes,3,opt,name=Data,proto3" json:"Data,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SearchFriendResp) Reset() { *m = SearchFriendResp{} } +func (m *SearchFriendResp) String() string { return proto.CompactTextString(m) } +func (*SearchFriendResp) ProtoMessage() {} +func (*SearchFriendResp) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{2} +} + +func (m *SearchFriendResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SearchFriendResp.Unmarshal(m, b) +} +func (m *SearchFriendResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SearchFriendResp.Marshal(b, m, deterministic) +} +func (m *SearchFriendResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_SearchFriendResp.Merge(m, src) +} +func (m *SearchFriendResp) XXX_Size() int { + return xxx_messageInfo_SearchFriendResp.Size(m) +} +func (m *SearchFriendResp) XXX_DiscardUnknown() { + xxx_messageInfo_SearchFriendResp.DiscardUnknown(m) +} + +var xxx_messageInfo_SearchFriendResp proto.InternalMessageInfo + +func (m *SearchFriendResp) GetErrorCode() int32 { + if m != nil { + return m.ErrorCode + } + return 0 +} + +func (m *SearchFriendResp) GetErrorMsg() string { + if m != nil { + return m.ErrorMsg + } + return "" +} + +func (m *SearchFriendResp) GetData() *SearchFriendData { + if m != nil { + return m.Data + } + return nil +} + +type SearchFriendData struct { + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"` + Icon string `protobuf:"bytes,2,opt,name=icon,proto3" json:"icon,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Gender int32 `protobuf:"varint,4,opt,name=gender,proto3" json:"gender,omitempty"` + Mobile string `protobuf:"bytes,5,opt,name=mobile,proto3" json:"mobile,omitempty"` + Birth string `protobuf:"bytes,6,opt,name=birth,proto3" json:"birth,omitempty"` + Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` + Ex string `protobuf:"bytes,8,opt,name=ex,proto3" json:"ex,omitempty"` + Comment string `protobuf:"bytes,9,opt,name=comment,proto3" json:"comment,omitempty"` + IsFriend int32 `protobuf:"varint,10,opt,name=isFriend,proto3" json:"isFriend,omitempty"` + IsInBlackList int32 `protobuf:"varint,11,opt,name=isInBlackList,proto3" json:"isInBlackList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SearchFriendData) Reset() { *m = SearchFriendData{} } +func (m *SearchFriendData) String() string { return proto.CompactTextString(m) } +func (*SearchFriendData) ProtoMessage() {} +func (*SearchFriendData) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{3} +} + +func (m *SearchFriendData) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SearchFriendData.Unmarshal(m, b) +} +func (m *SearchFriendData) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SearchFriendData.Marshal(b, m, deterministic) +} +func (m *SearchFriendData) XXX_Merge(src proto.Message) { + xxx_messageInfo_SearchFriendData.Merge(m, src) +} +func (m *SearchFriendData) XXX_Size() int { + return xxx_messageInfo_SearchFriendData.Size(m) +} +func (m *SearchFriendData) XXX_DiscardUnknown() { + xxx_messageInfo_SearchFriendData.DiscardUnknown(m) +} + +var xxx_messageInfo_SearchFriendData proto.InternalMessageInfo + +func (m *SearchFriendData) GetUid() string { + if m != nil { + return m.Uid + } + return "" +} + +func (m *SearchFriendData) GetIcon() string { + if m != nil { + return m.Icon + } + return "" +} + +func (m *SearchFriendData) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *SearchFriendData) GetGender() int32 { + if m != nil { + return m.Gender + } + return 0 +} + +func (m *SearchFriendData) GetMobile() string { + if m != nil { + return m.Mobile + } + return "" +} + +func (m *SearchFriendData) GetBirth() string { + if m != nil { + return m.Birth + } + return "" +} + +func (m *SearchFriendData) GetEmail() string { + if m != nil { + return m.Email + } + return "" +} + +func (m *SearchFriendData) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +func (m *SearchFriendData) GetComment() string { + if m != nil { + return m.Comment + } + return "" +} + +func (m *SearchFriendData) GetIsFriend() int32 { + if m != nil { + return m.IsFriend + } + return 0 +} + +func (m *SearchFriendData) GetIsInBlackList() int32 { + if m != nil { + return m.IsInBlackList + } + return 0 +} + +type AddFriendReq struct { + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + Token string `protobuf:"bytes,3,opt,name=Token,proto3" json:"Token,omitempty"` + ReqMessage string `protobuf:"bytes,4,opt,name=ReqMessage,proto3" json:"ReqMessage,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddFriendReq) Reset() { *m = AddFriendReq{} } +func (m *AddFriendReq) String() string { return proto.CompactTextString(m) } +func (*AddFriendReq) ProtoMessage() {} +func (*AddFriendReq) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{4} +} + +func (m *AddFriendReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddFriendReq.Unmarshal(m, b) +} +func (m *AddFriendReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddFriendReq.Marshal(b, m, deterministic) +} +func (m *AddFriendReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddFriendReq.Merge(m, src) +} +func (m *AddFriendReq) XXX_Size() int { + return xxx_messageInfo_AddFriendReq.Size(m) +} +func (m *AddFriendReq) XXX_DiscardUnknown() { + xxx_messageInfo_AddFriendReq.DiscardUnknown(m) +} + +var xxx_messageInfo_AddFriendReq proto.InternalMessageInfo + +func (m *AddFriendReq) GetUid() string { + if m != nil { + return m.Uid + } + return "" +} + +func (m *AddFriendReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *AddFriendReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *AddFriendReq) GetReqMessage() string { + if m != nil { + return m.ReqMessage + } + return "" +} + +type GetFriendApplyReq struct { + OperationID string `protobuf:"bytes,1,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + Token string `protobuf:"bytes,2,opt,name=Token,proto3" json:"Token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetFriendApplyReq) Reset() { *m = GetFriendApplyReq{} } +func (m *GetFriendApplyReq) String() string { return proto.CompactTextString(m) } +func (*GetFriendApplyReq) ProtoMessage() {} +func (*GetFriendApplyReq) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{5} +} + +func (m *GetFriendApplyReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetFriendApplyReq.Unmarshal(m, b) +} +func (m *GetFriendApplyReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetFriendApplyReq.Marshal(b, m, deterministic) +} +func (m *GetFriendApplyReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetFriendApplyReq.Merge(m, src) +} +func (m *GetFriendApplyReq) XXX_Size() int { + return xxx_messageInfo_GetFriendApplyReq.Size(m) +} +func (m *GetFriendApplyReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetFriendApplyReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetFriendApplyReq proto.InternalMessageInfo + +func (m *GetFriendApplyReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GetFriendApplyReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +type GetFriendApplyResp struct { + ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode,proto3" json:"errorCode,omitempty"` + ErrorMsg string `protobuf:"bytes,2,opt,name=errorMsg,proto3" json:"errorMsg,omitempty"` + Data []*ApplyUserInfo `protobuf:"bytes,4,rep,name=data,proto3" json:"data,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetFriendApplyResp) Reset() { *m = GetFriendApplyResp{} } +func (m *GetFriendApplyResp) String() string { return proto.CompactTextString(m) } +func (*GetFriendApplyResp) ProtoMessage() {} +func (*GetFriendApplyResp) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{6} +} + +func (m *GetFriendApplyResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetFriendApplyResp.Unmarshal(m, b) +} +func (m *GetFriendApplyResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetFriendApplyResp.Marshal(b, m, deterministic) +} +func (m *GetFriendApplyResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetFriendApplyResp.Merge(m, src) +} +func (m *GetFriendApplyResp) XXX_Size() int { + return xxx_messageInfo_GetFriendApplyResp.Size(m) +} +func (m *GetFriendApplyResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetFriendApplyResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetFriendApplyResp proto.InternalMessageInfo + +func (m *GetFriendApplyResp) GetErrorCode() int32 { + if m != nil { + return m.ErrorCode + } + return 0 +} + +func (m *GetFriendApplyResp) GetErrorMsg() string { + if m != nil { + return m.ErrorMsg + } + return "" +} + +func (m *GetFriendApplyResp) GetData() []*ApplyUserInfo { + if m != nil { + return m.Data + } + return nil +} + +type ApplyUserInfo struct { + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Icon string `protobuf:"bytes,3,opt,name=icon,proto3" json:"icon,omitempty"` + Gender int32 `protobuf:"varint,4,opt,name=gender,proto3" json:"gender,omitempty"` + Mobile string `protobuf:"bytes,5,opt,name=mobile,proto3" json:"mobile,omitempty"` + Birth string `protobuf:"bytes,6,opt,name=birth,proto3" json:"birth,omitempty"` + Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` + Ex string `protobuf:"bytes,8,opt,name=ex,proto3" json:"ex,omitempty"` + Flag int32 `protobuf:"varint,9,opt,name=flag,proto3" json:"flag,omitempty"` + ApplyTime string `protobuf:"bytes,10,opt,name=applyTime,proto3" json:"applyTime,omitempty"` + ReqMessage string `protobuf:"bytes,11,opt,name=reqMessage,proto3" json:"reqMessage,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *ApplyUserInfo) Reset() { *m = ApplyUserInfo{} } +func (m *ApplyUserInfo) String() string { return proto.CompactTextString(m) } +func (*ApplyUserInfo) ProtoMessage() {} +func (*ApplyUserInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{7} +} + +func (m *ApplyUserInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_ApplyUserInfo.Unmarshal(m, b) +} +func (m *ApplyUserInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_ApplyUserInfo.Marshal(b, m, deterministic) +} +func (m *ApplyUserInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_ApplyUserInfo.Merge(m, src) +} +func (m *ApplyUserInfo) XXX_Size() int { + return xxx_messageInfo_ApplyUserInfo.Size(m) +} +func (m *ApplyUserInfo) XXX_DiscardUnknown() { + xxx_messageInfo_ApplyUserInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_ApplyUserInfo proto.InternalMessageInfo + +func (m *ApplyUserInfo) GetUid() string { + if m != nil { + return m.Uid + } + return "" +} + +func (m *ApplyUserInfo) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *ApplyUserInfo) GetIcon() string { + if m != nil { + return m.Icon + } + return "" +} + +func (m *ApplyUserInfo) GetGender() int32 { + if m != nil { + return m.Gender + } + return 0 +} + +func (m *ApplyUserInfo) GetMobile() string { + if m != nil { + return m.Mobile + } + return "" +} + +func (m *ApplyUserInfo) GetBirth() string { + if m != nil { + return m.Birth + } + return "" +} + +func (m *ApplyUserInfo) GetEmail() string { + if m != nil { + return m.Email + } + return "" +} + +func (m *ApplyUserInfo) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +func (m *ApplyUserInfo) GetFlag() int32 { + if m != nil { + return m.Flag + } + return 0 +} + +func (m *ApplyUserInfo) GetApplyTime() string { + if m != nil { + return m.ApplyTime + } + return "" +} + +func (m *ApplyUserInfo) GetReqMessage() string { + if m != nil { + return m.ReqMessage + } + return "" +} + +type GetFriendListReq struct { + OperationID string `protobuf:"bytes,1,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + Token string `protobuf:"bytes,2,opt,name=Token,proto3" json:"Token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetFriendListReq) Reset() { *m = GetFriendListReq{} } +func (m *GetFriendListReq) String() string { return proto.CompactTextString(m) } +func (*GetFriendListReq) ProtoMessage() {} +func (*GetFriendListReq) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{8} +} + +func (m *GetFriendListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetFriendListReq.Unmarshal(m, b) +} +func (m *GetFriendListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetFriendListReq.Marshal(b, m, deterministic) +} +func (m *GetFriendListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetFriendListReq.Merge(m, src) +} +func (m *GetFriendListReq) XXX_Size() int { + return xxx_messageInfo_GetFriendListReq.Size(m) +} +func (m *GetFriendListReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetFriendListReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetFriendListReq proto.InternalMessageInfo + +func (m *GetFriendListReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GetFriendListReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +type GetFriendListResp struct { + ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode,proto3" json:"errorCode,omitempty"` + ErrorMsg string `protobuf:"bytes,2,opt,name=errorMsg,proto3" json:"errorMsg,omitempty"` + Data []*UserInfo `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetFriendListResp) Reset() { *m = GetFriendListResp{} } +func (m *GetFriendListResp) String() string { return proto.CompactTextString(m) } +func (*GetFriendListResp) ProtoMessage() {} +func (*GetFriendListResp) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{9} +} + +func (m *GetFriendListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetFriendListResp.Unmarshal(m, b) +} +func (m *GetFriendListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetFriendListResp.Marshal(b, m, deterministic) +} +func (m *GetFriendListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetFriendListResp.Merge(m, src) +} +func (m *GetFriendListResp) XXX_Size() int { + return xxx_messageInfo_GetFriendListResp.Size(m) +} +func (m *GetFriendListResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetFriendListResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetFriendListResp proto.InternalMessageInfo + +func (m *GetFriendListResp) GetErrorCode() int32 { + if m != nil { + return m.ErrorCode + } + return 0 +} + +func (m *GetFriendListResp) GetErrorMsg() string { + if m != nil { + return m.ErrorMsg + } + return "" +} + +func (m *GetFriendListResp) GetData() []*UserInfo { + if m != nil { + return m.Data + } + return nil +} + +type UserInfo struct { + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"` + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + Icon string `protobuf:"bytes,2,opt,name=icon,proto3" json:"icon,omitempty"` + Gender int32 `protobuf:"varint,4,opt,name=gender,proto3" json:"gender,omitempty"` + Mobile string `protobuf:"bytes,5,opt,name=mobile,proto3" json:"mobile,omitempty"` + Birth string `protobuf:"bytes,6,opt,name=birth,proto3" json:"birth,omitempty"` + Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` + Ex string `protobuf:"bytes,8,opt,name=ex,proto3" json:"ex,omitempty"` + Comment string `protobuf:"bytes,9,opt,name=comment,proto3" json:"comment,omitempty"` + IsInBlackList int32 `protobuf:"varint,10,opt,name=isInBlackList,proto3" json:"isInBlackList,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserInfo) Reset() { *m = UserInfo{} } +func (m *UserInfo) String() string { return proto.CompactTextString(m) } +func (*UserInfo) ProtoMessage() {} +func (*UserInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{10} +} + +func (m *UserInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserInfo.Unmarshal(m, b) +} +func (m *UserInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserInfo.Marshal(b, m, deterministic) +} +func (m *UserInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserInfo.Merge(m, src) +} +func (m *UserInfo) XXX_Size() int { + return xxx_messageInfo_UserInfo.Size(m) +} +func (m *UserInfo) XXX_DiscardUnknown() { + xxx_messageInfo_UserInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_UserInfo proto.InternalMessageInfo + +func (m *UserInfo) GetUid() string { + if m != nil { + return m.Uid + } + return "" +} + +func (m *UserInfo) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *UserInfo) GetIcon() string { + if m != nil { + return m.Icon + } + return "" +} + +func (m *UserInfo) GetGender() int32 { + if m != nil { + return m.Gender + } + return 0 +} + +func (m *UserInfo) GetMobile() string { + if m != nil { + return m.Mobile + } + return "" +} + +func (m *UserInfo) GetBirth() string { + if m != nil { + return m.Birth + } + return "" +} + +func (m *UserInfo) GetEmail() string { + if m != nil { + return m.Email + } + return "" +} + +func (m *UserInfo) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +func (m *UserInfo) GetComment() string { + if m != nil { + return m.Comment + } + return "" +} + +func (m *UserInfo) GetIsInBlackList() int32 { + if m != nil { + return m.IsInBlackList + } + return 0 +} + +type AddBlacklistReq struct { + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + Token string `protobuf:"bytes,3,opt,name=Token,proto3" json:"Token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddBlacklistReq) Reset() { *m = AddBlacklistReq{} } +func (m *AddBlacklistReq) String() string { return proto.CompactTextString(m) } +func (*AddBlacklistReq) ProtoMessage() {} +func (*AddBlacklistReq) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{11} +} + +func (m *AddBlacklistReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddBlacklistReq.Unmarshal(m, b) +} +func (m *AddBlacklistReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddBlacklistReq.Marshal(b, m, deterministic) +} +func (m *AddBlacklistReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddBlacklistReq.Merge(m, src) +} +func (m *AddBlacklistReq) XXX_Size() int { + return xxx_messageInfo_AddBlacklistReq.Size(m) +} +func (m *AddBlacklistReq) XXX_DiscardUnknown() { + xxx_messageInfo_AddBlacklistReq.DiscardUnknown(m) +} + +var xxx_messageInfo_AddBlacklistReq proto.InternalMessageInfo + +func (m *AddBlacklistReq) GetUid() string { + if m != nil { + return m.Uid + } + return "" +} + +func (m *AddBlacklistReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *AddBlacklistReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +type RemoveBlacklistReq struct { + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + Token string `protobuf:"bytes,3,opt,name=Token,proto3" json:"Token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *RemoveBlacklistReq) Reset() { *m = RemoveBlacklistReq{} } +func (m *RemoveBlacklistReq) String() string { return proto.CompactTextString(m) } +func (*RemoveBlacklistReq) ProtoMessage() {} +func (*RemoveBlacklistReq) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{12} +} + +func (m *RemoveBlacklistReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_RemoveBlacklistReq.Unmarshal(m, b) +} +func (m *RemoveBlacklistReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_RemoveBlacklistReq.Marshal(b, m, deterministic) +} +func (m *RemoveBlacklistReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_RemoveBlacklistReq.Merge(m, src) +} +func (m *RemoveBlacklistReq) XXX_Size() int { + return xxx_messageInfo_RemoveBlacklistReq.Size(m) +} +func (m *RemoveBlacklistReq) XXX_DiscardUnknown() { + xxx_messageInfo_RemoveBlacklistReq.DiscardUnknown(m) +} + +var xxx_messageInfo_RemoveBlacklistReq proto.InternalMessageInfo + +func (m *RemoveBlacklistReq) GetUid() string { + if m != nil { + return m.Uid + } + return "" +} + +func (m *RemoveBlacklistReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *RemoveBlacklistReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +type GetBlacklistReq struct { + OperationID string `protobuf:"bytes,1,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetBlacklistReq) Reset() { *m = GetBlacklistReq{} } +func (m *GetBlacklistReq) String() string { return proto.CompactTextString(m) } +func (*GetBlacklistReq) ProtoMessage() {} +func (*GetBlacklistReq) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{13} +} + +func (m *GetBlacklistReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetBlacklistReq.Unmarshal(m, b) +} +func (m *GetBlacklistReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetBlacklistReq.Marshal(b, m, deterministic) +} +func (m *GetBlacklistReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetBlacklistReq.Merge(m, src) +} +func (m *GetBlacklistReq) XXX_Size() int { + return xxx_messageInfo_GetBlacklistReq.Size(m) +} +func (m *GetBlacklistReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetBlacklistReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetBlacklistReq proto.InternalMessageInfo + +func (m *GetBlacklistReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *GetBlacklistReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +type GetBlacklistResp struct { + ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode,proto3" json:"errorCode,omitempty"` + ErrorMsg string `protobuf:"bytes,2,opt,name=errorMsg,proto3" json:"errorMsg,omitempty"` + Data []*UserInfo `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *GetBlacklistResp) Reset() { *m = GetBlacklistResp{} } +func (m *GetBlacklistResp) String() string { return proto.CompactTextString(m) } +func (*GetBlacklistResp) ProtoMessage() {} +func (*GetBlacklistResp) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{14} +} + +func (m *GetBlacklistResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetBlacklistResp.Unmarshal(m, b) +} +func (m *GetBlacklistResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetBlacklistResp.Marshal(b, m, deterministic) +} +func (m *GetBlacklistResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetBlacklistResp.Merge(m, src) +} +func (m *GetBlacklistResp) XXX_Size() int { + return xxx_messageInfo_GetBlacklistResp.Size(m) +} +func (m *GetBlacklistResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetBlacklistResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetBlacklistResp proto.InternalMessageInfo + +func (m *GetBlacklistResp) GetErrorCode() int32 { + if m != nil { + return m.ErrorCode + } + return 0 +} + +func (m *GetBlacklistResp) GetErrorMsg() string { + if m != nil { + return m.ErrorMsg + } + return "" +} + +func (m *GetBlacklistResp) GetData() []*UserInfo { + if m != nil { + return m.Data + } + return nil +} + +type IsInBlackListReq struct { + SendUid string `protobuf:"bytes,1,opt,name=sendUid,proto3" json:"sendUid,omitempty"` + ReceiveUid string `protobuf:"bytes,2,opt,name=receiveUid,proto3" json:"receiveUid,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IsInBlackListReq) Reset() { *m = IsInBlackListReq{} } +func (m *IsInBlackListReq) String() string { return proto.CompactTextString(m) } +func (*IsInBlackListReq) ProtoMessage() {} +func (*IsInBlackListReq) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{15} +} + +func (m *IsInBlackListReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IsInBlackListReq.Unmarshal(m, b) +} +func (m *IsInBlackListReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IsInBlackListReq.Marshal(b, m, deterministic) +} +func (m *IsInBlackListReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_IsInBlackListReq.Merge(m, src) +} +func (m *IsInBlackListReq) XXX_Size() int { + return xxx_messageInfo_IsInBlackListReq.Size(m) +} +func (m *IsInBlackListReq) XXX_DiscardUnknown() { + xxx_messageInfo_IsInBlackListReq.DiscardUnknown(m) +} + +var xxx_messageInfo_IsInBlackListReq proto.InternalMessageInfo + +func (m *IsInBlackListReq) GetSendUid() string { + if m != nil { + return m.SendUid + } + return "" +} + +func (m *IsInBlackListReq) GetReceiveUid() string { + if m != nil { + return m.ReceiveUid + } + return "" +} + +func (m *IsInBlackListReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type IsInBlackListResp struct { + ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode,proto3" json:"errorCode,omitempty"` + ErrorMsg string `protobuf:"bytes,2,opt,name=errorMsg,proto3" json:"errorMsg,omitempty"` + Response bool `protobuf:"varint,3,opt,name=response,proto3" json:"response,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *IsInBlackListResp) Reset() { *m = IsInBlackListResp{} } +func (m *IsInBlackListResp) String() string { return proto.CompactTextString(m) } +func (*IsInBlackListResp) ProtoMessage() {} +func (*IsInBlackListResp) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{16} +} + +func (m *IsInBlackListResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_IsInBlackListResp.Unmarshal(m, b) +} +func (m *IsInBlackListResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_IsInBlackListResp.Marshal(b, m, deterministic) +} +func (m *IsInBlackListResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_IsInBlackListResp.Merge(m, src) +} +func (m *IsInBlackListResp) XXX_Size() int { + return xxx_messageInfo_IsInBlackListResp.Size(m) +} +func (m *IsInBlackListResp) XXX_DiscardUnknown() { + xxx_messageInfo_IsInBlackListResp.DiscardUnknown(m) +} + +var xxx_messageInfo_IsInBlackListResp proto.InternalMessageInfo + +func (m *IsInBlackListResp) GetErrorCode() int32 { + if m != nil { + return m.ErrorCode + } + return 0 +} + +func (m *IsInBlackListResp) GetErrorMsg() string { + if m != nil { + return m.ErrorMsg + } + return "" +} + +func (m *IsInBlackListResp) GetResponse() bool { + if m != nil { + return m.Response + } + return false +} + +type DeleteFriendReq struct { + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + Token string `protobuf:"bytes,3,opt,name=Token,proto3" json:"Token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *DeleteFriendReq) Reset() { *m = DeleteFriendReq{} } +func (m *DeleteFriendReq) String() string { return proto.CompactTextString(m) } +func (*DeleteFriendReq) ProtoMessage() {} +func (*DeleteFriendReq) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{17} +} + +func (m *DeleteFriendReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_DeleteFriendReq.Unmarshal(m, b) +} +func (m *DeleteFriendReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_DeleteFriendReq.Marshal(b, m, deterministic) +} +func (m *DeleteFriendReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_DeleteFriendReq.Merge(m, src) +} +func (m *DeleteFriendReq) XXX_Size() int { + return xxx_messageInfo_DeleteFriendReq.Size(m) +} +func (m *DeleteFriendReq) XXX_DiscardUnknown() { + xxx_messageInfo_DeleteFriendReq.DiscardUnknown(m) +} + +var xxx_messageInfo_DeleteFriendReq proto.InternalMessageInfo + +func (m *DeleteFriendReq) GetUid() string { + if m != nil { + return m.Uid + } + return "" +} + +func (m *DeleteFriendReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *DeleteFriendReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +type AddedFriendReq struct { + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"` + Flag int32 `protobuf:"varint,2,opt,name=flag,proto3" json:"flag,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + Token string `protobuf:"bytes,4,opt,name=Token,proto3" json:"Token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *AddedFriendReq) Reset() { *m = AddedFriendReq{} } +func (m *AddedFriendReq) String() string { return proto.CompactTextString(m) } +func (*AddedFriendReq) ProtoMessage() {} +func (*AddedFriendReq) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{18} +} + +func (m *AddedFriendReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_AddedFriendReq.Unmarshal(m, b) +} +func (m *AddedFriendReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_AddedFriendReq.Marshal(b, m, deterministic) +} +func (m *AddedFriendReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_AddedFriendReq.Merge(m, src) +} +func (m *AddedFriendReq) XXX_Size() int { + return xxx_messageInfo_AddedFriendReq.Size(m) +} +func (m *AddedFriendReq) XXX_DiscardUnknown() { + xxx_messageInfo_AddedFriendReq.DiscardUnknown(m) +} + +var xxx_messageInfo_AddedFriendReq proto.InternalMessageInfo + +func (m *AddedFriendReq) GetUid() string { + if m != nil { + return m.Uid + } + return "" +} + +func (m *AddedFriendReq) GetFlag() int32 { + if m != nil { + return m.Flag + } + return 0 +} + +func (m *AddedFriendReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *AddedFriendReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +type SetFriendCommentReq struct { + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"` + OperationID string `protobuf:"bytes,2,opt,name=operationID,proto3" json:"operationID,omitempty"` + Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` + Token string `protobuf:"bytes,4,opt,name=token,proto3" json:"token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *SetFriendCommentReq) Reset() { *m = SetFriendCommentReq{} } +func (m *SetFriendCommentReq) String() string { return proto.CompactTextString(m) } +func (*SetFriendCommentReq) ProtoMessage() {} +func (*SetFriendCommentReq) Descriptor() ([]byte, []int) { + return fileDescriptor_1a7db849dd7bb41b, []int{19} +} + +func (m *SetFriendCommentReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_SetFriendCommentReq.Unmarshal(m, b) +} +func (m *SetFriendCommentReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_SetFriendCommentReq.Marshal(b, m, deterministic) +} +func (m *SetFriendCommentReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_SetFriendCommentReq.Merge(m, src) +} +func (m *SetFriendCommentReq) XXX_Size() int { + return xxx_messageInfo_SetFriendCommentReq.Size(m) +} +func (m *SetFriendCommentReq) XXX_DiscardUnknown() { + xxx_messageInfo_SetFriendCommentReq.DiscardUnknown(m) +} + +var xxx_messageInfo_SetFriendCommentReq proto.InternalMessageInfo + +func (m *SetFriendCommentReq) GetUid() string { + if m != nil { + return m.Uid + } + return "" +} + +func (m *SetFriendCommentReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *SetFriendCommentReq) GetComment() string { + if m != nil { + return m.Comment + } + return "" +} + +func (m *SetFriendCommentReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func init() { + proto.RegisterType((*CommonResp)(nil), "friend.CommonResp") + proto.RegisterType((*SearchFriendReq)(nil), "friend.SearchFriendReq") + proto.RegisterType((*SearchFriendResp)(nil), "friend.SearchFriendResp") + proto.RegisterType((*SearchFriendData)(nil), "friend.SearchFriendData") + proto.RegisterType((*AddFriendReq)(nil), "friend.AddFriendReq") + proto.RegisterType((*GetFriendApplyReq)(nil), "friend.GetFriendApplyReq") + proto.RegisterType((*GetFriendApplyResp)(nil), "friend.GetFriendApplyResp") + proto.RegisterType((*ApplyUserInfo)(nil), "friend.ApplyUserInfo") + proto.RegisterType((*GetFriendListReq)(nil), "friend.getFriendListReq") + proto.RegisterType((*GetFriendListResp)(nil), "friend.getFriendListResp") + proto.RegisterType((*UserInfo)(nil), "friend.UserInfo") + proto.RegisterType((*AddBlacklistReq)(nil), "friend.AddBlacklistReq") + proto.RegisterType((*RemoveBlacklistReq)(nil), "friend.RemoveBlacklistReq") + proto.RegisterType((*GetBlacklistReq)(nil), "friend.GetBlacklistReq") + proto.RegisterType((*GetBlacklistResp)(nil), "friend.GetBlacklistResp") + proto.RegisterType((*IsInBlackListReq)(nil), "friend.IsInBlackListReq") + proto.RegisterType((*IsInBlackListResp)(nil), "friend.IsInBlackListResp") + proto.RegisterType((*DeleteFriendReq)(nil), "friend.DeleteFriendReq") + proto.RegisterType((*AddedFriendReq)(nil), "friend.AddedFriendReq") + proto.RegisterType((*SetFriendCommentReq)(nil), "friend.SetFriendCommentReq") +} + +func init() { proto.RegisterFile("friend/friend.proto", fileDescriptor_1a7db849dd7bb41b) } + +var fileDescriptor_1a7db849dd7bb41b = []byte{ + // 867 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x57, 0xdb, 0x4e, 0xdb, 0x4c, + 0x10, 0x56, 0x6c, 0x27, 0x24, 0x93, 0x84, 0x84, 0x85, 0x9f, 0xdf, 0xa4, 0x55, 0x15, 0x59, 0x5c, + 0x50, 0xa9, 0xa2, 0x12, 0x55, 0x2f, 0x2a, 0xae, 0x42, 0x22, 0x50, 0x4a, 0x51, 0x25, 0x03, 0x37, + 0x45, 0xaa, 0x64, 0xe2, 0x21, 0x58, 0xc4, 0x07, 0xbc, 0x2e, 0x82, 0xbe, 0x40, 0x5f, 0xa0, 0x6f, + 0xd7, 0x97, 0xe8, 0x23, 0x54, 0xbb, 0x3e, 0xad, 0x0f, 0x01, 0xa4, 0x14, 0x7a, 0x15, 0xcf, 0xb7, + 0xab, 0x99, 0x9d, 0xf9, 0xbe, 0x99, 0xdd, 0xc0, 0xea, 0x85, 0x6f, 0xa1, 0x63, 0xbe, 0x0d, 0x7f, + 0xb6, 0x3d, 0xdf, 0x0d, 0x5c, 0x52, 0x0b, 0x2d, 0x6d, 0x1f, 0x60, 0xe8, 0xda, 0xb6, 0xeb, 0xe8, + 0x48, 0x3d, 0xf2, 0x12, 0x1a, 0xe8, 0xfb, 0xae, 0x3f, 0x74, 0x4d, 0x54, 0x2b, 0xfd, 0xca, 0x56, + 0x55, 0x4f, 0x01, 0xd2, 0x83, 0x3a, 0x37, 0x8e, 0xe8, 0x54, 0x95, 0xfa, 0x95, 0xad, 0x86, 0x9e, + 0xd8, 0xda, 0x19, 0x74, 0x8e, 0xd1, 0xf0, 0x27, 0x97, 0xfb, 0xdc, 0xaf, 0x8e, 0xd7, 0xa4, 0x0b, + 0xf2, 0x37, 0xcb, 0xe4, 0x6e, 0x1a, 0x3a, 0xfb, 0x24, 0x7d, 0x68, 0x7e, 0xf6, 0xd0, 0x37, 0x02, + 0xcb, 0x75, 0xc6, 0xa3, 0xc8, 0x87, 0x08, 0x91, 0x35, 0xa8, 0x9e, 0xb8, 0x57, 0xe8, 0xa8, 0x32, + 0x5f, 0x0b, 0x0d, 0xed, 0x3b, 0x74, 0xb3, 0xce, 0x17, 0x39, 0x2a, 0x79, 0x03, 0xca, 0xc8, 0x08, + 0x0c, 0x1e, 0xa2, 0xb9, 0xa3, 0x6e, 0x47, 0x75, 0x11, 0x23, 0xb0, 0x75, 0x9d, 0xef, 0xd2, 0x7e, + 0x4a, 0xd9, 0xe0, 0x0c, 0x2c, 0x49, 0x8d, 0x80, 0x62, 0x4d, 0x5c, 0x27, 0x0a, 0xc6, 0xbf, 0x19, + 0xe6, 0x18, 0x36, 0x46, 0xb9, 0xf0, 0x6f, 0xb2, 0x0e, 0xb5, 0x29, 0x3a, 0x26, 0xfa, 0xaa, 0xc2, + 0xcf, 0x1c, 0x59, 0x0c, 0xb7, 0xdd, 0x73, 0x6b, 0x86, 0x6a, 0x95, 0xef, 0x8e, 0x2c, 0x56, 0x90, + 0x73, 0xcb, 0x0f, 0x2e, 0xd5, 0x5a, 0x58, 0x10, 0x6e, 0x30, 0x14, 0x6d, 0xc3, 0x9a, 0xa9, 0x4b, + 0x21, 0xca, 0x0d, 0xb2, 0x0c, 0x12, 0xde, 0xaa, 0x75, 0x0e, 0x49, 0x78, 0x4b, 0x54, 0x58, 0x9a, + 0xb8, 0xb6, 0x8d, 0x4e, 0xa0, 0x36, 0x38, 0x18, 0x9b, 0xac, 0x3c, 0x16, 0x0d, 0xf3, 0x51, 0x81, + 0x9f, 0x23, 0xb1, 0xc9, 0x26, 0xb4, 0x2d, 0x3a, 0x76, 0xf6, 0x66, 0xc6, 0xe4, 0xea, 0x93, 0x45, + 0x03, 0xb5, 0xc9, 0x37, 0x64, 0x41, 0xed, 0x16, 0x5a, 0x03, 0xd3, 0x7c, 0x02, 0xb2, 0xc9, 0x2b, + 0x00, 0x1d, 0xaf, 0x8f, 0x90, 0x52, 0x63, 0x8a, 0xbc, 0x4a, 0x0d, 0x5d, 0x40, 0xb4, 0x43, 0x58, + 0x39, 0xc0, 0x20, 0x8c, 0x3c, 0xf0, 0xbc, 0xd9, 0x1d, 0x0b, 0x9f, 0x0b, 0x56, 0xb9, 0x27, 0x98, + 0x24, 0x2a, 0xeb, 0x0e, 0x48, 0xde, 0xd9, 0x42, 0xda, 0x7a, 0x0d, 0x8a, 0xc9, 0xb4, 0xa5, 0xf4, + 0xe5, 0xad, 0xe6, 0xce, 0x7f, 0xb1, 0xb6, 0xb8, 0xeb, 0x53, 0x8a, 0xfe, 0xd8, 0xb9, 0x70, 0x75, + 0xbe, 0x45, 0xfb, 0x21, 0x41, 0x3b, 0x83, 0x97, 0xab, 0x8a, 0x2b, 0x48, 0x12, 0x14, 0x14, 0x2b, + 0x4d, 0x16, 0x94, 0xf6, 0x9c, 0xaa, 0x22, 0xa0, 0x5c, 0xcc, 0x8c, 0x29, 0x97, 0x54, 0x55, 0xe7, + 0xdf, 0xac, 0x60, 0x06, 0x4b, 0xe5, 0xc4, 0xb2, 0x91, 0x0b, 0xaa, 0xa1, 0xa7, 0x00, 0x63, 0xd4, + 0x4f, 0x19, 0x6d, 0x86, 0x8c, 0xa6, 0x88, 0xf6, 0x11, 0xba, 0xd3, 0x98, 0x04, 0x26, 0xae, 0x45, + 0x08, 0xa5, 0xb0, 0x92, 0xf3, 0xb5, 0x10, 0x9f, 0x9b, 0x11, 0x9f, 0x32, 0xe7, 0xb3, 0x1b, 0xf3, + 0x99, 0xa3, 0xf2, 0x77, 0x05, 0xea, 0x8f, 0x60, 0x51, 0x2e, 0x61, 0x51, 0xfa, 0x47, 0x2c, 0xce, + 0x9f, 0x0d, 0x85, 0xfe, 0x87, 0xb2, 0xfe, 0x3f, 0x83, 0xce, 0xc0, 0x34, 0xb9, 0x3d, 0x8b, 0x28, + 0xfb, 0x7b, 0xf3, 0xfe, 0x2b, 0x10, 0x1d, 0x6d, 0xf7, 0x06, 0x9f, 0xc8, 0xff, 0x18, 0x3a, 0x07, + 0x18, 0x64, 0x9c, 0x3f, 0x4a, 0x6f, 0x81, 0xa8, 0x37, 0x6e, 0x68, 0x3e, 0x74, 0xb3, 0xae, 0x9e, + 0x41, 0x6e, 0x0e, 0x74, 0xc7, 0x22, 0x19, 0xec, 0xfc, 0x2a, 0x2c, 0x51, 0x74, 0xcc, 0xd3, 0xa4, + 0x40, 0xb1, 0x19, 0x76, 0xdf, 0x04, 0xad, 0x1b, 0x64, 0x8b, 0x52, 0xdc, 0x7d, 0x31, 0x92, 0xcf, + 0x5c, 0x2e, 0x64, 0xae, 0x59, 0xb0, 0x92, 0x8b, 0xb7, 0x50, 0x92, 0x3d, 0xa8, 0xfb, 0x48, 0x3d, + 0xd7, 0xa1, 0x61, 0x4b, 0xd4, 0xf5, 0xc4, 0x66, 0xb2, 0x1a, 0xe1, 0x0c, 0x03, 0x7c, 0x8a, 0x67, + 0x84, 0x03, 0xcb, 0x03, 0xd3, 0xc4, 0x7b, 0x6f, 0xad, 0x78, 0xba, 0x49, 0xc2, 0x74, 0x7b, 0xb0, + 0x42, 0x69, 0x3c, 0x25, 0x7b, 0xb9, 0xac, 0x1e, 0xc7, 0xb3, 0x68, 0x18, 0x76, 0xd7, 0xdc, 0x84, + 0xdc, 0x62, 0x42, 0x02, 0x24, 0xb6, 0xab, 0x9c, 0x6d, 0xd7, 0x44, 0x96, 0x8a, 0x20, 0xcb, 0x9d, + 0x5f, 0x55, 0x88, 0x5e, 0x78, 0x64, 0x00, 0x2d, 0x2a, 0xbc, 0x5f, 0xc8, 0xff, 0x65, 0x0f, 0x1e, + 0x1d, 0xaf, 0x7b, 0x6a, 0xf9, 0x02, 0xf5, 0xc8, 0x7b, 0x68, 0x18, 0xf1, 0x65, 0x4f, 0xd6, 0x92, + 0x4b, 0x4d, 0xb8, 0xff, 0x7b, 0x24, 0x46, 0x85, 0xd7, 0xe4, 0x21, 0x90, 0x69, 0xe6, 0x72, 0x65, + 0xe2, 0x21, 0x1b, 0xf1, 0xce, 0xc2, 0x2d, 0xde, 0xeb, 0xcd, 0x5b, 0xa2, 0x1e, 0x19, 0x41, 0x3b, + 0x33, 0xd8, 0x49, 0x72, 0xdc, 0xfc, 0xdd, 0xd1, 0xdb, 0x98, 0xb3, 0x42, 0x3d, 0xb2, 0x0b, 0x2d, + 0x43, 0x18, 0x5b, 0x69, 0x31, 0x72, 0xc3, 0xac, 0x34, 0x9f, 0x01, 0x74, 0xfc, 0xec, 0x58, 0x22, + 0xc9, 0x89, 0x8b, 0xf3, 0xaa, 0xd4, 0xc5, 0x28, 0x37, 0x5c, 0xd3, 0x2c, 0xf2, 0x1d, 0x9d, 0x66, + 0x51, 0xec, 0xbd, 0x01, 0xb4, 0xa6, 0xc2, 0xd0, 0x49, 0xb3, 0xc8, 0x4d, 0xb5, 0x94, 0xd2, 0xc2, + 0x8c, 0xda, 0x85, 0x96, 0x29, 0x34, 0x5a, 0xea, 0x22, 0xd7, 0x7e, 0xa5, 0x59, 0x7c, 0x80, 0xa6, + 0x91, 0x36, 0x12, 0x59, 0x17, 0x8a, 0x88, 0x0f, 0x68, 0x62, 0x08, 0x5d, 0x9a, 0xeb, 0x09, 0xf2, + 0x22, 0x15, 0x5e, 0xa1, 0x5b, 0xca, 0x9c, 0xec, 0x75, 0xbe, 0xb4, 0x43, 0x70, 0x37, 0xfc, 0x39, + 0xaf, 0xf1, 0x3f, 0x35, 0xef, 0xfe, 0x04, 0x00, 0x00, 0xff, 0xff, 0xbd, 0x0d, 0xba, 0x52, 0xeb, + 0x0c, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// FriendClient is the client API for Friend service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type FriendClient interface { + SearchFriend(ctx context.Context, in *SearchFriendReq, opts ...grpc.CallOption) (*SearchFriendResp, error) + AddFriend(ctx context.Context, in *AddFriendReq, opts ...grpc.CallOption) (*CommonResp, error) + GetFriendApplyList(ctx context.Context, in *GetFriendApplyReq, opts ...grpc.CallOption) (*GetFriendApplyResp, error) + GetFriendList(ctx context.Context, in *GetFriendListReq, opts ...grpc.CallOption) (*GetFriendListResp, error) + AddBlacklist(ctx context.Context, in *AddBlacklistReq, opts ...grpc.CallOption) (*CommonResp, error) + RemoveBlacklist(ctx context.Context, in *RemoveBlacklistReq, opts ...grpc.CallOption) (*CommonResp, error) + IsInBlackList(ctx context.Context, in *IsInBlackListReq, opts ...grpc.CallOption) (*IsInBlackListResp, error) + GetBlacklist(ctx context.Context, in *GetBlacklistReq, opts ...grpc.CallOption) (*GetBlacklistResp, error) + DeleteFriend(ctx context.Context, in *DeleteFriendReq, opts ...grpc.CallOption) (*CommonResp, error) + AddedFriend(ctx context.Context, in *AddedFriendReq, opts ...grpc.CallOption) (*CommonResp, error) + SetFriendComment(ctx context.Context, in *SetFriendCommentReq, opts ...grpc.CallOption) (*CommonResp, error) +} + +type friendClient struct { + cc *grpc.ClientConn +} + +func NewFriendClient(cc *grpc.ClientConn) FriendClient { + return &friendClient{cc} +} + +func (c *friendClient) SearchFriend(ctx context.Context, in *SearchFriendReq, opts ...grpc.CallOption) (*SearchFriendResp, error) { + out := new(SearchFriendResp) + err := c.cc.Invoke(ctx, "/friend.friend/searchFriend", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *friendClient) AddFriend(ctx context.Context, in *AddFriendReq, opts ...grpc.CallOption) (*CommonResp, error) { + out := new(CommonResp) + err := c.cc.Invoke(ctx, "/friend.friend/addFriend", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *friendClient) GetFriendApplyList(ctx context.Context, in *GetFriendApplyReq, opts ...grpc.CallOption) (*GetFriendApplyResp, error) { + out := new(GetFriendApplyResp) + err := c.cc.Invoke(ctx, "/friend.friend/getFriendApplyList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *friendClient) GetFriendList(ctx context.Context, in *GetFriendListReq, opts ...grpc.CallOption) (*GetFriendListResp, error) { + out := new(GetFriendListResp) + err := c.cc.Invoke(ctx, "/friend.friend/getFriendList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *friendClient) AddBlacklist(ctx context.Context, in *AddBlacklistReq, opts ...grpc.CallOption) (*CommonResp, error) { + out := new(CommonResp) + err := c.cc.Invoke(ctx, "/friend.friend/addBlacklist", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *friendClient) RemoveBlacklist(ctx context.Context, in *RemoveBlacklistReq, opts ...grpc.CallOption) (*CommonResp, error) { + out := new(CommonResp) + err := c.cc.Invoke(ctx, "/friend.friend/removeBlacklist", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *friendClient) IsInBlackList(ctx context.Context, in *IsInBlackListReq, opts ...grpc.CallOption) (*IsInBlackListResp, error) { + out := new(IsInBlackListResp) + err := c.cc.Invoke(ctx, "/friend.friend/isInBlackList", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *friendClient) GetBlacklist(ctx context.Context, in *GetBlacklistReq, opts ...grpc.CallOption) (*GetBlacklistResp, error) { + out := new(GetBlacklistResp) + err := c.cc.Invoke(ctx, "/friend.friend/getBlacklist", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *friendClient) DeleteFriend(ctx context.Context, in *DeleteFriendReq, opts ...grpc.CallOption) (*CommonResp, error) { + out := new(CommonResp) + err := c.cc.Invoke(ctx, "/friend.friend/deleteFriend", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *friendClient) AddedFriend(ctx context.Context, in *AddedFriendReq, opts ...grpc.CallOption) (*CommonResp, error) { + out := new(CommonResp) + err := c.cc.Invoke(ctx, "/friend.friend/addedFriend", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *friendClient) SetFriendComment(ctx context.Context, in *SetFriendCommentReq, opts ...grpc.CallOption) (*CommonResp, error) { + out := new(CommonResp) + err := c.cc.Invoke(ctx, "/friend.friend/setFriendComment", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// FriendServer is the server API for Friend service. +type FriendServer interface { + SearchFriend(context.Context, *SearchFriendReq) (*SearchFriendResp, error) + AddFriend(context.Context, *AddFriendReq) (*CommonResp, error) + GetFriendApplyList(context.Context, *GetFriendApplyReq) (*GetFriendApplyResp, error) + GetFriendList(context.Context, *GetFriendListReq) (*GetFriendListResp, error) + AddBlacklist(context.Context, *AddBlacklistReq) (*CommonResp, error) + RemoveBlacklist(context.Context, *RemoveBlacklistReq) (*CommonResp, error) + IsInBlackList(context.Context, *IsInBlackListReq) (*IsInBlackListResp, error) + GetBlacklist(context.Context, *GetBlacklistReq) (*GetBlacklistResp, error) + DeleteFriend(context.Context, *DeleteFriendReq) (*CommonResp, error) + AddedFriend(context.Context, *AddedFriendReq) (*CommonResp, error) + SetFriendComment(context.Context, *SetFriendCommentReq) (*CommonResp, error) +} + +// UnimplementedFriendServer can be embedded to have forward compatible implementations. +type UnimplementedFriendServer struct { +} + +func (*UnimplementedFriendServer) SearchFriend(ctx context.Context, req *SearchFriendReq) (*SearchFriendResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SearchFriend not implemented") +} +func (*UnimplementedFriendServer) AddFriend(ctx context.Context, req *AddFriendReq) (*CommonResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddFriend not implemented") +} +func (*UnimplementedFriendServer) GetFriendApplyList(ctx context.Context, req *GetFriendApplyReq) (*GetFriendApplyResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetFriendApplyList not implemented") +} +func (*UnimplementedFriendServer) GetFriendList(ctx context.Context, req *GetFriendListReq) (*GetFriendListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetFriendList not implemented") +} +func (*UnimplementedFriendServer) AddBlacklist(ctx context.Context, req *AddBlacklistReq) (*CommonResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddBlacklist not implemented") +} +func (*UnimplementedFriendServer) RemoveBlacklist(ctx context.Context, req *RemoveBlacklistReq) (*CommonResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method RemoveBlacklist not implemented") +} +func (*UnimplementedFriendServer) IsInBlackList(ctx context.Context, req *IsInBlackListReq) (*IsInBlackListResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method IsInBlackList not implemented") +} +func (*UnimplementedFriendServer) GetBlacklist(ctx context.Context, req *GetBlacklistReq) (*GetBlacklistResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetBlacklist not implemented") +} +func (*UnimplementedFriendServer) DeleteFriend(ctx context.Context, req *DeleteFriendReq) (*CommonResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method DeleteFriend not implemented") +} +func (*UnimplementedFriendServer) AddedFriend(ctx context.Context, req *AddedFriendReq) (*CommonResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method AddedFriend not implemented") +} +func (*UnimplementedFriendServer) SetFriendComment(ctx context.Context, req *SetFriendCommentReq) (*CommonResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method SetFriendComment not implemented") +} + +func RegisterFriendServer(s *grpc.Server, srv FriendServer) { + s.RegisterService(&_Friend_serviceDesc, srv) +} + +func _Friend_SearchFriend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SearchFriendReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FriendServer).SearchFriend(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/friend.friend/SearchFriend", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FriendServer).SearchFriend(ctx, req.(*SearchFriendReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Friend_AddFriend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddFriendReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FriendServer).AddFriend(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/friend.friend/AddFriend", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FriendServer).AddFriend(ctx, req.(*AddFriendReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Friend_GetFriendApplyList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetFriendApplyReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FriendServer).GetFriendApplyList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/friend.friend/GetFriendApplyList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FriendServer).GetFriendApplyList(ctx, req.(*GetFriendApplyReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Friend_GetFriendList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetFriendListReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FriendServer).GetFriendList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/friend.friend/GetFriendList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FriendServer).GetFriendList(ctx, req.(*GetFriendListReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Friend_AddBlacklist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddBlacklistReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FriendServer).AddBlacklist(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/friend.friend/AddBlacklist", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FriendServer).AddBlacklist(ctx, req.(*AddBlacklistReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Friend_RemoveBlacklist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveBlacklistReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FriendServer).RemoveBlacklist(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/friend.friend/RemoveBlacklist", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FriendServer).RemoveBlacklist(ctx, req.(*RemoveBlacklistReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Friend_IsInBlackList_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(IsInBlackListReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FriendServer).IsInBlackList(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/friend.friend/IsInBlackList", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FriendServer).IsInBlackList(ctx, req.(*IsInBlackListReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Friend_GetBlacklist_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetBlacklistReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FriendServer).GetBlacklist(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/friend.friend/GetBlacklist", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FriendServer).GetBlacklist(ctx, req.(*GetBlacklistReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Friend_DeleteFriend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteFriendReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FriendServer).DeleteFriend(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/friend.friend/DeleteFriend", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FriendServer).DeleteFriend(ctx, req.(*DeleteFriendReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Friend_AddedFriend_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddedFriendReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FriendServer).AddedFriend(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/friend.friend/AddedFriend", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FriendServer).AddedFriend(ctx, req.(*AddedFriendReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _Friend_SetFriendComment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetFriendCommentReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(FriendServer).SetFriendComment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/friend.friend/SetFriendComment", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(FriendServer).SetFriendComment(ctx, req.(*SetFriendCommentReq)) + } + return interceptor(ctx, in, info, handler) +} + +var _Friend_serviceDesc = grpc.ServiceDesc{ + ServiceName: "friend.friend", + HandlerType: (*FriendServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "searchFriend", + Handler: _Friend_SearchFriend_Handler, + }, + { + MethodName: "addFriend", + Handler: _Friend_AddFriend_Handler, + }, + { + MethodName: "getFriendApplyList", + Handler: _Friend_GetFriendApplyList_Handler, + }, + { + MethodName: "getFriendList", + Handler: _Friend_GetFriendList_Handler, + }, + { + MethodName: "addBlacklist", + Handler: _Friend_AddBlacklist_Handler, + }, + { + MethodName: "removeBlacklist", + Handler: _Friend_RemoveBlacklist_Handler, + }, + { + MethodName: "isInBlackList", + Handler: _Friend_IsInBlackList_Handler, + }, + { + MethodName: "getBlacklist", + Handler: _Friend_GetBlacklist_Handler, + }, + { + MethodName: "deleteFriend", + Handler: _Friend_DeleteFriend_Handler, + }, + { + MethodName: "addedFriend", + Handler: _Friend_AddedFriend_Handler, + }, + { + MethodName: "setFriendComment", + Handler: _Friend_SetFriendComment_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "friend/friend.proto", +} diff --git a/src/proto/friend/friend.proto b/src/proto/friend/friend.proto new file mode 100644 index 000000000..eb69dff2e --- /dev/null +++ b/src/proto/friend/friend.proto @@ -0,0 +1,159 @@ +syntax = "proto3"; +option go_package = "friend;friend"; +package friend; + +message CommonResp{ + int32 errorCode = 1; + string errorMsg = 2; +} + +message SearchFriendReq{ + string uid = 1; + string OperationID = 2; + string Token = 3; +} +message SearchFriendResp{ + int32 errorCode = 1; + string errorMsg = 2; + SearchFriendData Data = 3; +} + +message SearchFriendData{ + string uid = 1; + string icon = 2; + string name = 3; + int32 gender = 4; + string mobile = 5; + string birth = 6; + string email = 7; + string ex = 8; + string comment = 9; + int32 isFriend = 10; + int32 isInBlackList = 11; +} + +message AddFriendReq{ + string uid = 1; + string OperationID = 2; + string Token = 3; + string ReqMessage = 4; +} + + +message GetFriendApplyReq{ + string OperationID = 1; + string Token = 2; +} +message GetFriendApplyResp{ + int32 errorCode = 1; + string errorMsg = 2; + repeated ApplyUserInfo data = 4; +} + +message ApplyUserInfo{ + string uid = 1; + string name = 2; + string icon = 3; + int32 gender = 4; + string mobile = 5; + string birth = 6; + string email = 7; + string ex = 8; + int32 flag = 9; + string applyTime = 10; + string reqMessage = 11; +} + + +message getFriendListReq{ + string OperationID = 1; + string Token = 2; +} +message getFriendListResp{ + int32 errorCode = 1; + string errorMsg = 2; + repeated UserInfo data = 3; +} +message UserInfo{ + string uid = 1; + string name = 3; + string icon = 2; + int32 gender = 4; + string mobile = 5; + string birth = 6; + string email = 7; + string ex = 8; + string comment = 9; + int32 isInBlackList = 10; +} + +message AddBlacklistReq{ + string uid = 1; + string OperationID = 2; + string Token = 3; +} + + +message RemoveBlacklistReq{ + string uid = 1; + string OperationID = 2; + string Token = 3; +} + + +message GetBlacklistReq{ + string OperationID = 1; + string token = 2; +} +message GetBlacklistResp{ + int32 errorCode = 1; + string errorMsg = 2; + repeated UserInfo data = 3; +} + + +message IsInBlackListReq{ + string sendUid = 1; + string receiveUid = 2; + string OperationID = 3; +} +message IsInBlackListResp{ + int32 errorCode = 1; + string errorMsg = 2; + bool response = 3; +} + +message DeleteFriendReq{ + string uid = 1; + string OperationID = 2; + string Token = 3; +} + + +message AddedFriendReq{ + string uid = 1; + int32 flag = 2; + string OperationID = 3; + string Token = 4; +} + +message SetFriendCommentReq{ + string uid = 1; + string operationID = 2; + string comment = 3; + string token = 4; +} + +service friend{ + rpc searchFriend(SearchFriendReq) returns(SearchFriendResp); + rpc addFriend(AddFriendReq) returns(CommonResp); + rpc getFriendApplyList(GetFriendApplyReq) returns(GetFriendApplyResp); + rpc getFriendList(getFriendListReq) returns(getFriendListResp); + rpc addBlacklist(AddBlacklistReq) returns(CommonResp); + rpc removeBlacklist(RemoveBlacklistReq) returns(CommonResp); + rpc isInBlackList(IsInBlackListReq) returns(IsInBlackListResp); + rpc getBlacklist(GetBlacklistReq) returns(GetBlacklistResp); + rpc deleteFriend(DeleteFriendReq) returns(CommonResp); + rpc addedFriend(AddedFriendReq) returns(CommonResp); + rpc setFriendComment(SetFriendCommentReq) returns(CommonResp); +} \ No newline at end of file diff --git a/src/proto/user/user.pb.go b/src/proto/user/user.pb.go new file mode 100644 index 000000000..7aa964a06 --- /dev/null +++ b/src/proto/user/user.pb.go @@ -0,0 +1,584 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: user/user.proto + +package user + +import ( + context "context" + fmt "fmt" + proto "github.com/golang/protobuf/proto" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" + math "math" +) + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +// A compilation error at this line likely means your copy of the +// proto package needs to be updated. +const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package + +type CommonResp struct { + ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode,proto3" json:"errorCode,omitempty"` + ErrorMsg string `protobuf:"bytes,2,opt,name=errorMsg,proto3" json:"errorMsg,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +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_ed89022014131a74, []int{0} +} + +func (m *CommonResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_CommonResp.Unmarshal(m, b) +} +func (m *CommonResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_CommonResp.Marshal(b, m, deterministic) +} +func (m *CommonResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_CommonResp.Merge(m, src) +} +func (m *CommonResp) XXX_Size() int { + return xxx_messageInfo_CommonResp.Size(m) +} +func (m *CommonResp) XXX_DiscardUnknown() { + xxx_messageInfo_CommonResp.DiscardUnknown(m) +} + +var xxx_messageInfo_CommonResp proto.InternalMessageInfo + +func (m *CommonResp) GetErrorCode() int32 { + if m != nil { + return m.ErrorCode + } + return 0 +} + +func (m *CommonResp) GetErrorMsg() string { + if m != nil { + return m.ErrorMsg + } + return "" +} + +type GetUserInfoReq struct { + UserIDList []string `protobuf:"bytes,1,rep,name=userIDList,proto3" json:"userIDList,omitempty"` + Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` + OperationID string `protobuf:"bytes,3,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +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_ed89022014131a74, []int{1} +} + +func (m *GetUserInfoReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserInfoReq.Unmarshal(m, b) +} +func (m *GetUserInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserInfoReq.Marshal(b, m, deterministic) +} +func (m *GetUserInfoReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserInfoReq.Merge(m, src) +} +func (m *GetUserInfoReq) XXX_Size() int { + return xxx_messageInfo_GetUserInfoReq.Size(m) +} +func (m *GetUserInfoReq) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserInfoReq.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserInfoReq proto.InternalMessageInfo + +func (m *GetUserInfoReq) GetUserIDList() []string { + if m != nil { + return m.UserIDList + } + return nil +} + +func (m *GetUserInfoReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *GetUserInfoReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +type GetUserInfoResp struct { + ErrorCode int32 `protobuf:"varint,1,opt,name=errorCode,proto3" json:"errorCode,omitempty"` + ErrorMsg string `protobuf:"bytes,2,opt,name=errorMsg,proto3" json:"errorMsg,omitempty"` + Data []*UserInfo `protobuf:"bytes,3,rep,name=Data,proto3" json:"Data,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +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_ed89022014131a74, []int{2} +} + +func (m *GetUserInfoResp) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_GetUserInfoResp.Unmarshal(m, b) +} +func (m *GetUserInfoResp) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_GetUserInfoResp.Marshal(b, m, deterministic) +} +func (m *GetUserInfoResp) XXX_Merge(src proto.Message) { + xxx_messageInfo_GetUserInfoResp.Merge(m, src) +} +func (m *GetUserInfoResp) XXX_Size() int { + return xxx_messageInfo_GetUserInfoResp.Size(m) +} +func (m *GetUserInfoResp) XXX_DiscardUnknown() { + xxx_messageInfo_GetUserInfoResp.DiscardUnknown(m) +} + +var xxx_messageInfo_GetUserInfoResp proto.InternalMessageInfo + +func (m *GetUserInfoResp) GetErrorCode() int32 { + if m != nil { + return m.ErrorCode + } + return 0 +} + +func (m *GetUserInfoResp) GetErrorMsg() string { + if m != nil { + return m.ErrorMsg + } + return "" +} + +func (m *GetUserInfoResp) GetData() []*UserInfo { + if m != nil { + return m.Data + } + return nil +} + +type UserInfo struct { + Uid string `protobuf:"bytes,1,opt,name=uid,proto3" json:"uid,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Icon string `protobuf:"bytes,3,opt,name=icon,proto3" json:"icon,omitempty"` + Gender int32 `protobuf:"varint,4,opt,name=gender,proto3" json:"gender,omitempty"` + Mobile string `protobuf:"bytes,5,opt,name=mobile,proto3" json:"mobile,omitempty"` + Birth string `protobuf:"bytes,6,opt,name=birth,proto3" json:"birth,omitempty"` + Email string `protobuf:"bytes,7,opt,name=email,proto3" json:"email,omitempty"` + Ex string `protobuf:"bytes,8,opt,name=ex,proto3" json:"ex,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *UserInfo) Reset() { *m = UserInfo{} } +func (m *UserInfo) String() string { return proto.CompactTextString(m) } +func (*UserInfo) ProtoMessage() {} +func (*UserInfo) Descriptor() ([]byte, []int) { + return fileDescriptor_ed89022014131a74, []int{3} +} + +func (m *UserInfo) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UserInfo.Unmarshal(m, b) +} +func (m *UserInfo) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UserInfo.Marshal(b, m, deterministic) +} +func (m *UserInfo) XXX_Merge(src proto.Message) { + xxx_messageInfo_UserInfo.Merge(m, src) +} +func (m *UserInfo) XXX_Size() int { + return xxx_messageInfo_UserInfo.Size(m) +} +func (m *UserInfo) XXX_DiscardUnknown() { + xxx_messageInfo_UserInfo.DiscardUnknown(m) +} + +var xxx_messageInfo_UserInfo proto.InternalMessageInfo + +func (m *UserInfo) GetUid() string { + if m != nil { + return m.Uid + } + return "" +} + +func (m *UserInfo) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *UserInfo) GetIcon() string { + if m != nil { + return m.Icon + } + return "" +} + +func (m *UserInfo) GetGender() int32 { + if m != nil { + return m.Gender + } + return 0 +} + +func (m *UserInfo) GetMobile() string { + if m != nil { + return m.Mobile + } + return "" +} + +func (m *UserInfo) GetBirth() string { + if m != nil { + return m.Birth + } + return "" +} + +func (m *UserInfo) GetEmail() string { + if m != nil { + return m.Email + } + return "" +} + +func (m *UserInfo) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +type LogoutReq struct { + OperationID string `protobuf:"bytes,1,opt,name=OperationID,proto3" json:"OperationID,omitempty"` + Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"` + XXX_NoUnkeyedLiteral struct{} `json:"-"` + XXX_unrecognized []byte `json:"-"` + XXX_sizecache int32 `json:"-"` +} + +func (m *LogoutReq) Reset() { *m = LogoutReq{} } +func (m *LogoutReq) String() string { return proto.CompactTextString(m) } +func (*LogoutReq) ProtoMessage() {} +func (*LogoutReq) Descriptor() ([]byte, []int) { + return fileDescriptor_ed89022014131a74, []int{4} +} + +func (m *LogoutReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_LogoutReq.Unmarshal(m, b) +} +func (m *LogoutReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_LogoutReq.Marshal(b, m, deterministic) +} +func (m *LogoutReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_LogoutReq.Merge(m, src) +} +func (m *LogoutReq) XXX_Size() int { + return xxx_messageInfo_LogoutReq.Size(m) +} +func (m *LogoutReq) XXX_DiscardUnknown() { + xxx_messageInfo_LogoutReq.DiscardUnknown(m) +} + +var xxx_messageInfo_LogoutReq proto.InternalMessageInfo + +func (m *LogoutReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func (m *LogoutReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +type UpdateUserInfoReq struct { + Icon string `protobuf:"bytes,1,opt,name=icon,proto3" json:"icon,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Gender int32 `protobuf:"varint,3,opt,name=gender,proto3" json:"gender,omitempty"` + Mobile string `protobuf:"bytes,4,opt,name=mobile,proto3" json:"mobile,omitempty"` + Birth string `protobuf:"bytes,5,opt,name=birth,proto3" json:"birth,omitempty"` + Email string `protobuf:"bytes,6,opt,name=email,proto3" json:"email,omitempty"` + Ex string `protobuf:"bytes,7,opt,name=ex,proto3" json:"ex,omitempty"` + Token string `protobuf:"bytes,8,opt,name=token,proto3" json:"token,omitempty"` + OperationID string `protobuf:"bytes,9,opt,name=OperationID,proto3" 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_ed89022014131a74, []int{5} +} + +func (m *UpdateUserInfoReq) XXX_Unmarshal(b []byte) error { + return xxx_messageInfo_UpdateUserInfoReq.Unmarshal(m, b) +} +func (m *UpdateUserInfoReq) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { + return xxx_messageInfo_UpdateUserInfoReq.Marshal(b, m, deterministic) +} +func (m *UpdateUserInfoReq) XXX_Merge(src proto.Message) { + xxx_messageInfo_UpdateUserInfoReq.Merge(m, src) +} +func (m *UpdateUserInfoReq) XXX_Size() int { + return xxx_messageInfo_UpdateUserInfoReq.Size(m) +} +func (m *UpdateUserInfoReq) XXX_DiscardUnknown() { + xxx_messageInfo_UpdateUserInfoReq.DiscardUnknown(m) +} + +var xxx_messageInfo_UpdateUserInfoReq proto.InternalMessageInfo + +func (m *UpdateUserInfoReq) GetIcon() string { + if m != nil { + return m.Icon + } + return "" +} + +func (m *UpdateUserInfoReq) GetName() string { + if m != nil { + return m.Name + } + return "" +} + +func (m *UpdateUserInfoReq) GetGender() int32 { + if m != nil { + return m.Gender + } + return 0 +} + +func (m *UpdateUserInfoReq) GetMobile() string { + if m != nil { + return m.Mobile + } + return "" +} + +func (m *UpdateUserInfoReq) GetBirth() string { + if m != nil { + return m.Birth + } + return "" +} + +func (m *UpdateUserInfoReq) GetEmail() string { + if m != nil { + return m.Email + } + return "" +} + +func (m *UpdateUserInfoReq) GetEx() string { + if m != nil { + return m.Ex + } + return "" +} + +func (m *UpdateUserInfoReq) GetToken() string { + if m != nil { + return m.Token + } + return "" +} + +func (m *UpdateUserInfoReq) GetOperationID() string { + if m != nil { + return m.OperationID + } + return "" +} + +func init() { + proto.RegisterType((*CommonResp)(nil), "user.CommonResp") + proto.RegisterType((*GetUserInfoReq)(nil), "user.GetUserInfoReq") + proto.RegisterType((*GetUserInfoResp)(nil), "user.GetUserInfoResp") + proto.RegisterType((*UserInfo)(nil), "user.UserInfo") + proto.RegisterType((*LogoutReq)(nil), "user.LogoutReq") + proto.RegisterType((*UpdateUserInfoReq)(nil), "user.UpdateUserInfoReq") +} + +func init() { proto.RegisterFile("user/user.proto", fileDescriptor_ed89022014131a74) } + +var fileDescriptor_ed89022014131a74 = []byte{ + // 416 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x53, 0x4d, 0x8b, 0xd4, 0x40, + 0x10, 0xa5, 0x27, 0x1f, 0x9b, 0x54, 0x20, 0xbb, 0x16, 0xab, 0x36, 0x83, 0x48, 0xc8, 0x29, 0xa7, + 0x15, 0xd6, 0x9b, 0x7b, 0x73, 0x06, 0x65, 0x60, 0x45, 0x08, 0xec, 0xc5, 0x5b, 0xc6, 0x94, 0x99, + 0xe0, 0x24, 0x1d, 0x3b, 0x3d, 0x30, 0x37, 0xff, 0x92, 0xff, 0xc8, 0xbf, 0x22, 0xdd, 0xc9, 0x4c, + 0x32, 0x33, 0xd1, 0x8b, 0x97, 0x50, 0xef, 0x75, 0xa8, 0xaa, 0xf7, 0xaa, 0x0a, 0xae, 0x77, 0x2d, + 0xc9, 0x37, 0xfa, 0x73, 0xd7, 0x48, 0xa1, 0x04, 0xda, 0x3a, 0x8e, 0x3f, 0x00, 0x2c, 0x44, 0x55, + 0x89, 0x3a, 0xa5, 0xb6, 0xc1, 0x57, 0xe0, 0x93, 0x94, 0x42, 0x2e, 0x44, 0x4e, 0x9c, 0x45, 0x2c, + 0x71, 0xd2, 0x81, 0xc0, 0x39, 0x78, 0x06, 0x7c, 0x6a, 0x0b, 0x3e, 0x8b, 0x58, 0xe2, 0xa7, 0x47, + 0x1c, 0x6f, 0x20, 0xfc, 0x48, 0xea, 0xa9, 0x25, 0xb9, 0xaa, 0xbf, 0x89, 0x94, 0x7e, 0xe0, 0x6b, + 0x00, 0x5d, 0x61, 0xb5, 0x7c, 0x2c, 0x5b, 0xc5, 0x59, 0x64, 0x25, 0x7e, 0x3a, 0x62, 0xf0, 0x16, + 0x1c, 0x25, 0xbe, 0x53, 0xdd, 0xa7, 0xea, 0x00, 0x46, 0x10, 0x7c, 0x6e, 0x48, 0x66, 0xaa, 0x14, + 0xf5, 0x6a, 0xc9, 0x2d, 0xf3, 0x36, 0xa6, 0x62, 0x01, 0xd7, 0x27, 0x95, 0xfe, 0xa7, 0x6d, 0x8c, + 0xc1, 0x5e, 0x66, 0x2a, 0xe3, 0x56, 0x64, 0x25, 0xc1, 0x7d, 0x78, 0x67, 0xfc, 0x39, 0xe6, 0x36, + 0x6f, 0xf1, 0x2f, 0x06, 0xde, 0x81, 0xc2, 0x1b, 0xb0, 0x76, 0x65, 0x6e, 0x8a, 0xf8, 0xa9, 0x0e, + 0x11, 0xc1, 0xae, 0xb3, 0x8a, 0xfa, 0xd4, 0x26, 0xd6, 0x5c, 0xf9, 0x55, 0xd4, 0x7d, 0xfb, 0x26, + 0xc6, 0x17, 0xe0, 0x16, 0x54, 0xe7, 0x24, 0xb9, 0x6d, 0x3a, 0xec, 0x91, 0xe6, 0x2b, 0xb1, 0x2e, + 0xb7, 0xc4, 0x1d, 0xf3, 0x77, 0x8f, 0xb4, 0x3f, 0xeb, 0x52, 0xaa, 0x0d, 0x77, 0x3b, 0x7f, 0x0c, + 0xd0, 0x2c, 0x55, 0x59, 0xb9, 0xe5, 0x57, 0x1d, 0x6b, 0x00, 0x86, 0x30, 0xa3, 0x3d, 0xf7, 0x0c, + 0x35, 0xa3, 0x7d, 0xbc, 0x00, 0xff, 0x51, 0x14, 0x62, 0xa7, 0xf4, 0x20, 0xce, 0x2c, 0x65, 0x17, + 0x96, 0x4e, 0x8f, 0x22, 0xfe, 0xcd, 0xe0, 0xd9, 0x53, 0x93, 0x67, 0x8a, 0xc6, 0x63, 0x3d, 0x48, + 0x63, 0x23, 0x69, 0x53, 0x16, 0x0c, 0x72, 0xad, 0xbf, 0xc8, 0xb5, 0xa7, 0xe5, 0x3a, 0x93, 0x72, + 0xdd, 0x4b, 0xb9, 0x57, 0x07, 0xb9, 0x43, 0xff, 0xde, 0x3f, 0x56, 0xc9, 0xbf, 0xd0, 0x7d, 0xff, + 0x13, 0xcc, 0x11, 0xe0, 0x3b, 0x08, 0x8a, 0x61, 0xa5, 0xf0, 0xb6, 0x5b, 0x83, 0xd3, 0x7d, 0x9e, + 0x3f, 0x9f, 0x60, 0xdb, 0x06, 0x1f, 0x20, 0x3c, 0x35, 0x09, 0x5f, 0xf6, 0x5b, 0x74, 0x6e, 0xdd, + 0xfc, 0xa6, 0x7b, 0x18, 0xee, 0xed, 0x7d, 0xf0, 0xc5, 0xd7, 0xd4, 0x83, 0xfe, 0xac, 0x5d, 0x73, + 0x97, 0x6f, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0xf8, 0x6d, 0x34, 0xa2, 0xaa, 0x03, 0x00, 0x00, +} + +// Reference imports to suppress errors if they are not otherwise used. +var _ context.Context +var _ grpc.ClientConn + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +const _ = grpc.SupportPackageIsVersion4 + +// UserClient is the client API for User service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. +type UserClient interface { + GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts ...grpc.CallOption) (*GetUserInfoResp, error) + UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, opts ...grpc.CallOption) (*CommonResp, error) +} + +type userClient struct { + cc *grpc.ClientConn +} + +func NewUserClient(cc *grpc.ClientConn) UserClient { + return &userClient{cc} +} + +func (c *userClient) GetUserInfo(ctx context.Context, in *GetUserInfoReq, opts ...grpc.CallOption) (*GetUserInfoResp, error) { + out := new(GetUserInfoResp) + err := c.cc.Invoke(ctx, "/user.user/getUserInfo", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *userClient) UpdateUserInfo(ctx context.Context, in *UpdateUserInfoReq, opts ...grpc.CallOption) (*CommonResp, error) { + out := new(CommonResp) + err := c.cc.Invoke(ctx, "/user.user/UpdateUserInfo", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +// UserServer is the server API for User service. +type UserServer interface { + GetUserInfo(context.Context, *GetUserInfoReq) (*GetUserInfoResp, error) + UpdateUserInfo(context.Context, *UpdateUserInfoReq) (*CommonResp, error) +} + +// UnimplementedUserServer can be embedded to have forward compatible implementations. +type UnimplementedUserServer struct { +} + +func (*UnimplementedUserServer) GetUserInfo(ctx context.Context, req *GetUserInfoReq) (*GetUserInfoResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetUserInfo not implemented") +} +func (*UnimplementedUserServer) UpdateUserInfo(ctx context.Context, req *UpdateUserInfoReq) (*CommonResp, error) { + return nil, status.Errorf(codes.Unimplemented, "method UpdateUserInfo not implemented") +} + +func RegisterUserServer(s *grpc.Server, srv UserServer) { + s.RegisterService(&_User_serviceDesc, srv) +} + +func _User_GetUserInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetUserInfoReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserServer).GetUserInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/user.user/GetUserInfo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserServer).GetUserInfo(ctx, req.(*GetUserInfoReq)) + } + return interceptor(ctx, in, info, handler) +} + +func _User_UpdateUserInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateUserInfoReq) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(UserServer).UpdateUserInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/user.user/UpdateUserInfo", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(UserServer).UpdateUserInfo(ctx, req.(*UpdateUserInfoReq)) + } + return interceptor(ctx, in, info, handler) +} + +var _User_serviceDesc = grpc.ServiceDesc{ + ServiceName: "user.user", + HandlerType: (*UserServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "getUserInfo", + Handler: _User_GetUserInfo_Handler, + }, + { + MethodName: "UpdateUserInfo", + Handler: _User_UpdateUserInfo_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "user/user.proto", +} diff --git a/src/proto/user/user.proto b/src/proto/user/user.proto new file mode 100644 index 000000000..0046442c4 --- /dev/null +++ b/src/proto/user/user.proto @@ -0,0 +1,52 @@ +syntax = "proto3"; +option go_package = "user;user"; +package user; + +message CommonResp{ + int32 errorCode = 1; + string errorMsg = 2; +} + +message GetUserInfoReq{ + repeated string userIDList = 1; + string token = 2; + string OperationID = 3; +} +message GetUserInfoResp{ + int32 errorCode = 1; + string errorMsg = 2; + repeated UserInfo Data = 3; +} +message UserInfo{ + string uid = 1; + string name = 2; + string icon = 3; + int32 gender = 4; + string mobile = 5; + string birth = 6; + string email = 7; + string ex = 8; +} + + +message LogoutReq{ + string OperationID = 1; + string token = 2; +} + +message UpdateUserInfoReq{ + string icon = 1; + string name = 2; + int32 gender = 3; + string mobile = 4; + string birth = 5; + string email = 6; + string ex = 7; + string token = 8; + string OperationID = 9; +} + +service user { + rpc getUserInfo(GetUserInfoReq) returns(GetUserInfoResp); + rpc UpdateUserInfo(UpdateUserInfoReq) returns(CommonResp); +} diff --git a/src/rpc/auth/open_im_auth.go b/src/rpc/auth/open_im_auth.go new file mode 100644 index 000000000..765d83264 --- /dev/null +++ b/src/rpc/auth/open_im_auth.go @@ -0,0 +1,13 @@ +package main + +import ( + rpcAuth "Open_IM/src/rpc/auth/auth" + "flag" +) + +func main() { + rpcPort := flag.Int("port", 10600, "RpcToken default listen port 10800") + flag.Parse() + rpcServer := rpcAuth.NewRpcAuthServer(*rpcPort) + rpcServer.Run() +} diff --git a/src/rpc/chat/Makefile b/src/rpc/chat/Makefile new file mode 100644 index 000000000..2a2d08918 --- /dev/null +++ b/src/rpc/chat/Makefile @@ -0,0 +1,25 @@ +.PHONY: all build run gotool install clean help + +BINARY_NAME=open_im_msg +BIN_DIR=../../../bin/ +LAN_FILE=.go +GO_FILE:=${BINARY_NAME}${LAN_FILE} + +all: gotool build + +build: + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-w -s" -o ${BINARY_NAME} ${GO_FILE} + +run: + @go run ./ + +gotool: + go fmt ./ + go vet ./ + +install: + make build + mv ${BINARY_NAME} ${BIN_DIR} + +clean: + @if [ -f ${BINARY_NAME} ] ; then rm ${BINARY_NAME} ; fi diff --git a/src/rpc/chat/chat/pull_message.go b/src/rpc/chat/chat/pull_message.go new file mode 100644 index 000000000..bbad5eb5d --- /dev/null +++ b/src/rpc/chat/chat/pull_message.go @@ -0,0 +1,159 @@ +//实现pb定义的rpc服务 +package rpcChat + +import ( + "context" + + commonDB "Open_IM/src/common/db" + "Open_IM/src/common/log" + + "sort" + "strings" + + pbMsg "Open_IM/src/proto/chat" +) + +func (rpc *rpcChat) GetNewSeq(_ context.Context, in *pbMsg.GetNewSeqReq) (*pbMsg.GetNewSeqResp, error) { + log.InfoByKv("rpc getNewSeq is arriving", in.OperationID, in.String()) + //seq, err := model.GetBiggestSeqFromReceive(in.UserID) + seq, err := commonDB.DB.GetUserSeq(in.UserID) + resp := new(pbMsg.GetNewSeqResp) + if err == nil { + resp.Seq = seq + resp.ErrCode = 0 + resp.ErrMsg = "" + return resp, err + } else { + log.ErrorByKv("getSeq from redis error", in.OperationID, "args", in.String(), "err", err.Error()) + resp.Seq = 0 + resp.ErrCode = 0 + resp.ErrMsg = "" + return resp, nil + } + +} + +//func (s *MsgServer) PullMessage(_ context.Context, in *pbMsg.PullMessageReq) (*pbMsg.PullMessageResp, error) { +// log.InfoByArgs(fmt.Sprintf("rpc pullMessage is arriving,args=%s", in.String())) +// resp := new(pbMsg.PullMessageResp) +// var respMsgFormat []*pbMsg.MsgFormat +// var respUserMsgFormat []*pbMsg.UserMsgFormat +// conn := db.NewDbConnection() +// rows, err := conn.Table("receive r").Select("c.sender_id,c.receiver_id,"+ +// "c.msg_type,c.push_msg_type,c.chat_type,c.msg_id,c.send_content,r.seq,c.send_time,c.sender_nickname,c.receiver_nickname,c.sender_head_url,c.receiver_head_url"). +// Joins("INNER JOIN chat_log c ON r.msg_id = c.msg_id AND r.user_id = ? AND seq BETWEEN ? AND ?", +// in.UserID, in.SeqBegin, in.SeqEnd).Rows() +// if err != nil { +// fmt.Printf("pullMsg data error: %v\n", err) +// resp.ErrCode = 1 +// resp.ErrMsg = err.Error() +// return resp, nil +// } +// defer rows.Close() +// for rows.Next() { +// tempResp := new(pbMsg.MsgFormat) +// rows.Scan(&tempResp.SendID, &tempResp.RecvID, &tempResp.MsgType, &tempResp.PushMsgType, &tempResp.ChatType, +// &tempResp.MsgID, &tempResp.Msg, &tempResp.Seq, &tempResp.Time, &tempResp.SendNickName, &tempResp.RecvNickName, +// &tempResp.SendHeadUrl, &tempResp.RecvHeadUrl) +// respMsgFormat = append(respMsgFormat, tempResp) +// } +// respUserMsgFormat = msgHandleByUser(respMsgFormat, in.UserID) +// return &pbMsg.PullMessageResp{ +// ErrCode: 0, +// ErrMsg: "", +// UserMsg: respUserMsgFormat, +// }, nil +//} +func (rpc *rpcChat) PullMessage(_ context.Context, in *pbMsg.PullMessageReq) (*pbMsg.PullMessageResp, error) { + log.InfoByKv("rpc pullMessage is arriving", in.OperationID, "args", in.String()) + resp := new(pbMsg.PullMessageResp) + var respSingleMsgFormat []*pbMsg.GatherFormat + var respGroupMsgFormat []*pbMsg.GatherFormat + SingleMsgFormat, GroupMsgFormat, MaxSeq, MinSeq, err := commonDB.DB.GetUserChat(in.UserID, in.SeqBegin, in.SeqEnd) + if err != nil { + log.ErrorByKv("pullMsg data error", in.OperationID, in.String()) + resp.ErrCode = 1 + resp.ErrMsg = err.Error() + return resp, nil + } + respSingleMsgFormat = singleMsgHandleByUser(SingleMsgFormat, in.UserID) + respGroupMsgFormat = groupMsgHandleByUser(GroupMsgFormat) + return &pbMsg.PullMessageResp{ + ErrCode: 0, + ErrMsg: "", + MaxSeq: MaxSeq, + MinSeq: MinSeq, + SingleUserMsg: respSingleMsgFormat, + GroupUserMsg: respGroupMsgFormat, + }, nil +} +func singleMsgHandleByUser(allMsg []*pbMsg.MsgFormat, ownerId string) []*pbMsg.GatherFormat { + var userid string + var respMsgFormat []*pbMsg.GatherFormat + m := make(map[string]MsgFormats) + //将消息以用户为维度聚集 + for _, v := range allMsg { + if v.RecvID != ownerId { + userid = v.RecvID + } else { + userid = v.SendID + } + if value, ok := m[userid]; !ok { + var t MsgFormats + m[userid] = append(t, v) + } else { + m[userid] = append(value, v) + } + } + //形成pb格式返回 + for user, msg := range m { + tempUserMsg := new(pbMsg.GatherFormat) + tempUserMsg.ID = user + tempUserMsg.List = msg + sort.Sort(msg) + respMsgFormat = append(respMsgFormat, tempUserMsg) + } + return respMsgFormat +} +func groupMsgHandleByUser(allMsg []*pbMsg.MsgFormat) []*pbMsg.GatherFormat { + var respMsgFormat []*pbMsg.GatherFormat + m := make(map[string]MsgFormats) + //将消息以用户为维度聚集 + for _, v := range allMsg { + //获得群ID + groupID := strings.Split(v.RecvID, " ")[1] + if value, ok := m[groupID]; !ok { + var t MsgFormats + m[groupID] = append(t, v) + } else { + m[groupID] = append(value, v) + } + + } + //形成pb格式返回 + for groupID, msg := range m { + tempUserMsg := new(pbMsg.GatherFormat) + tempUserMsg.ID = groupID + tempUserMsg.List = msg + sort.Sort(msg) + respMsgFormat = append(respMsgFormat, tempUserMsg) + } + return respMsgFormat +} + +type MsgFormats []*pbMsg.MsgFormat + +// 实现sort.Interface接口取元素数量方法 +func (s MsgFormats) Len() int { + return len(s) +} + +// 实现sort.Interface接口比较元素方法 +func (s MsgFormats) Less(i, j int) bool { + return s[i].SendTime < s[j].SendTime +} + +// 实现sort.Interface接口交换元素方法 +func (s MsgFormats) Swap(i, j int) { + s[i], s[j] = s[j], s[i] +} diff --git a/src/rpc/chat/chat/rpcChat.go b/src/rpc/chat/chat/rpcChat.go new file mode 100644 index 000000000..85a800bdb --- /dev/null +++ b/src/rpc/chat/chat/rpcChat.go @@ -0,0 +1,65 @@ +package rpcChat + +import ( + "Open_IM/src/common/config" + "Open_IM/src/common/kafka" + log2 "Open_IM/src/common/log" + pbChat "Open_IM/src/proto/chat" + "Open_IM/src/utils" + "github.com/skiffer-git/grpc-etcdv3/getcdv3" + "google.golang.org/grpc" + "net" + "strconv" + "strings" +) + +type rpcChat struct { + rpcPort int + rpcRegisterName string + etcdSchema string + etcdAddr []string + producer *kafka.Producer +} + +func NewRpcChatServer(port int) *rpcChat { + rc := rpcChat{ + rpcPort: port, + rpcRegisterName: config.Config.RpcRegisterName.OpenImOfflineMessageName, + etcdSchema: config.Config.Etcd.EtcdSchema, + etcdAddr: config.Config.Etcd.EtcdAddr, + } + rc.producer = kafka.NewKafkaProducer(config.Config.Kafka.Ws2mschat.Addr, config.Config.Kafka.Ws2mschat.Topic) + return &rc +} + +func (rpc *rpcChat) Run() { + log2.Info("", "", "rpc get_token init...") + + address := utils.ServerIP + ":" + strconv.Itoa(rpc.rpcPort) + listener, err := net.Listen("tcp", address) + if err != nil { + log2.Error("", "", "listen network failed, err = %s, address = %s", err.Error(), address) + return + } + log2.Info("", "", "listen network success, address = %s", address) + + //grpc server + srv := grpc.NewServer() + defer srv.GracefulStop() + + //service registers with etcd + + pbChat.RegisterChatServer(srv, rpc) + err = getcdv3.RegisterEtcd(rpc.etcdSchema, strings.Join(rpc.etcdAddr, ","), utils.ServerIP, rpc.rpcPort, rpc.rpcRegisterName, 10) + if err != nil { + log2.Error("", "", "register rpc get_token to etcd failed, err = %s", err.Error()) + return + } + + err = srv.Serve(listener) + if err != nil { + log2.Info("", "", "rpc get_token fail, err = %s", err.Error()) + return + } + log2.Info("", "", "rpc get_token init success") +} diff --git a/src/rpc/chat/chat/send_msg.go b/src/rpc/chat/chat/send_msg.go new file mode 100644 index 000000000..cd7e5e18e --- /dev/null +++ b/src/rpc/chat/chat/send_msg.go @@ -0,0 +1,50 @@ +package rpcChat + +import ( + "Open_IM/src/common/log" + pbChat "Open_IM/src/proto/chat" + "Open_IM/src/utils" + "context" + "math/rand" + "strconv" + "time" +) + +func (rpc *rpcChat) UserSendMsg(_ context.Context, pb *pbChat.UserSendMsgReq) (*pbChat.UserSendMsgResp, error) { + + serverMsgID := GetMsgID(pb.SendID) + pbData := pbChat.WSToMsgSvrChatMsg{} + pbData.MsgFrom = pb.MsgFrom + pbData.SessionType = pb.SessionType + pbData.ContentType = pb.ContentType + pbData.Content = pb.Content + pbData.RecvID = pb.RecvID + pbData.ForceList = pb.ForceList + pbData.OfflineInfo = pb.OffLineInfo + pbData.Options = pb.Options + pbData.PlatformID = pb.PlatformID + pbData.SendID = pb.SendID + pbData.MsgID = serverMsgID + pbData.OperationID = pb.OperationID + pbData.Token = pb.Token + pbData.SendTime = utils.GetCurrentTimestampBySecond() + rpc.sendMsgToKafka(&pbData, pbData.RecvID) + rpc.sendMsgToKafka(&pbData, pbData.SendID) + replay := pbChat.UserSendMsgResp{} + replay.ReqIdentifier = pb.ReqIdentifier + replay.MsgIncr = pb.MsgIncr + replay.ClientMsgID = pb.ClientMsgID + replay.ServerMsgID = serverMsgID + + return &replay, nil +} +func (rpc *rpcChat) sendMsgToKafka(m *pbChat.WSToMsgSvrChatMsg, key string) { + pid, offset, err := rpc.producer.SendMessage(m, key) + if err != nil { + log.ErrorByKv("kafka send failed", m.OperationID, "send data", m.String(), "pid", pid, "offset", offset, "err", err.Error()) + } +} +func GetMsgID(sendID string) string { + t := time.Now().Format("2006-01-02 15:04:05") + return t + "-" + sendID + "-" + strconv.Itoa(rand.Int()) +} diff --git a/src/rpc/chat/open_im_msg.go b/src/rpc/chat/open_im_msg.go new file mode 100644 index 000000000..e1a0a11a4 --- /dev/null +++ b/src/rpc/chat/open_im_msg.go @@ -0,0 +1,14 @@ +package main + +import ( + rpcChat "Open_IM/src/rpc/chat/chat" + "Open_IM/src/utils" + "flag" +) + +func main() { + rpcPort := flag.String("port", "", "rpc listening port") + flag.Parse() + rpcServer := rpcChat.NewRpcChatServer(utils.StringToInt(*rpcPort)) + rpcServer.Run() +}