From 0a93fb1b6d78d7afbb8d5e0f2a183165e3f781db Mon Sep 17 00:00:00 2001 From: dsx137 <70027572+dsx137@users.noreply.github.com> Date: Wed, 31 Dec 2025 18:01:51 +0800 Subject: [PATCH] fix(group): move member count retrieval after member deletion for accurate updates (#3651) --- internal/rpc/group/group.go | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/internal/rpc/group/group.go b/internal/rpc/group/group.go index e254033cc..bc8834490 100644 --- a/internal/rpc/group/group.go +++ b/internal/rpc/group/group.go @@ -606,10 +606,6 @@ func (g *groupServer) KickGroupMember(ctx context.Context, req *pbgroup.KickGrou } } } - num, err := g.db.FindGroupMemberNum(ctx, req.GroupID) - if err != nil { - return nil, err - } ownerUserIDs, err := g.db.GetGroupRoleLevelMemberIDs(ctx, req.GroupID, constant.GroupOwner) if err != nil { return nil, err @@ -621,6 +617,10 @@ func (g *groupServer) KickGroupMember(ctx context.Context, req *pbgroup.KickGrou if err := g.db.DeleteGroupMember(ctx, group.GroupID, req.KickedUserIDs); err != nil { return nil, err } + num, err := g.db.FindGroupMemberNum(ctx, req.GroupID) + if err != nil { + return nil, err + } tips := &sdkws.MemberKickedTips{ Group: &sdkws.GroupInfo{ GroupID: group.GroupID, @@ -630,7 +630,7 @@ func (g *groupServer) KickGroupMember(ctx context.Context, req *pbgroup.KickGrou FaceURL: group.FaceURL, OwnerUserID: ownerUserID, CreateTime: group.CreateTime.UnixMilli(), - MemberCount: num - uint32(len(req.KickedUserIDs)), + MemberCount: num, Ex: group.Ex, Status: group.Status, CreatorUserID: group.CreatorUserID,