From 0467a248134ec4232455701a128a75c8fd98527c Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Mon, 22 May 2023 10:21:34 +0800 Subject: [PATCH 1/4] DismissGroup --- internal/push/push_to_client.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/internal/push/push_to_client.go b/internal/push/push_to_client.go index 14ae47d92..f6f66daf4 100644 --- a/internal/push/push_to_client.go +++ b/internal/push/push_to_client.go @@ -158,6 +158,11 @@ func (p *Pusher) Push2SuperGroup(ctx context.Context, groupID string, msg *sdkws return err } log.ZInfo(ctx, "GroupDismissedNotification userIDs", "groupID", groupID, "userIDs", pushToUserIDs) + if len(pushToUserIDs) == 0 { + log.ZInfo(ctx, "########################## userIDs empty", "groupID", groupID) + } else { + log.ZInfo(ctx, "************************** userIDs exist", "groupID", groupID, "num", len(pushToUserIDs), "list", pushToUserIDs) + } if len(config.Config.Manager.AppManagerUid) > 0 { ctx = mcontext.WithOpUserIDContext(ctx, config.Config.Manager.AppManagerUid[0]) } From 7f585330ae29774c2a89caf5872b6b8e084b6a10 Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Mon, 22 May 2023 10:36:23 +0800 Subject: [PATCH 2/4] DismissGroup --- internal/push/push_to_client.go | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/internal/push/push_to_client.go b/internal/push/push_to_client.go index 4b2b2720c..22a45b977 100644 --- a/internal/push/push_to_client.go +++ b/internal/push/push_to_client.go @@ -4,7 +4,6 @@ import ( "context" "encoding/json" "errors" - "github.com/OpenIMSDK/Open-IM-Server/internal/push/offlinepush" "github.com/OpenIMSDK/Open-IM-Server/internal/push/offlinepush/fcm" "github.com/OpenIMSDK/Open-IM-Server/internal/push/offlinepush/getui" @@ -157,18 +156,12 @@ func (p *Pusher) Push2SuperGroup(ctx context.Context, groupID string, msg *sdkws if p.UnmarshalNotificationElem(msg.Content, &tips) != nil { return err } - log.ZInfo(ctx, "GroupDismissedNotification userIDs", "groupID", groupID, "userIDs", pushToUserIDs) - if len(pushToUserIDs) == 0 { - log.ZInfo(ctx, "########################## userIDs empty", "groupID", groupID) - } else { - log.ZInfo(ctx, "************************** userIDs exist", "groupID", groupID, "num", len(pushToUserIDs), "list", pushToUserIDs) - } + log.ZInfo(ctx, "GroupDismissedNotificationInfo****", "groupID", groupID, "num", len(pushToUserIDs), "list", pushToUserIDs) if len(config.Config.Manager.AppManagerUid) > 0 { ctx = mcontext.WithOpUserIDContext(ctx, config.Config.Manager.AppManagerUid[0]) } if err := p.DismissGroup(ctx, groupID); err != nil { log.ZError(ctx, "DismissGroup Notification clear members", err, "groupID", groupID) - return err } } } From 74289e912f38d1829b5c33984f6e63c3aabd2a82 Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Mon, 22 May 2023 10:48:18 +0800 Subject: [PATCH 3/4] DismissGroup --- pkg/rpcclient/msg.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkg/rpcclient/msg.go b/pkg/rpcclient/msg.go index 1de0215ed..a7f07d161 100644 --- a/pkg/rpcclient/msg.go +++ b/pkg/rpcclient/msg.go @@ -172,7 +172,7 @@ func (c *MsgClient) Notification(ctx context.Context, sendID, recvID string, con if err == nil { log.ZDebug(ctx, "MsgClient Notification SendMsg success", "req", &req) } else { - log.ZError(ctx, "MsgClient Notification SendMsg failed %s\n", err, "req", &req) + log.ZError(ctx, "MsgClient Notification SendMsg failed", err, "req", &req) } return err } From 1b21dd6ee7cd813fe38c10646f90c4606a79113c Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Mon, 22 May 2023 11:01:10 +0800 Subject: [PATCH 4/4] DismissGroup --- internal/push/push_to_client.go | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/internal/push/push_to_client.go b/internal/push/push_to_client.go index 22a45b977..1a36d84a7 100644 --- a/internal/push/push_to_client.go +++ b/internal/push/push_to_client.go @@ -152,16 +152,18 @@ func (p *Pusher) Push2SuperGroup(ctx context.Context, groupID string, msg *sdkws kickedUsers := utils.Slice(tips.KickedUserList, func(e *sdkws.GroupMemberFullInfo) string { return e.UserID }) pushToUserIDs = append(pushToUserIDs, kickedUsers...) case constant.GroupDismissedNotification: - var tips sdkws.GroupDismissedTips - if p.UnmarshalNotificationElem(msg.Content, &tips) != nil { - return err - } - log.ZInfo(ctx, "GroupDismissedNotificationInfo****", "groupID", groupID, "num", len(pushToUserIDs), "list", pushToUserIDs) - if len(config.Config.Manager.AppManagerUid) > 0 { - ctx = mcontext.WithOpUserIDContext(ctx, config.Config.Manager.AppManagerUid[0]) - } - if err := p.DismissGroup(ctx, groupID); err != nil { - log.ZError(ctx, "DismissGroup Notification clear members", err, "groupID", groupID) + if utils.IsNotification(utils.GetConversationIDByMsg(msg)) { // 消息先到,通知后到 + var tips sdkws.GroupDismissedTips + if p.UnmarshalNotificationElem(msg.Content, &tips) != nil { + return err + } + log.ZInfo(ctx, "GroupDismissedNotificationInfo****", "groupID", groupID, "num", len(pushToUserIDs), "list", pushToUserIDs) + if len(config.Config.Manager.AppManagerUid) > 0 { + ctx = mcontext.WithOpUserIDContext(ctx, config.Config.Manager.AppManagerUid[0]) + } + if err := p.DismissGroup(ctx, groupID); err != nil { + log.ZError(ctx, "DismissGroup Notification clear members", err, "groupID", groupID) + } } } }