mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-27 03:58:55 +08:00
Merge branch 'errcode' of github.com:OpenIMSDK/Open-IM-Server into errcode
This commit is contained in:
commit
2e1d852095
@ -42,11 +42,11 @@ func (o *Friend) DeleteFriend(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (o *Friend) GetFriendApplyList(c *gin.Context) {
|
func (o *Friend) GetFriendApplyList(c *gin.Context) {
|
||||||
a2r.Call(friend.FriendClient.GetPaginationFriendsApplyFrom, o.client, c)
|
a2r.Call(friend.FriendClient.GetPaginationFriendsApplyTo, o.client, c)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *Friend) GetSelfApplyList(c *gin.Context) {
|
func (o *Friend) GetSelfApplyList(c *gin.Context) {
|
||||||
a2r.Call(friend.FriendClient.GetPaginationFriendsApplyTo, o.client, c)
|
a2r.Call(friend.FriendClient.GetPaginationFriendsApplyFrom, o.client, c)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (o *Friend) GetFriendList(c *gin.Context) {
|
func (o *Friend) GetFriendList(c *gin.Context) {
|
||||||
|
@ -222,6 +222,8 @@ func (s *friendServer) GetPaginationFriendsApplyFrom(ctx context.Context, req *p
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
log.ZInfo(ctx, "test log out")
|
||||||
|
log.ZInfo(ctx, "GetPaginationFriendsApplyFrom.xxx", "total", total, "friendRequests", len(friendRequests), "userRpcClient", s.userRpcClient == nil)
|
||||||
resp.FriendRequests, err = convert.FriendRequestDB2Pb(ctx, friendRequests, s.userRpcClient.GetUsersInfoMap)
|
resp.FriendRequests, err = convert.FriendRequestDB2Pb(ctx, friendRequests, s.userRpcClient.GetUsersInfoMap)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -222,7 +222,8 @@ func (s *groupServer) GetJoinedGroupList(ctx context.Context, req *pbGroup.GetJo
|
|||||||
pageNumber = req.Pagination.PageNumber
|
pageNumber = req.Pagination.PageNumber
|
||||||
showNumber = req.Pagination.ShowNumber
|
showNumber = req.Pagination.ShowNumber
|
||||||
}
|
}
|
||||||
total, members, err := s.GroupDatabase.PageGroupMember(ctx, nil, []string{req.FromUserID}, nil, pageNumber, showNumber)
|
//total, members, err := s.GroupDatabase.PageGroupMember(ctx, nil, []string{req.FromUserID}, nil, pageNumber, showNumber)
|
||||||
|
total, members, err := s.GroupDatabase.PageGetJoinGroup(ctx, req.FromUserID, pageNumber, showNumber)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
@ -383,7 +384,8 @@ func (s *groupServer) GetGroupAllMember(ctx context.Context, req *pbGroup.GetGro
|
|||||||
func (s *groupServer) GetGroupMemberList(ctx context.Context, req *pbGroup.GetGroupMemberListReq) (*pbGroup.GetGroupMemberListResp, error) {
|
func (s *groupServer) GetGroupMemberList(ctx context.Context, req *pbGroup.GetGroupMemberListReq) (*pbGroup.GetGroupMemberListResp, error) {
|
||||||
resp := &pbGroup.GetGroupMemberListResp{}
|
resp := &pbGroup.GetGroupMemberListResp{}
|
||||||
//total, members, err := s.GroupDatabase.PageGroupMember(ctx, []string{req.GroupID}, nil, utils.If(req.Filter >= 0, []int32{req.Filter}, nil), req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
//total, members, err := s.GroupDatabase.PageGroupMember(ctx, []string{req.GroupID}, nil, utils.If(req.Filter >= 0, []int32{req.Filter}, nil), req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
||||||
total, members, err := s.GroupDatabase.PageGroupMember(ctx, []string{req.GroupID}, nil, nil, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
//total, members, err := s.GroupDatabase.PageGroupMember(ctx, []string{req.GroupID}, nil, nil, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
||||||
|
total, members, err := s.GroupDatabase.PageGetGroupMember(ctx, req.GroupID, req.Pagination.PageNumber, req.Pagination.ShowNumber)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,9 @@ type GroupDatabase interface {
|
|||||||
TakeGroupOwner(ctx context.Context, groupID string) (*relationTb.GroupMemberModel, error)
|
TakeGroupOwner(ctx context.Context, groupID string) (*relationTb.GroupMemberModel, error)
|
||||||
FindGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32) ([]*relationTb.GroupMemberModel, error)
|
FindGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32) ([]*relationTb.GroupMemberModel, error)
|
||||||
FindGroupMemberUserID(ctx context.Context, groupID string) ([]string, error)
|
FindGroupMemberUserID(ctx context.Context, groupID string) ([]string, error)
|
||||||
PageGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error)
|
//PageGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error)
|
||||||
|
PageGetJoinGroup(ctx context.Context, userID string, pageNumber, showNumber int32) (total uint32, totalGroupMembers []*relationTb.GroupMemberModel, err error)
|
||||||
|
PageGetGroupMember(ctx context.Context, groupID string, pageNumber, showNumber int32) (total uint32, totalGroupMembers []*relationTb.GroupMemberModel, err error)
|
||||||
SearchGroupMember(ctx context.Context, keyword string, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error)
|
SearchGroupMember(ctx context.Context, keyword string, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error)
|
||||||
HandlerGroupRequest(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32, member *relationTb.GroupMemberModel) error
|
HandlerGroupRequest(ctx context.Context, groupID string, userID string, handledMsg string, handleResult int32, member *relationTb.GroupMemberModel) error
|
||||||
DeleteGroupMember(ctx context.Context, groupID string, userIDs []string) error
|
DeleteGroupMember(ctx context.Context, groupID string, userIDs []string) error
|
||||||
@ -196,65 +198,27 @@ func (g *groupDatabase) FindGroupMember(ctx context.Context, groupIDs []string,
|
|||||||
return g.groupMemberDB.Find(ctx, groupIDs, userIDs, roleLevels)
|
return g.groupMemberDB.Find(ctx, groupIDs, userIDs, roleLevels)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *groupDatabase) PageGroupMember(ctx context.Context, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (total uint32, totalGroupMembers []*relationTb.GroupMemberModel, err error) {
|
func (g *groupDatabase) PageGetJoinGroup(ctx context.Context, userID string, pageNumber, showNumber int32) (total uint32, totalGroupMembers []*relationTb.GroupMemberModel, err error) {
|
||||||
if len(roleLevels) == 0 {
|
groupIDs, err := g.cache.GetJoinedGroupIDs(ctx, userID)
|
||||||
if pageNumber == 0 || showNumber == 0 {
|
if err != nil {
|
||||||
if len(groupIDs) == 0 {
|
return 0, nil, err
|
||||||
for _, userID := range userIDs {
|
|
||||||
groupIDs, err := g.cache.GetJoinedGroupIDs(ctx, userID)
|
|
||||||
if err != nil {
|
|
||||||
return 0, nil, err
|
|
||||||
}
|
|
||||||
for _, groupID := range groupIDs {
|
|
||||||
groupMembers, err := g.cache.GetGroupMembersInfo(ctx, groupID, []string{userID})
|
|
||||||
if err != nil {
|
|
||||||
return 0, nil, err
|
|
||||||
}
|
|
||||||
totalGroupMembers = append(totalGroupMembers, groupMembers...)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return uint32(len(totalGroupMembers)), totalGroupMembers, nil
|
|
||||||
}
|
|
||||||
for _, groupID := range groupIDs {
|
|
||||||
groupMembers, err := g.cache.GetGroupMembersInfo(ctx, groupID, userIDs)
|
|
||||||
if err != nil {
|
|
||||||
return 0, nil, err
|
|
||||||
}
|
|
||||||
totalGroupMembers = append(totalGroupMembers, groupMembers...)
|
|
||||||
}
|
|
||||||
return uint32(len(totalGroupMembers)), totalGroupMembers, nil
|
|
||||||
} else {
|
|
||||||
if len(groupIDs) == 0 {
|
|
||||||
for _, userID := range userIDs {
|
|
||||||
groupIDs, err := g.cache.GetJoinedGroupIDs(ctx, userID)
|
|
||||||
if err != nil {
|
|
||||||
return 0, nil, err
|
|
||||||
}
|
|
||||||
groupIDs = utils.Paginate(groupIDs, int(pageNumber), int(showNumber))
|
|
||||||
for _, groupID := range groupIDs {
|
|
||||||
groupMembers, err := g.cache.GetGroupMembersInfo(ctx, groupID, []string{userID})
|
|
||||||
if err != nil {
|
|
||||||
return 0, nil, err
|
|
||||||
}
|
|
||||||
totalGroupMembers = append(totalGroupMembers, groupMembers...)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return uint32(len(groupIDs)), totalGroupMembers, nil
|
|
||||||
}
|
|
||||||
var totalAll uint32
|
|
||||||
for _, groupID := range groupIDs {
|
|
||||||
total, groupMembers, err := g.cache.GetGroupMembersPage(ctx, groupID, userIDs, pageNumber, showNumber)
|
|
||||||
if err != nil {
|
|
||||||
return 0, nil, err
|
|
||||||
}
|
|
||||||
totalAll += total
|
|
||||||
totalGroupMembers = append(totalGroupMembers, groupMembers...)
|
|
||||||
}
|
|
||||||
return totalAll, totalGroupMembers, nil
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return g.groupMemberDB.SearchMember(ctx, "", groupIDs, userIDs, roleLevels, pageNumber, showNumber)
|
for _, groupID := range utils.Paginate(groupIDs, int(pageNumber), int(showNumber)) {
|
||||||
|
groupMembers, err := g.cache.GetGroupMembersInfo(ctx, groupID, []string{userID})
|
||||||
|
if err != nil {
|
||||||
|
return 0, nil, err
|
||||||
|
}
|
||||||
|
totalGroupMembers = append(totalGroupMembers, groupMembers...)
|
||||||
|
}
|
||||||
|
return uint32(len(groupIDs)), totalGroupMembers, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (g *groupDatabase) PageGetGroupMember(ctx context.Context, groupID string, pageNumber, showNumber int32) (total uint32, totalGroupMembers []*relationTb.GroupMemberModel, err error) {
|
||||||
|
groupMembers, err := g.cache.GetAllGroupMembersInfo(ctx, groupID)
|
||||||
|
if err != nil {
|
||||||
|
return 0, nil, err
|
||||||
|
}
|
||||||
|
return uint32(len(groupMembers)), utils.Paginate(groupMembers, int(pageNumber), int(showNumber)), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (g *groupDatabase) SearchGroupMember(ctx context.Context, keyword string, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error) {
|
func (g *groupDatabase) SearchGroupMember(ctx context.Context, keyword string, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error) {
|
||||||
|
@ -33,7 +33,7 @@ func RpcServerInterceptor(ctx context.Context, req interface{}, info *grpc.Unary
|
|||||||
defer func() {
|
defer func() {
|
||||||
if r := recover(); r != nil {
|
if r := recover(); r != nil {
|
||||||
log.ZError(ctx, "rpc panic", nil, "FullMethod", info.FullMethod, "type:", fmt.Sprintf("%T", r), "panic:", r)
|
log.ZError(ctx, "rpc panic", nil, "FullMethod", info.FullMethod, "type:", fmt.Sprintf("%T", r), "panic:", r)
|
||||||
fmt.Println("stack info:", string(debug.Stack()))
|
fmt.Printf("panic: %+v\nstack info: %s\n", r, string(debug.Stack()))
|
||||||
pc, file, line, ok := runtime.Caller(4)
|
pc, file, line, ok := runtime.Caller(4)
|
||||||
if !ok {
|
if !ok {
|
||||||
panic("get runtime.Caller failed")
|
panic("get runtime.Caller failed")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user