From 9eb0ee55f334d413059cdd6f6380b7c71a9943ce Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Tue, 14 Feb 2023 12:06:58 +0800 Subject: [PATCH] Error code standardization --- internal/common/check/conversation.go | 16 ++++++++++++++++ internal/common/check/friend.go | 25 ++++++++++++++++++++----- internal/common/check/msg.go | 4 ++++ internal/rpc/friend/black.go | 5 ++--- 4 files changed, 42 insertions(+), 8 deletions(-) diff --git a/internal/common/check/conversation.go b/internal/common/check/conversation.go index b56c35741..9ebb1b299 100644 --- a/internal/common/check/conversation.go +++ b/internal/common/check/conversation.go @@ -1,15 +1,31 @@ package check import ( + "Open_IM/pkg/common/config" discoveryRegistry "Open_IM/pkg/discoveryregistry" + "Open_IM/pkg/proto/conversation" pbConversation "Open_IM/pkg/proto/conversation" "context" + "google.golang.org/grpc" ) type ConversationChecker struct { zk discoveryRegistry.SvcDiscoveryRegistry } +func NewConversationChecker(zk discoveryRegistry.SvcDiscoveryRegistry) *ConversationChecker { + return &ConversationChecker{zk: zk} +} + func (c *ConversationChecker) ModifyConversationField(ctx context.Context, req *pbConversation.ModifyConversationFieldReq) (resp *pbConversation.ModifyConversationFieldResp, err error) { + cc, err := c.getConn() + if err != nil { + return nil, err + } + resp, err = conversation.NewConversationClient(cc).ModifyConversationField(ctx, req) return } + +func (c *ConversationChecker) getConn() (*grpc.ClientConn, error) { + return c.zk.GetConn(config.Config.RpcRegisterName.OpenImConversationName) +} diff --git a/internal/common/check/friend.go b/internal/common/check/friend.go index 1cc6f0389..6c258a38c 100644 --- a/internal/common/check/friend.go +++ b/internal/common/check/friend.go @@ -3,9 +3,9 @@ package check import ( "Open_IM/pkg/common/config" discoveryRegistry "Open_IM/pkg/discoveryregistry" + "Open_IM/pkg/proto/friend" sdkws "Open_IM/pkg/proto/sdkws" "context" - "errors" "google.golang.org/grpc" ) @@ -13,9 +13,24 @@ type FriendChecker struct { zk discoveryRegistry.SvcDiscoveryRegistry } -func (f *FriendChecker) GetFriendsInfo(ctx context.Context, ownerUserID, friendUserID string) (*sdkws.FriendInfo, error) { - return nil, errors.New("TODO:GetUserInfo") +func NewFriendChecker(zk discoveryRegistry.SvcDiscoveryRegistry) *FriendChecker { + return &FriendChecker{ + zk: zk, + } } -func (u *FriendChecker) getConn() (*grpc.ClientConn, error) { - return u.zk.GetConn(config.Config.RpcRegisterName.OpenImFriendName) + +func (f *FriendChecker) GetFriendsInfo(ctx context.Context, ownerUserID, friendUserID string) (resp *sdkws.FriendInfo, err error) { + cc, err := f.getConn() + if err != nil { + return nil, err + } + r, err := friend.NewFriendClient(cc).GetPaginationFriends(ctx, &friend.GetPaginationFriendsReq{OwnerUserID: ownerUserID, FriendUserIDs: []string{friendUserID}}) + if err != nil { + return nil, err + } + resp = r.FriendsInfo[0] + return +} +func (f *FriendChecker) getConn() (*grpc.ClientConn, error) { + return f.zk.GetConn(config.Config.RpcRegisterName.OpenImFriendName) } diff --git a/internal/common/check/msg.go b/internal/common/check/msg.go index c4f1dfc03..010ee1606 100644 --- a/internal/common/check/msg.go +++ b/internal/common/check/msg.go @@ -12,6 +12,10 @@ type MsgCheck struct { zk discoveryRegistry.SvcDiscoveryRegistry } +func NewMsgCheck(zk discoveryRegistry.SvcDiscoveryRegistry) *MsgCheck { + return &MsgCheck{zk: zk} +} + func (m *MsgCheck) getConn() (*grpc.ClientConn, error) { return m.zk.GetConn(config.Config.RpcRegisterName.OpenImMsgName) } diff --git a/internal/rpc/friend/black.go b/internal/rpc/friend/black.go index a77e3c267..9969fd478 100644 --- a/internal/rpc/friend/black.go +++ b/internal/rpc/friend/black.go @@ -1,7 +1,6 @@ package friend import ( - "Open_IM/internal/common/check" "Open_IM/internal/common/convert" "Open_IM/pkg/common/db/table/relation" "Open_IM/pkg/common/tokenverify" @@ -12,7 +11,7 @@ import ( func (s *friendServer) GetPaginationBlacks(ctx context.Context, req *pbFriend.GetPaginationBlacksReq) (resp *pbFriend.GetPaginationBlacksResp, err error) { resp = &pbFriend.GetPaginationBlacksResp{} - if err := check.Access(ctx, req.UserID); err != nil { + if err := s.userCheck.Access(ctx, req.UserID); err != nil { return nil, err } blacks, total, err := s.BlackInterface.FindOwnerBlacks(ctx, req.UserID, req.Pagination.PageNumber, req.Pagination.ShowNumber) @@ -40,7 +39,7 @@ func (s *friendServer) IsBlack(ctx context.Context, req *pbFriend.IsBlackReq) (* func (s *friendServer) RemoveBlack(ctx context.Context, req *pbFriend.RemoveBlackReq) (*pbFriend.RemoveBlackResp, error) { resp := &pbFriend.RemoveBlackResp{} - if err := check.Access(ctx, req.OwnerUserID); err != nil { + if err := s.userCheck.Access(ctx, req.OwnerUserID); err != nil { return nil, err } if err := s.BlackInterface.Delete(ctx, []*relation.BlackModel{{OwnerUserID: req.OwnerUserID, BlockUserID: req.BlackUserID}}); err != nil {