fix: NotificationUserInfoUpdate

pull/1198/head
withchao 2 years ago
parent 9eeb5df68a
commit dfbdb2b3eb

@ -121,13 +121,21 @@ func (s *groupServer) NotificationUserInfoUpdate(ctx context.Context, req *pbgro
if err != nil { if err != nil {
return nil, err return nil, err
} }
groupIDs := make([]string, 0, len(members))
for _, member := range members { for _, member := range members {
if member.Nickname != "" && member.FaceURL != "" { if member.Nickname != "" && member.FaceURL != "" {
continue continue
} }
if err := s.Notification.GroupMemberInfoSetNotification(ctx, member.GroupID, member.UserID); err != nil { groupIDs = append(groupIDs, member.GroupID)
log.ZError(ctx, "setGroupMemberInfo notification failed", err, "member", member.UserID, "groupID", member.GroupID) }
log.ZInfo(ctx, "NotificationUserInfoUpdate", "joinGroupNum", len(members), "updateNum", len(groupIDs), "updateGroupIDs", groupIDs)
for _, groupID := range groupIDs {
if err := s.Notification.GroupMemberInfoSetNotification(ctx, groupID, req.UserID); err != nil {
log.ZError(ctx, "NotificationUserInfoUpdate setGroupMemberInfo notification failed", err, "groupID", groupID)
}
} }
if err := s.GroupDatabase.DeleteGroupMemberHash(ctx, groupIDs); err != nil {
log.ZError(ctx, "NotificationUserInfoUpdate DeleteGroupMemberHash", err, "groupID", groupIDs)
} }
return &pbgroup.NotificationUserInfoUpdateResp{}, nil return &pbgroup.NotificationUserInfoUpdateResp{}, nil
} }

@ -81,6 +81,7 @@ type GroupDatabase interface {
CountTotal(ctx context.Context, before *time.Time) (count int64, err error) CountTotal(ctx context.Context, before *time.Time) (count int64, err error)
// 获取范围内群增量 // 获取范围内群增量
CountRangeEverydayTotal(ctx context.Context, start time.Time, end time.Time) (map[string]int64, error) CountRangeEverydayTotal(ctx context.Context, start time.Time, end time.Time) (map[string]int64, error)
DeleteGroupMemberHash(ctx context.Context, groupIDs []string) error
} }
func NewGroupDatabase( func NewGroupDatabase(
@ -556,3 +557,14 @@ func (g *groupDatabase) FindGroupRequests(ctx context.Context, groupID string, u
func (g *groupDatabase) FindNotDismissedGroup(ctx context.Context, groupIDs []string) (groups []*relationtb.GroupModel, err error) { func (g *groupDatabase) FindNotDismissedGroup(ctx context.Context, groupIDs []string) (groups []*relationtb.GroupModel, err error) {
return g.groupDB.FindNotDismissedGroup(ctx, groupIDs) return g.groupDB.FindNotDismissedGroup(ctx, groupIDs)
} }
func (g *groupDatabase) DeleteGroupMemberHash(ctx context.Context, groupIDs []string) error {
if len(groupIDs) == 0 {
return nil
}
c := g.cache.NewCache()
for _, groupID := range groupIDs {
c = c.DelGroupMembersHash(groupID)
}
return c.ExecDel(ctx)
}

Loading…
Cancel
Save