mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-26 03:26:57 +08:00
group
This commit is contained in:
parent
38f0f37ece
commit
0345099e99
@ -597,6 +597,7 @@ func (s *groupServer) GroupApplicationResponse(ctx context.Context, req *pbGroup
|
|||||||
RoleLevel: constant.GroupOrdinaryUsers,
|
RoleLevel: constant.GroupOrdinaryUsers,
|
||||||
JoinTime: time.Now(),
|
JoinTime: time.Now(),
|
||||||
JoinSource: groupRequest.JoinSource,
|
JoinSource: groupRequest.JoinSource,
|
||||||
|
MuteEndTime: time.Unix(0, 0),
|
||||||
InviterUserID: groupRequest.InviterUserID,
|
InviterUserID: groupRequest.InviterUserID,
|
||||||
OperatorUserID: mcontext.GetOpUserID(ctx),
|
OperatorUserID: mcontext.GetOpUserID(ctx),
|
||||||
Ex: groupRequest.Ex,
|
Ex: groupRequest.Ex,
|
||||||
@ -862,7 +863,12 @@ func (s *groupServer) GetUserReqApplicationList(ctx context.Context, req *pbGrou
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
total, requests, err := s.GroupDatabase.PageGroupRequestUser(ctx, req.UserID, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
var pageNumber, showNumber int32
|
||||||
|
if req.Pagination != nil {
|
||||||
|
pageNumber = req.Pagination.PageNumber
|
||||||
|
showNumber = req.Pagination.ShowNumber
|
||||||
|
}
|
||||||
|
total, requests, err := s.GroupDatabase.PageGroupRequestUser(ctx, req.UserID, pageNumber, showNumber)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
9
pkg/common/db/cache/group.go
vendored
9
pkg/common/db/cache/group.go
vendored
@ -52,7 +52,7 @@ type GroupCache interface {
|
|||||||
GetGroupMemberInfo(ctx context.Context, groupID, userID string) (groupMember *relationTb.GroupMemberModel, err error)
|
GetGroupMemberInfo(ctx context.Context, groupID, userID string) (groupMember *relationTb.GroupMemberModel, err error)
|
||||||
GetGroupMembersInfo(ctx context.Context, groupID string, userID []string) (groupMembers []*relationTb.GroupMemberModel, err error)
|
GetGroupMembersInfo(ctx context.Context, groupID string, userID []string) (groupMembers []*relationTb.GroupMemberModel, err error)
|
||||||
GetAllGroupMembersInfo(ctx context.Context, groupID string) (groupMembers []*relationTb.GroupMemberModel, err error)
|
GetAllGroupMembersInfo(ctx context.Context, groupID string) (groupMembers []*relationTb.GroupMemberModel, err error)
|
||||||
GetGroupMembersPage(ctx context.Context, groupID string, userID []string, showNumber, pageNumber int32) (groupMembers []*relationTb.GroupMemberModel, err error)
|
GetGroupMembersPage(ctx context.Context, groupID string, userID []string, showNumber, pageNumber int32) (total uint32, groupMembers []*relationTb.GroupMemberModel, err error)
|
||||||
|
|
||||||
DelGroupMembersInfo(groupID string, userID ...string) GroupCache
|
DelGroupMembersInfo(groupID string, userID ...string) GroupCache
|
||||||
|
|
||||||
@ -306,17 +306,18 @@ func (g *GroupCacheRedis) GetGroupMembersInfo(ctx context.Context, groupID strin
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GroupCacheRedis) GetGroupMembersPage(ctx context.Context, groupID string, userIDs []string, showNumber, pageNumber int32) (groupMembers []*relationTb.GroupMemberModel, err error) {
|
func (g *GroupCacheRedis) GetGroupMembersPage(ctx context.Context, groupID string, userIDs []string, showNumber, pageNumber int32) (total uint32, groupMembers []*relationTb.GroupMemberModel, err error) {
|
||||||
groupMemberIDs, err := g.GetGroupMemberIDs(ctx, groupID)
|
groupMemberIDs, err := g.GetGroupMemberIDs(ctx, groupID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return 0, nil, err
|
||||||
}
|
}
|
||||||
if userIDs != nil {
|
if userIDs != nil {
|
||||||
userIDs = utils.BothExist(userIDs, groupMemberIDs)
|
userIDs = utils.BothExist(userIDs, groupMemberIDs)
|
||||||
} else {
|
} else {
|
||||||
userIDs = groupMemberIDs
|
userIDs = groupMemberIDs
|
||||||
}
|
}
|
||||||
return g.GetGroupMembersInfo(ctx, groupID, utils.Paginate(userIDs, int(showNumber), int(showNumber)))
|
groupMembers, err = g.GetGroupMembersInfo(ctx, groupID, utils.Paginate(userIDs, int(showNumber), int(showNumber)))
|
||||||
|
return uint32(len(userIDs)), groupMembers, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *GroupCacheRedis) GetAllGroupMembersInfo(ctx context.Context, groupID string) (groupMembers []*relationTb.GroupMemberModel, err error) {
|
func (g *GroupCacheRedis) GetAllGroupMembersInfo(ctx context.Context, groupID string) (groupMembers []*relationTb.GroupMemberModel, err error) {
|
||||||
|
@ -235,16 +235,18 @@ func (g *groupDatabase) PageGroupMember(ctx context.Context, groupIDs []string,
|
|||||||
totalGroupMembers = append(totalGroupMembers, groupMembers...)
|
totalGroupMembers = append(totalGroupMembers, groupMembers...)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return uint32(len(totalGroupMembers)), totalGroupMembers, nil
|
return uint32(len(groupIDs)), totalGroupMembers, nil
|
||||||
}
|
}
|
||||||
|
var totalAll uint32
|
||||||
for _, groupID := range groupIDs {
|
for _, groupID := range groupIDs {
|
||||||
groupMembers, err := g.cache.GetGroupMembersPage(ctx, groupID, userIDs, pageNumber, showNumber)
|
total, groupMembers, err := g.cache.GetGroupMembersPage(ctx, groupID, userIDs, pageNumber, showNumber)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, nil, err
|
return 0, nil, err
|
||||||
}
|
}
|
||||||
|
totalAll += total
|
||||||
totalGroupMembers = append(totalGroupMembers, groupMembers...)
|
totalGroupMembers = append(totalGroupMembers, groupMembers...)
|
||||||
}
|
}
|
||||||
return uint32(len(totalGroupMembers)), totalGroupMembers, nil
|
return totalAll, totalGroupMembers, nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return g.groupMemberDB.SearchMember(ctx, "", groupIDs, userIDs, roleLevels, pageNumber, showNumber)
|
return g.groupMemberDB.SearchMember(ctx, "", groupIDs, userIDs, roleLevels, pageNumber, showNumber)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user