From b7d724a5e45a83fb89000b0cf49103dff7be151f Mon Sep 17 00:00:00 2001 From: skiffer-git <44203734@qq.com> Date: Tue, 14 Feb 2023 10:57:52 +0800 Subject: [PATCH] Error code standardization --- internal/common/check/conversation.go | 15 ++++++ internal/common/check/group.go | 10 +++- internal/common/notification/msg.go | 13 ++--- internal/rpc/msg/callback.go | 2 +- internal/rpc/msg/send_pull.go | 68 ++------------------------- internal/rpc/msg/server.go | 1 + 6 files changed, 34 insertions(+), 75 deletions(-) create mode 100644 internal/common/check/conversation.go diff --git a/internal/common/check/conversation.go b/internal/common/check/conversation.go new file mode 100644 index 000000000..b56c35741 --- /dev/null +++ b/internal/common/check/conversation.go @@ -0,0 +1,15 @@ +package check + +import ( + discoveryRegistry "Open_IM/pkg/discoveryregistry" + pbConversation "Open_IM/pkg/proto/conversation" + "context" +) + +type ConversationChecker struct { + zk discoveryRegistry.SvcDiscoveryRegistry +} + +func (c *ConversationChecker) ModifyConversationField(ctx context.Context, req *pbConversation.ModifyConversationFieldReq) (resp *pbConversation.ModifyConversationFieldResp, err error) { + return +} diff --git a/internal/common/check/group.go b/internal/common/check/group.go index 4d30609c0..6af51075e 100644 --- a/internal/common/check/group.go +++ b/internal/common/check/group.go @@ -106,5 +106,13 @@ func (g *GroupChecker) GetGroupMemberInfoMap(ctx context.Context, groupID string } func (g *GroupChecker) GetOwnerAndAdminInfos(ctx context.Context, groupID string) ([]*sdkws.GroupMemberFullInfo, error) { - + cc, err := g.getConn() + if err != nil { + return nil, err + } + resp, err := group.NewGroupClient(cc).GetGroupMemberRoleLevel(ctx, &group.GetGroupMemberRoleLevelReq{ + GroupID: groupID, + RoleLevels: []int32{constant.GroupOwner, constant.GroupAdmin}, + }) + return resp.Members, err } diff --git a/internal/common/notification/msg.go b/internal/common/notification/msg.go index 771288713..137faf02f 100644 --- a/internal/common/notification/msg.go +++ b/internal/common/notification/msg.go @@ -2,26 +2,22 @@ package notification import ( "Open_IM/pkg/common/constant" - "Open_IM/pkg/common/log" "Open_IM/pkg/proto/sdkws" - "Open_IM/pkg/utils" "context" "github.com/golang/protobuf/jsonpb" "github.com/golang/protobuf/proto" ) func (c *Check) DeleteMessageNotification(ctx context.Context, userID string, seqList []uint32, operationID string) { - DeleteMessageTips := sdkws.DeleteMessageTips{OpUserID: opUserID, UserID: userID, SeqList: seqList} - c.MessageNotification(operationID, userID, userID, constant.DeleteMessageNotification, &DeleteMessageTips) + DeleteMessageTips := sdkws.DeleteMessageTips{UserID: userID, SeqList: seqList} + c.MessageNotification(ctx, userID, userID, constant.DeleteMessageNotification, &DeleteMessageTips) } -func (c *Check) MessageNotification(operationID, sendID, recvID string, contentType int32, m proto.Message) { - log.Debug(operationID, utils.GetSelfFuncName(), "args: ", m.String(), contentType) +func (c *Check) MessageNotification(ctx context.Context, sendID, recvID string, contentType int32, m proto.Message) { var err error var tips sdkws.TipsComm tips.Detail, err = proto.Marshal(m) if err != nil { - log.Error(operationID, "Marshal failed ", err.Error(), m.String()) return } @@ -40,8 +36,7 @@ func (c *Check) MessageNotification(operationID, sendID, recvID string, contentT n.MsgFrom = constant.SysMsgType n.Content, err = proto.Marshal(&tips) if err != nil { - log.Error(operationID, "Marshal failed ", err.Error(), tips.String()) return } - c.Notification(&n) + c.Notification(ctx, &n) } diff --git a/internal/rpc/msg/callback.go b/internal/rpc/msg/callback.go index c6848a82f..d82c776da 100644 --- a/internal/rpc/msg/callback.go +++ b/internal/rpc/msg/callback.go @@ -33,7 +33,7 @@ func copyCallbackCommonReqStruct(msg *pbChat.SendMsgReq) cbapi.CommonCallbackReq return req } -func callbackBeforeSendSingleMsg(msg *pbChat.SendMsgReq) error { +func callbackBeforeSendSingleMsg(msg *pbChat.SendMsgReq) (err error) { callbackResp := cbapi.CommonCallbackResp{OperationID: msg.OperationID} if !config.Config.Callback.CallbackBeforeSendSingleMsg.Enable { return callbackResp diff --git a/internal/rpc/msg/send_pull.go b/internal/rpc/msg/send_pull.go index 51298fe99..ebfde0851 100644 --- a/internal/rpc/msg/send_pull.go +++ b/internal/rpc/msg/send_pull.go @@ -116,13 +116,12 @@ func (m *msgServer) sendMsgGroupChat(ctx context.Context, req *msg.SendMsgReq) ( var memberKickedTips sdkws.MemberKickedTips err := proto.Unmarshal(req.MsgData.Content, &tips) if err != nil { - + return nil, err } err = proto.Unmarshal(tips.Detail, &memberKickedTips) if err != nil { - + return nil, err } - for _, v := range memberKickedTips.KickedUserList { addUidList = append(addUidList, v.UserID) } @@ -204,7 +203,7 @@ func (m *msgServer) sendMsgGroupChat(ctx context.Context, req *msg.SendMsgReq) ( conversation.GroupAtType = constant.AtMe } - _, err := m.ModifyConversationField(context.Background(), &conversationReq) + _, err := m.Conversation.ModifyConversationField(ctx, &conversationReq) if err != nil { return } @@ -212,7 +211,7 @@ func (m *msgServer) sendMsgGroupChat(ctx context.Context, req *msg.SendMsgReq) ( if tag { conversationReq.UserIDList = utils.DifferenceString(atUserID, memberUserIDList) conversation.GroupAtType = constant.AtAll - _, err := m.ModifyConversationField(context.Background(), &conversationReq) + _, err := m.Conversation.ModifyConversationField(ctx, &conversationReq) if err != nil { return } @@ -228,10 +227,6 @@ func (m *msgServer) sendMsgGroupChat(ctx context.Context, req *msg.SendMsgReq) ( return resp, nil } -func (m *msgServer) ModifyConversationField(ctx context.Context, req *pbConversation.ModifyConversationFieldReq) (*pbConversation.ModifyConversationFieldResp, error) { - -} - func (m *msgServer) SendMsg(ctx context.Context, req *msg.SendMsgReq) (resp *msg.SendMsgResp, error error) { resp = &msg.SendMsgResp{} flag := isMessageHasReadEnabled(req.MsgData) @@ -305,60 +300,5 @@ func (m *msgServer) PullMessageBySeqList(ctx context.Context, req *sdkws.PullMes MsgDataList: msgs, } } - - //redisMsgList, failedSeqList, err := commonDB.DB.GetMessageListBySeq(req.UserID, req.SeqList, req.OperationID) - //if err != nil { - // if err != go_redis.Nil { - // promePkg.PromeAdd(promePkg.MsgPullFromRedisFailedCounter, len(failedSeqList)) - // log.Error(req.OperationID, "get message from redis exception", err.Error(), failedSeqList) - // } else { - // log.Debug(req.OperationID, "get message from redis is nil", failedSeqList) - // } - // msgList, err1 := commonDB.DB.GetMsgBySeqListMongo2(req.UserID, failedSeqList, req.OperationID) - // if err1 != nil { - // promePkg.PromeAdd(promePkg.MsgPullFromMongoFailedCounter, len(failedSeqList)) - // log.Error(req.OperationID, "PullMessageBySeqList data error", req.String(), err1.Error()) - // resp.ErrCode = 201 - // resp.ErrMsg = err1.Error() - // return resp, nil - // } else { - // promePkg.PromeAdd(promePkg.MsgPullFromMongoSuccessCounter, len(msgList)) - // redisMsgList = append(redisMsgList, msgList...) - // resp.List = redisMsgList - // } - //} else { - // promePkg.PromeAdd(promePkg.MsgPullFromRedisSuccessCounter, len(redisMsgList)) - // resp.List = redisMsgList - //} - // - //for k, v := range req.GroupSeqList { - // x := new(sdkws.MsgDataList) - // redisMsgList, failedSeqList, err := commonDB.DB.GetMessageListBySeq(k, v.SeqList, req.OperationID) - // if err != nil { - // if err != go_redis.Nil { - // promePkg.PromeAdd(promePkg.MsgPullFromRedisFailedCounter, len(failedSeqList)) - // log.Error(req.OperationID, "get message from redis exception", err.Error(), failedSeqList) - // } else { - // log.Debug(req.OperationID, "get message from redis is nil", failedSeqList) - // } - // msgList, err1 := commonDB.DB.GetSuperGroupMsgBySeqListMongo(k, failedSeqList, req.OperationID) - // if err1 != nil { - // promePkg.PromeAdd(promePkg.MsgPullFromMongoFailedCounter, len(failedSeqList)) - // log.Error(req.OperationID, "PullMessageBySeqList data error", req.String(), err1.Error()) - // resp.ErrCode = 201 - // resp.ErrMsg = err1.Error() - // return resp, nil - // } else { - // promePkg.PromeAdd(promePkg.MsgPullFromMongoSuccessCounter, len(msgList)) - // redisMsgList = append(redisMsgList, msgList...) - // x.MsgDataList = redisMsgList - // m[k] = x - // } - // } else { - // promePkg.PromeAdd(promePkg.MsgPullFromRedisSuccessCounter, len(redisMsgList)) - // x.MsgDataList = redisMsgList - // m[k] = x - // } - //} return resp, nil } diff --git a/internal/rpc/msg/server.go b/internal/rpc/msg/server.go index 7b1dd3785..ae416ccf3 100644 --- a/internal/rpc/msg/server.go +++ b/internal/rpc/msg/server.go @@ -28,6 +28,7 @@ type msgServer struct { MsgInterface controller.MsgInterface Group *check.GroupChecker User *check.UserCheck + Conversation *check.ConversationChecker } type deleteMsg struct {