From 33fb4dfd8f0cd6584baf8d2543be461d43de3404 Mon Sep 17 00:00:00 2001 From: pluto <2631223275@qq.com> Date: Fri, 4 Aug 2023 15:54:51 +0800 Subject: [PATCH] update --- internal/rpc/user/user.go | 1 + pkg/common/db/unrelation/user.go | 25 +++++++++++-------------- 2 files changed, 12 insertions(+), 14 deletions(-) diff --git a/internal/rpc/user/user.go b/internal/rpc/user/user.go index 573a64547..a3d0b8e80 100644 --- a/internal/rpc/user/user.go +++ b/internal/rpc/user/user.go @@ -254,6 +254,7 @@ func (s *userServer) SubscribeOrCancelUsersStatus(ctx context.Context, req *pbus err = s.UserDatabase.SubscribeUsersStatus(ctx, req.UserID, req.UserIDs) var status []*pbuser.OnlineStatus status, err = s.UserDatabase.GetUserStatus(ctx, req.UserIDs) + log.ZDebug(ctx, "========== SubscribeOrCancelUsersStatus =======", err) if err != nil { return nil, err } diff --git a/pkg/common/db/unrelation/user.go b/pkg/common/db/unrelation/user.go index 975232d78..8460259cc 100644 --- a/pkg/common/db/unrelation/user.go +++ b/pkg/common/db/unrelation/user.go @@ -17,6 +17,7 @@ package unrelation import ( "context" "github.com/OpenIMSDK/Open-IM-Server/pkg/common/db/table/unrelation" + "github.com/OpenIMSDK/tools/errs" "github.com/OpenIMSDK/tools/utils" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo" @@ -54,7 +55,7 @@ func (u *UserMongoDriver) AddSubscriptionList(ctx context.Context, userID string // perform aggregate operations cursor, err := u.userCollection.Aggregate(ctx, pipeline) if err != nil { - return err + return errs.Wrap(err) } defer cursor.Close(ctx) var cnt struct { @@ -64,7 +65,7 @@ func (u *UserMongoDriver) AddSubscriptionList(ctx context.Context, userID string for cursor.Next(ctx) { err := cursor.Decode(&cnt) if err != nil { - return err + return errs.Wrap(err) } } var newUserIDList []string @@ -106,7 +107,7 @@ func (u *UserMongoDriver) AddSubscriptionList(ctx context.Context, userID string opts, ) if err != nil { - return err + return errs.Wrap(err) } for _, user := range userIDList { _, err = u.userCollection.UpdateOne( @@ -130,11 +131,11 @@ func (u *UserMongoDriver) UnsubscriptionList(ctx context.Context, userID string, bson.M{"$pull": bson.M{"user_id_list": bson.M{"$in": userIDList}}}, ) if err != nil { - return err + return errs.Wrap(err) } err = u.RemoveSubscribedListFromUser(ctx, userID, userIDList) if err != nil { - return err + return errs.Wrap(err) } return nil } @@ -142,18 +143,14 @@ func (u *UserMongoDriver) UnsubscriptionList(ctx context.Context, userID string, // RemoveSubscribedListFromUser Among the unsubscribed users, delete the user from the subscribed list. func (u *UserMongoDriver) RemoveSubscribedListFromUser(ctx context.Context, userID string, userIDList []string) error { var err error - var newUserIDList []string - for _, value := range userIDList { - newUserIDList = append(newUserIDList, SubscribedPrefix+value) - } - for _, userIDTemp := range newUserIDList { + for _, userIDTemp := range userIDList { _, err = u.userCollection.UpdateOne( ctx, - bson.M{"user_id": userIDTemp}, + bson.M{"user_id": SubscribedPrefix + userIDTemp}, bson.M{"$pull": bson.M{"user_id_list": userID}}, ) } - return utils.Wrap(err, "") + return errs.Wrap(err) } // GetAllSubscribeList Get all users subscribed by this user @@ -164,7 +161,7 @@ func (u *UserMongoDriver) GetAllSubscribeList(ctx context.Context, userID string bson.M{"user_id": SubscriptionPrefix + userID}) err = cursor.Decode(&user) if err != nil { - return nil, err + return nil, errs.Wrap(err) } return user.UserIDList, nil } @@ -177,7 +174,7 @@ func (u *UserMongoDriver) GetSubscribedList(ctx context.Context, userID string) bson.M{"user_id": SubscribedPrefix + userID}) err = cursor.Decode(&user) if err != nil { - return nil, err + return nil, errs.Wrap(err) } return user.UserIDList, nil }