mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-12-04 03:12:19 +08:00
fix: support search userInfo by nickname or userID
This commit is contained in:
parent
94ddb599e0
commit
50a23c7ece
2
go.mod
2
go.mod
@ -157,4 +157,4 @@ require (
|
|||||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||||
)
|
)
|
||||||
|
|
||||||
replace github.com/OpenIMSDK/protocol v0.0.40 => github.com/luhaoling/protocol v0.0.0-20231227092407-35eebd12dae4
|
replace github.com/OpenIMSDK/protocol v0.0.40 => github.com/luhaoling/protocol v0.0.0-20231228025636-9ddb53aee5a4
|
||||||
|
|||||||
4
go.sum
4
go.sum
@ -225,8 +225,8 @@ github.com/lestrrat-go/strftime v1.0.6 h1:CFGsDEt1pOpFNU+TJB0nhz9jl+K0hZSLE205Ah
|
|||||||
github.com/lestrrat-go/strftime v1.0.6/go.mod h1:f7jQKgV5nnJpYgdEasS+/y7EsTb8ykN2z68n3TtcTaw=
|
github.com/lestrrat-go/strftime v1.0.6/go.mod h1:f7jQKgV5nnJpYgdEasS+/y7EsTb8ykN2z68n3TtcTaw=
|
||||||
github.com/lithammer/shortuuid v3.0.0+incompatible h1:NcD0xWW/MZYXEHa6ITy6kaXN5nwm/V115vj2YXfhS0w=
|
github.com/lithammer/shortuuid v3.0.0+incompatible h1:NcD0xWW/MZYXEHa6ITy6kaXN5nwm/V115vj2YXfhS0w=
|
||||||
github.com/lithammer/shortuuid v3.0.0+incompatible/go.mod h1:FR74pbAuElzOUuenUHTK2Tciko1/vKuIKS9dSkDrA4w=
|
github.com/lithammer/shortuuid v3.0.0+incompatible/go.mod h1:FR74pbAuElzOUuenUHTK2Tciko1/vKuIKS9dSkDrA4w=
|
||||||
github.com/luhaoling/protocol v0.0.0-20231227092407-35eebd12dae4 h1:UaoHGQWYrsR/02h6UFrrP59mEzkhfzrYYO+nVKDVy+A=
|
github.com/luhaoling/protocol v0.0.0-20231228025636-9ddb53aee5a4 h1:p9NaRVR7ba+i56AJMaiuASVnYf7FlSGi1joGn4f29bY=
|
||||||
github.com/luhaoling/protocol v0.0.0-20231227092407-35eebd12dae4/go.mod h1:F25dFrwrIx3lkNoiuf6FkCfxuwf8L4Z8UIsdTHP/r0Y=
|
github.com/luhaoling/protocol v0.0.0-20231228025636-9ddb53aee5a4/go.mod h1:F25dFrwrIx3lkNoiuf6FkCfxuwf8L4Z8UIsdTHP/r0Y=
|
||||||
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
|
github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA=
|
||||||
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||||
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
|
github.com/matttproud/golang_protobuf_extensions v1.0.4 h1:mmDVorXM7PCGKw94cs5zkfA9PSy5pEvNWRP0ET0TIVo=
|
||||||
|
|||||||
@ -481,10 +481,10 @@ func (s *groupServer) GetGroupMemberList(ctx context.Context, req *pbgroup.GetGr
|
|||||||
members []*relationtb.GroupMemberModel
|
members []*relationtb.GroupMemberModel
|
||||||
err error
|
err error
|
||||||
)
|
)
|
||||||
if req.GroupNickname == "" {
|
if req.Keyword == "" {
|
||||||
total, members, err = s.db.PageGetGroupMember(ctx, req.GroupID, req.Pagination)
|
total, members, err = s.db.PageGetGroupMember(ctx, req.GroupID, req.Pagination)
|
||||||
} else {
|
} else {
|
||||||
total, members, err = s.db.FindGroupMemberByNickname(ctx, req.GroupID, req.GroupNickname, req.Pagination)
|
total, members, err = s.db.FindGroupMemberByKeyword(ctx, req.GroupID, req.Keyword, req.Pagination)
|
||||||
}
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
|||||||
@ -45,7 +45,7 @@ type GroupDatabase interface {
|
|||||||
FindGroupMemberUser(ctx context.Context, groupIDs []string, userID string) (groupMembers []*relationtb.GroupMemberModel, err error) // *
|
FindGroupMemberUser(ctx context.Context, groupIDs []string, userID string) (groupMembers []*relationtb.GroupMemberModel, err error) // *
|
||||||
FindGroupMemberRoleLevels(ctx context.Context, groupID string, roleLevels []int32) (groupMembers []*relationtb.GroupMemberModel, err error) // *
|
FindGroupMemberRoleLevels(ctx context.Context, groupID string, roleLevels []int32) (groupMembers []*relationtb.GroupMemberModel, err error) // *
|
||||||
FindGroupMemberAll(ctx context.Context, groupID string) (groupMembers []*relationtb.GroupMemberModel, err error) // *
|
FindGroupMemberAll(ctx context.Context, groupID string) (groupMembers []*relationtb.GroupMemberModel, err error) // *
|
||||||
FindGroupMemberByNickname(ctx context.Context, groupID string, nickName string, pagination pagination.Pagination) (int64, []*relationtb.GroupMemberModel, error)
|
FindGroupMemberByKeyword(ctx context.Context, groupID string, keyword string, pagination pagination.Pagination) (int64, []*relationtb.GroupMemberModel, error)
|
||||||
FindGroupsOwner(ctx context.Context, groupIDs []string) ([]*relationtb.GroupMemberModel, error)
|
FindGroupsOwner(ctx context.Context, groupIDs []string) ([]*relationtb.GroupMemberModel, error)
|
||||||
FindGroupMemberUserID(ctx context.Context, groupID string) ([]string, error)
|
FindGroupMemberUserID(ctx context.Context, groupID string) ([]string, error)
|
||||||
FindGroupMemberNum(ctx context.Context, groupID string) (uint32, error)
|
FindGroupMemberNum(ctx context.Context, groupID string) (uint32, error)
|
||||||
@ -120,7 +120,7 @@ func (g *groupDatabase) FindGroupMemberAll(ctx context.Context, groupID string)
|
|||||||
return g.cache.GetAllGroupMembersInfo(ctx, groupID)
|
return g.cache.GetAllGroupMembersInfo(ctx, groupID)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *groupDatabase) FindGroupMemberByNickname(ctx context.Context, groupID string, Nickname string, pagination pagination.Pagination) (int64, []*relationtb.GroupMemberModel, error) {
|
func (g *groupDatabase) FindGroupMemberByKeyword(ctx context.Context, groupID string, keyword string, pagination pagination.Pagination) (int64, []*relationtb.GroupMemberModel, error) {
|
||||||
members, err := g.cache.GetAllGroupMembersInfo(ctx, groupID)
|
members, err := g.cache.GetAllGroupMembersInfo(ctx, groupID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, nil, err
|
return 0, nil, err
|
||||||
@ -129,12 +129,17 @@ func (g *groupDatabase) FindGroupMemberByNickname(ctx context.Context, groupID s
|
|||||||
var total int64
|
var total int64
|
||||||
groupMembers := make([]*relationtb.GroupMemberModel, 0)
|
groupMembers := make([]*relationtb.GroupMemberModel, 0)
|
||||||
for _, member := range members {
|
for _, member := range members {
|
||||||
if member.Nickname == Nickname {
|
if member.Nickname == keyword {
|
||||||
groupMembers = append(groupMembers, member)
|
groupMembers = append(groupMembers, member)
|
||||||
total++
|
total++
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if member.UserID == keyword {
|
||||||
|
groupMembers = append(groupMembers, member)
|
||||||
|
total++
|
||||||
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
GMembers := utils.Paginate(groupMembers, int(pagination.GetPageNumber()), int(pagination.GetShowNumber()))
|
GMembers := utils.Paginate(groupMembers, int(pagination.GetPageNumber()), int(pagination.GetShowNumber()))
|
||||||
if len(GMembers) == 0 {
|
if len(GMembers) == 0 {
|
||||||
return int64(len(groupMembers)), nil, nil
|
return int64(len(groupMembers)), nil, nil
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user