From 2a3cf5f0025ee0c438002bcfe4bba78681b1e62d Mon Sep 17 00:00:00 2001 From: wenxu12345 <44203734@qq.com> Date: Fri, 14 Jan 2022 16:48:42 +0800 Subject: [PATCH] Refactor code --- internal/rpc/msg/friend_notification.go | 203 ++++++++++++------------ 1 file changed, 105 insertions(+), 98 deletions(-) diff --git a/internal/rpc/msg/friend_notification.go b/internal/rpc/msg/friend_notification.go index df71e919f..1d130882e 100644 --- a/internal/rpc/msg/friend_notification.go +++ b/internal/rpc/msg/friend_notification.go @@ -4,6 +4,7 @@ import ( "Open_IM/pkg/common/constant" imdb "Open_IM/pkg/common/db/mysql_model/im_mysql_model" "Open_IM/pkg/common/log" + utils2 "Open_IM/pkg/common/utils" pbFriend "Open_IM/pkg/proto/friend" open_im_sdk "Open_IM/pkg/proto/sdk_ws" "Open_IM/pkg/utils" @@ -27,108 +28,99 @@ import ( // PublicUserInfo OpedUser = 3; //user2 //} -func getFromToUserNickname(fromUserID, toUserID string) (string, string) { - from, err1 := imdb.GetUserByUserID(fromUserID) - to, err2 := imdb.GetUserByUserID(toUserID) - if err1 != nil || err2 != nil { - log.NewError("FindUserByUID failed ", err1, err2, fromUserID, toUserID) - } - fromNickname, toNickname := "", "" - if from != nil { - fromNickname = from.Nickname +func getFromToUserNickname(fromUserID, toUserID string) (string, string, error) { + from, err := imdb.GetUserByUserID(fromUserID) + if err != nil { + return "", "", utils.Wrap(err, "") } - if to != nil { - toNickname = to.Nickname + to, err := imdb.GetUserByUserID(toUserID) + if err != nil { + return "", "", utils.Wrap(err, "") } - return fromNickname, toNickname + return from.Nickname, to.Nickname, nil } func FriendApplicationAddedNotification(req *pbFriend.AddFriendReq) { - var n NotificationMsg - n.SendID = req.CommID.FromUserID - n.RecvID = req.CommID.ToUserID - n.ContentType = constant.FriendApplicationAddedNotification - n.SessionType = constant.SingleChatType - n.MsgFrom = constant.SysMsgType - n.OperationID = req.CommID.OperationID - var FriendApplicationAddedTips open_im_sdk.FriendApplicationAddedTips FriendApplicationAddedTips.FromToUserID.FromUserID = req.CommID.FromUserID FriendApplicationAddedTips.FromToUserID.ToUserID = req.CommID.ToUserID - fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.OperationID, req.CommID.FromUserID, req.CommID.ToUserID) + fromUserNickname, toUserNickname, err := getFromToUserNickname(req.CommID.FromUserID, req.CommID.ToUserID) + if err != nil { + log.Error(req.CommID.OperationID, "getFromToUserNickname failed ", err.Error(), req.CommID.FromUserID, req.CommID.ToUserID) + return + } var tips open_im_sdk.TipsComm tips.Detail, _ = json.Marshal(FriendApplicationAddedTips) tips.DefaultTips = fromUserNickname + " FriendApplicationAddedNotification " + toUserNickname - n.Content, _ = json.Marshal(tips) - Notification(&n, true) -} -func FriendApplicationProcessedNotification(req *pbFriend.AddFriendResponseReq) { var n NotificationMsg n.SendID = req.CommID.FromUserID n.RecvID = req.CommID.ToUserID - n.ContentType = constant.FriendApplicationProcessedNotification + n.ContentType = constant.FriendApplicationAddedNotification n.SessionType = constant.SingleChatType n.MsgFrom = constant.SysMsgType n.OperationID = req.CommID.OperationID + n.Content, _ = json.Marshal(tips) + Notification(&n) +} +func FriendApplicationProcessedNotification(req *pbFriend.AddFriendResponseReq) { var FriendApplicationProcessedTips open_im_sdk.FriendApplicationProcessedTips FriendApplicationProcessedTips.FromToUserID.FromUserID = req.CommID.FromUserID FriendApplicationProcessedTips.FromToUserID.ToUserID = req.CommID.ToUserID - fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.OperationID, req.CommID.FromUserID, req.CommID.ToUserID) + fromUserNickname, toUserNickname, err := getFromToUserNickname(req.CommID.FromUserID, req.CommID.ToUserID) + if err != nil { + log.Error(req.CommID.OperationID, "getFromToUserNickname failed ", err.Error(), req.CommID.FromUserID, req.CommID.ToUserID) + return + } + var tips open_im_sdk.TipsComm tips.Detail, _ = json.Marshal(FriendApplicationProcessedTips) tips.DefaultTips = fromUserNickname + " FriendApplicationProcessedNotification " + toUserNickname - n.Content, _ = json.Marshal(tips) - Notification(&n) -} -func FriendAddedNotification(operationID, opUserID, fromUserID, toUserID string) { var n NotificationMsg - n.SendID = fromUserID - n.RecvID = toUserID - n.ContentType = constant.FriendAddedNotification + n.SendID = req.CommID.FromUserID + n.RecvID = req.CommID.ToUserID + n.ContentType = constant.FriendApplicationProcessedNotification n.SessionType = constant.SingleChatType n.MsgFrom = constant.SysMsgType - n.OperationID = operationID + n.OperationID = req.CommID.OperationID + n.Content, _ = json.Marshal(tips) + Notification(&n) +} +func FriendAddedNotification(operationID, opUserID, fromUserID, toUserID string) { var FriendAddedTips open_im_sdk.FriendAddedTips - user, err := imdb.GetUserByUserID(opUserID) if err != nil { - log.NewError(operationID, "FindUserByUID failed ", err.Error(), opUserID) - - } else { - utils.CopyStructFields(FriendAddedTips.OpUser, user) + log.NewError(operationID, "GetUserByUserID failed ", err.Error(), opUserID) + return } + utils.CopyStructFields(FriendAddedTips.OpUser, user) friend, err := imdb.GetFriendRelationshipFromFriend(fromUserID, toUserID) if err != nil { - log.NewError(operationID, "FindUserByUID failed ", err.Error(), fromUserID, toUserID) - } else { - FriendAddedTips.Friend.Remark = friend.Remark + log.NewError(operationID, "GetFriendRelationshipFromFriend failed ", err.Error(), fromUserID, toUserID) + return } + utils2.FriendDBCopyOpenIM(FriendAddedTips.Friend, friend) - from, err := imdb.GetUserByUserID(fromUserID) + fromUserNickname, toUserNickname, err := getFromToUserNickname(fromUserID, toUserID) if err != nil { - log.NewError(operationID, "FindUserByUID failed ", err.Error(), fromUserID) - - } else { - utils.CopyStructFields(FriendAddedTips.Friend, from) + log.Error(operationID, "getFromToUserNickname failed ", err.Error(), fromUserID, toUserID) + return } - to, err := imdb.GetUserByUserID(toUserID) - if err != nil { - log.NewError(operationID, "FindUserByUID failed ", err.Error(), toUserID) - - } else { - utils.CopyStructFields(FriendAddedTips.Friend.FriendUser, to) - } - - fromUserNickname, toUserNickname := from.Nickname, to.Nickname var tips open_im_sdk.TipsComm tips.Detail, _ = json.Marshal(FriendAddedTips) tips.DefaultTips = fromUserNickname + " FriendAddedNotification " + toUserNickname + var n NotificationMsg + n.SendID = fromUserID + n.RecvID = toUserID + n.ContentType = constant.FriendAddedNotification + n.SessionType = constant.SingleChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = operationID n.Content, _ = json.Marshal(tips) Notification(&n) } @@ -137,21 +129,25 @@ func FriendAddedNotification(operationID, opUserID, fromUserID, toUserID string) // FriendInfo Friend = 1; //} func FriendDeletedNotification(req *pbFriend.DeleteFriendReq) { - var n NotificationMsg - n.SendID = req.CommID.FromUserID - n.RecvID = req.CommID.ToUserID - n.ContentType = constant.FriendDeletedNotification - n.SessionType = constant.SingleChatType - n.MsgFrom = constant.SysMsgType - n.OperationID = req.CommID.OperationID var FriendDeletedTips open_im_sdk.FriendDeletedTips FriendDeletedTips.FromToUserID.FromUserID = req.CommID.FromUserID FriendDeletedTips.FromToUserID.ToUserID = req.CommID.ToUserID - fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.FromUserID, req.CommID.ToUserID) + fromUserNickname, toUserNickname, err := getFromToUserNickname(req.CommID.FromUserID, req.CommID.ToUserID) + if err != nil { + log.Error(req.CommID.OperationID, "getFromToUserNickname failed ", req.CommID.FromUserID, req.CommID.ToUserID) + return + } var tips open_im_sdk.TipsComm tips.Detail, _ = json.Marshal(FriendDeletedTips) tips.DefaultTips = fromUserNickname + " FriendDeletedNotification " + toUserNickname + var n NotificationMsg + n.SendID = req.CommID.FromUserID + n.RecvID = req.CommID.ToUserID + n.ContentType = constant.FriendDeletedNotification + n.SessionType = constant.SingleChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = req.CommID.OperationID n.Content, _ = json.Marshal(tips) Notification(&n) } @@ -162,6 +158,18 @@ func FriendDeletedNotification(req *pbFriend.DeleteFriendReq) { // uint64 OperationTime = 3; //} func FriendInfoChangedNotification(operationID, opUserID, fromUserID, toUserID string) { + + var FriendInfoChangedTips open_im_sdk.FriendInfoChangedTips + FriendInfoChangedTips.FromToUserID.FromUserID = fromUserID + FriendInfoChangedTips.FromToUserID.ToUserID = toUserID + fromUserNickname, toUserNickname, err := getFromToUserNickname(fromUserID, toUserID) + if err != nil { + log.Error(operationID, "getFromToUserNickname failed ", fromUserID, toUserID) + return + } + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(FriendInfoChangedTips) + tips.DefaultTips = fromUserNickname + " FriendDeletedNotification " + toUserNickname var n NotificationMsg n.SendID = fromUserID n.RecvID = toUserID @@ -170,33 +178,30 @@ func FriendInfoChangedNotification(operationID, opUserID, fromUserID, toUserID s n.MsgFrom = constant.SysMsgType n.OperationID = operationID - var FriendInfoChangedTips open_im_sdk.FriendInfoChangedTips - FriendInfoChangedTips.FromToUserID.FromUserID = fromUserID - FriendInfoChangedTips.FromToUserID.ToUserID = toUserID - fromUserNickname, toUserNickname := getFromToUserNickname(fromUserID, toUserID) - var tips open_im_sdk.TipsComm - tips.Detail, _ = json.Marshal(FriendInfoChangedTips) - tips.DefaultTips = fromUserNickname + " FriendDeletedNotification " + toUserNickname n.Content, _ = json.Marshal(tips) Notification(&n) } func BlackAddedNotification(req *pbFriend.AddBlacklistReq) { - var n NotificationMsg - n.SendID = req.CommID.FromUserID - n.RecvID = req.CommID.ToUserID - n.ContentType = constant.BlackAddedNotification - n.SessionType = constant.SingleChatType - n.MsgFrom = constant.SysMsgType - n.OperationID = req.CommID.OperationID var BlackAddedTips open_im_sdk.BlackAddedTips BlackAddedTips.FromToUserID.FromUserID = req.CommID.FromUserID BlackAddedTips.FromToUserID.ToUserID = req.CommID.ToUserID - fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.FromUserID, req.CommID.ToUserID) + fromUserNickname, toUserNickname, err := getFromToUserNickname(req.CommID.FromUserID, req.CommID.ToUserID) + if err != nil { + log.Error(req.CommID.OperationID, "getFromToUserNickname failed ", req.CommID.FromUserID, req.CommID.ToUserID) + return + } var tips open_im_sdk.TipsComm tips.Detail, _ = json.Marshal(BlackAddedTips) tips.DefaultTips = fromUserNickname + " BlackAddedNotification " + toUserNickname + var n NotificationMsg + n.SendID = req.CommID.FromUserID + n.RecvID = req.CommID.ToUserID + n.ContentType = constant.BlackAddedNotification + n.SessionType = constant.SingleChatType + n.MsgFrom = constant.SysMsgType + n.OperationID = req.CommID.OperationID n.Content, _ = json.Marshal(tips) Notification(&n) } @@ -205,6 +210,17 @@ func BlackAddedNotification(req *pbFriend.AddBlacklistReq) { // BlackInfo Black = 1; //} func BlackDeletedNotification(req *pbFriend.RemoveBlacklistReq) { + var BlackDeletedTips open_im_sdk.BlackDeletedTips + BlackDeletedTips.FromToUserID.FromUserID = req.CommID.FromUserID + BlackDeletedTips.FromToUserID.ToUserID = req.CommID.ToUserID + fromUserNickname, toUserNickname, err := getFromToUserNickname(req.CommID.FromUserID, req.CommID.ToUserID) + if err != nil { + log.Error(req.CommID.OperationID, "getFromToUserNickname failed ", err.Error(), req.CommID.FromUserID, req.CommID.ToUserID) + return + } + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(BlackDeletedTips) + tips.DefaultTips = fromUserNickname + " BlackDeletedNotification " + toUserNickname var n NotificationMsg n.SendID = req.CommID.FromUserID n.RecvID = req.CommID.ToUserID @@ -212,14 +228,6 @@ func BlackDeletedNotification(req *pbFriend.RemoveBlacklistReq) { n.SessionType = constant.SingleChatType n.MsgFrom = constant.SysMsgType n.OperationID = req.CommID.OperationID - - var BlackDeletedTips open_im_sdk.BlackDeletedTips - BlackDeletedTips.FromToUserID.FromUserID = req.CommID.FromUserID - BlackDeletedTips.FromToUserID.ToUserID = req.CommID.ToUserID - fromUserNickname, toUserNickname := getFromToUserNickname(req.CommID.FromUserID, req.CommID.ToUserID) - var tips open_im_sdk.TipsComm - tips.Detail, _ = json.Marshal(BlackDeletedTips) - tips.DefaultTips = fromUserNickname + " BlackDeletedNotification " + toUserNickname n.Content, _ = json.Marshal(tips) Notification(&n) } @@ -230,6 +238,15 @@ func BlackDeletedNotification(req *pbFriend.RemoveBlacklistReq) { // uint64 OperationTime = 3; //} func SelfInfoUpdatedNotification(operationID, userID string) { + var SelfInfoUpdatedTips open_im_sdk.SelfInfoUpdatedTips + SelfInfoUpdatedTips.UserID = userID + u, err := imdb.GetUserByUserID(userID) + if err != nil { + log.NewError(operationID, "FindUserByUID failed ", err.Error(), userID) + return + } + var tips open_im_sdk.TipsComm + tips.Detail, _ = json.Marshal(SelfInfoUpdatedTips) var n NotificationMsg n.SendID = userID n.RecvID = userID @@ -238,16 +255,6 @@ func SelfInfoUpdatedNotification(operationID, userID string) { n.MsgFrom = constant.SysMsgType n.OperationID = operationID - var SelfInfoUpdatedTips open_im_sdk.SelfInfoUpdatedTips - SelfInfoUpdatedTips.UserID = userID - - var tips open_im_sdk.TipsComm - u, err := imdb.GetUserByUserID(userID) - if err != nil { - log.NewError(operationID, "FindUserByUID failed ", err.Error(), userID) - } - - tips.Detail, _ = json.Marshal(SelfInfoUpdatedTips) tips.DefaultTips = u.Nickname + " SelfInfoUpdatedNotification " n.Content, _ = json.Marshal(tips) Notification(&n)