This commit is contained in:
wangchuxiao 2023-03-27 10:07:41 +08:00
parent de7d4fac85
commit 4706d830a2
2 changed files with 10 additions and 23 deletions

View File

@ -645,7 +645,7 @@ func (s *groupServer) JoinGroup(ctx context.Context, req *pbGroup.JoinGroupReq)
groupMember.RoleLevel = constant.GroupOrdinaryUsers
groupMember.OperatorUserID = mcontext.GetOpUserID(ctx)
groupMember.JoinSource = constant.JoinByInvitation
groupMember.InviterUserID = mcontext.GetOpUserID(ctx)
groupMember.InviterUserID = req.InviterUserID
groupMember.JoinTime = time.Now()
groupMember.MuteEndTime = time.Unix(0, 0)
if err := CallbackBeforeMemberJoinGroup(ctx, groupMember, group.Ex); err != nil && err != errs.ErrCallbackContinue {

View File

@ -105,27 +105,6 @@ func (g *groupDatabase) GetGroupIDsByGroupType(ctx context.Context, groupType in
return g.groupDB.GetGroupIDsByGroupType(ctx, groupType)
}
// func (g *groupDatabase) delGroupMemberCache(ctx context.Context, groupID string, userIDs []string) error {
// for _, userID := range userIDs {
// if err := g.cache.DelJoinedGroupID(ctx, userID); err != nil {
// return err
// }
// if err := g.cache.DelJoinedSuperGroupIDs(ctx, userID); err != nil {
// return err
// }
// }
// if err := g.cache.DelGroupMemberIDs(ctx, groupID); err != nil {
// return err
// }
// if err := g.cache.DelGroupMemberNum(ctx, groupID); err != nil {
// return err
// }
// if err := g.cache.DelGroupMembersHash(ctx, groupID); err != nil {
// return err
// }
// return nil
// }
func (g *groupDatabase) FindGroupMemberUserID(ctx context.Context, groupID string) ([]string, error) {
return g.cache.GetGroupMemberIDs(ctx, groupID)
}
@ -142,7 +121,15 @@ func (g *groupDatabase) CreateGroup(ctx context.Context, groups []*relationTb.Gr
return err
}
}
return nil
m := make(map[string]struct{})
var cache = g.cache.NewCache()
for _, groupMember := range groupMembers {
if _, ok := m[groupMember.GroupID]; !ok {
m[groupMember.GroupID] = struct{}{}
cache = cache.DelGroupMemberIDs(groupMember.GroupID).DelGroupMembersHash(groupMember.GroupID).DelJoinedGroupID(groupMember.UserID).DelGroupsMemberNum(groupMember.GroupID)
}
}
return g.cache.ExecDel(ctx)
})
}