From ae0947efa37eb719239809c3813291113313a89d Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Fri, 19 May 2023 20:44:55 +0800 Subject: [PATCH 1/6] DismissGroup --- internal/rpc/group/group.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 87bc36d54..3bd2019da 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1079,7 +1079,9 @@ func (s *groupServer) DismissGroup(ctx context.Context, req *pbGroup.DismissGrou return nil, err } } else { - s.Notification.GroupDismissedNotification(ctx, req) + if !req.DeleteMember { + s.Notification.GroupDismissedNotification(ctx, req) + } } return resp, nil } From faa0522f412c1f21f74e33330693583aa5d22c68 Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Fri, 19 May 2023 20:45:29 +0800 Subject: [PATCH 2/6] DismissGroup --- internal/rpc/group/group.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 3bd2019da..c28ca3854 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1051,6 +1051,7 @@ func (s *groupServer) GetUserReqApplicationList(ctx context.Context, req *pbGrou } func (s *groupServer) DismissGroup(ctx context.Context, req *pbGroup.DismissGroupReq) (*pbGroup.DismissGroupResp, error) { + defer log.ZInfo(ctx, "DismissGroup.return") resp := &pbGroup.DismissGroupResp{} if err := s.CheckGroupAdmin(ctx, req.GroupID); err != nil { return nil, err From d402115d664163d573058a4649ef5d2f88871c8e Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Fri, 19 May 2023 20:48:36 +0800 Subject: [PATCH 3/6] DismissGroup --- internal/rpc/group/group.go | 3 --- 1 file changed, 3 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index c28ca3854..1f55367be 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -1053,9 +1053,6 @@ func (s *groupServer) GetUserReqApplicationList(ctx context.Context, req *pbGrou func (s *groupServer) DismissGroup(ctx context.Context, req *pbGroup.DismissGroupReq) (*pbGroup.DismissGroupResp, error) { defer log.ZInfo(ctx, "DismissGroup.return") resp := &pbGroup.DismissGroupResp{} - if err := s.CheckGroupAdmin(ctx, req.GroupID); err != nil { - return nil, err - } if !tokenverify.IsAppManagerUid(ctx) { user, err := s.GroupDatabase.TakeGroupOwner(ctx, req.GroupID) if err != nil { From 3b382aca9940d873430a2d2f60c52b6fa4a90835 Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Fri, 19 May 2023 20:53:58 +0800 Subject: [PATCH 4/6] DismissGroup --- internal/push/push_to_client.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/push/push_to_client.go b/internal/push/push_to_client.go index f91a23ea6..f2bc54ce9 100644 --- a/internal/push/push_to_client.go +++ b/internal/push/push_to_client.go @@ -157,6 +157,9 @@ func (p *Pusher) Push2SuperGroup(ctx context.Context, groupID string, msg *sdkws if p.UnmarshalNotificationElem(msg.Content, &tips) != nil { return err } + 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 d78db822a1f90bc0b653b56b19453d4c8dd84181 Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Fri, 19 May 2023 21:00:15 +0800 Subject: [PATCH 5/6] DismissGroup --- internal/rpc/group/group.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index 1f55367be..6f10bc6d6 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -648,7 +648,11 @@ func (s *groupServer) GetGroupsInfo(ctx context.Context, req *pbGroup.GetGroupsI return e.GroupID }) resp.GroupInfos = utils.Slice(groups, func(e *relationTb.GroupModel) *sdkws.GroupInfo { - return convert.Db2PbGroupInfo(e, ownerMap[e.GroupID].UserID, groupMemberNumMap[e.GroupID]) + var ownerUserID string + if owner, ok := ownerMap[e.GroupID]; ok { + ownerUserID = owner.UserID + } + return convert.Db2PbGroupInfo(e, ownerUserID, groupMemberNumMap[e.GroupID]) }) return resp, nil } From ec5e3b269d90f4e0286d0e7587f4c11b10f995cf Mon Sep 17 00:00:00 2001 From: withchao <993506633@qq.com> Date: Fri, 19 May 2023 21:06:17 +0800 Subject: [PATCH 6/6] DismissGroup --- internal/push/push_to_client.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/push/push_to_client.go b/internal/push/push_to_client.go index f2bc54ce9..14ae47d92 100644 --- a/internal/push/push_to_client.go +++ b/internal/push/push_to_client.go @@ -157,6 +157,7 @@ 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(config.Config.Manager.AppManagerUid) > 0 { ctx = mcontext.WithOpUserIDContext(ctx, config.Config.Manager.AppManagerUid[0]) }