mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-08-28 01:39:13 +08:00
fix: solve user not found when notification invitedUserID is zero in InviteUserToGroup. (#3375)
This commit is contained in:
parent
748d783d36
commit
8b23d4f5bb
@ -379,9 +379,9 @@ func (g *groupServer) InviteUserToGroup(ctx context.Context, req *pbgroup.Invite
|
||||
}
|
||||
|
||||
var groupMember *model.GroupMember
|
||||
var opUserID string
|
||||
opUserID := mcontext.GetOpUserID(ctx)
|
||||
|
||||
if !authverify.IsAdmin(ctx) {
|
||||
opUserID = mcontext.GetOpUserID(ctx)
|
||||
var err error
|
||||
groupMember, err = g.db.TakeGroupMember(ctx, req.GroupID, opUserID)
|
||||
if err != nil {
|
||||
@ -390,8 +390,6 @@ func (g *groupServer) InviteUserToGroup(ctx context.Context, req *pbgroup.Invite
|
||||
if err := g.PopulateGroupMember(ctx, groupMember); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
} else {
|
||||
opUserID = mcontext.GetOpUserID(ctx)
|
||||
}
|
||||
|
||||
if err := g.webhookBeforeInviteUserToGroup(ctx, &g.config.WebhooksConfig.BeforeInviteUserToGroup, req); err != nil && err != servererrs.ErrCallbackContinue {
|
||||
@ -450,10 +448,7 @@ func (g *groupServer) InviteUserToGroup(ctx context.Context, req *pbgroup.Invite
|
||||
|
||||
const singleQuantity = 50
|
||||
for start := 0; start < len(groupMembers); start += singleQuantity {
|
||||
end := start + singleQuantity
|
||||
if end > len(groupMembers) {
|
||||
end = len(groupMembers)
|
||||
}
|
||||
end := min(start+singleQuantity, len(groupMembers))
|
||||
currentMembers := groupMembers[start:end]
|
||||
|
||||
if err := g.db.CreateGroup(ctx, nil, currentMembers); err != nil {
|
||||
@ -464,8 +459,8 @@ func (g *groupServer) InviteUserToGroup(ctx context.Context, req *pbgroup.Invite
|
||||
return e.UserID
|
||||
})
|
||||
|
||||
if err = g.notification.GroupApplicationAgreeMemberEnterNotification(ctx, req.GroupID, req.SendMessage, opUserID, userIDs...); err != nil {
|
||||
return nil, err
|
||||
if len(userIDs) != 0 {
|
||||
g.notification.GroupApplicationAgreeMemberEnterNotification(ctx, req.GroupID, req.SendMessage, opUserID, userIDs...)
|
||||
}
|
||||
}
|
||||
return &pbgroup.InviteUserToGroupResp{}, nil
|
||||
|
Loading…
x
Reference in New Issue
Block a user