Merge branch 'errcode' of github.com:OpenIMSDK/Open-IM-Server into errcode

This commit is contained in:
wangchuxiao 2023-05-18 17:35:05 +08:00
commit 405a9b75b0
2 changed files with 32 additions and 25 deletions

View File

@ -231,11 +231,19 @@ func (g *groupDatabase) PageGetJoinGroup(ctx context.Context, userID string, pag
}
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)
groupMemberIDs, err := g.cache.GetGroupMemberIDs(ctx, groupID)
if err != nil {
return 0, nil, err
}
return uint32(len(groupMembers)), utils.Paginate(groupMembers, int(pageNumber), int(showNumber)), nil
pageIDs := utils.Paginate(groupMemberIDs, int(pageNumber), int(showNumber))
if len(pageIDs) == 0 {
return uint32(len(groupMemberIDs)), nil, nil
}
members, err := g.cache.GetGroupMembersInfo(ctx, groupID, pageIDs)
if err != nil {
return 0, nil, err
}
return uint32(len(groupMemberIDs)), members, nil
}
func (g *groupDatabase) SearchGroupMember(ctx context.Context, keyword string, groupIDs []string, userIDs []string, roleLevels []int32, pageNumber, showNumber int32) (uint32, []*relationTb.GroupMemberModel, error) {

View File

@ -5,7 +5,6 @@ import (
"fmt"
"math"
"runtime"
"runtime/debug"
"strings"
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/constant"
@ -30,28 +29,28 @@ func rpcString(v interface{}) string {
}
func RpcServerInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) {
defer func() {
if r := recover(); r != nil {
log.ZError(ctx, "rpc panic", nil, "FullMethod", info.FullMethod, "type:", fmt.Sprintf("%T", r), "panic:", r)
fmt.Printf("panic: %+v\nstack info: %s\n", r, string(debug.Stack()))
pc, file, line, ok := runtime.Caller(4)
if !ok {
panic("get runtime.Caller failed")
}
errInfo := &errinfo.ErrorInfo{
Path: file,
Line: uint32(line),
Name: runtime.FuncForPC(pc).Name(),
Cause: fmt.Sprintf("%s", r),
Warp: nil,
}
sta, err_ := status.New(codes.Code(errs.ErrInternalServer.Code()), errs.ErrInternalServer.Msg()).WithDetails(errInfo)
if err_ != nil {
panic(err_)
}
err = sta.Err()
}
}()
//defer func() {
// if r := recover(); r != nil {
// log.ZError(ctx, "rpc panic", nil, "FullMethod", info.FullMethod, "type:", fmt.Sprintf("%T", r), "panic:", r)
// fmt.Printf("panic: %+v\nstack info: %s\n", r, string(debug.Stack()))
// pc, file, line, ok := runtime.Caller(4)
// if !ok {
// panic("get runtime.Caller failed")
// }
// errInfo := &errinfo.ErrorInfo{
// Path: file,
// Line: uint32(line),
// Name: runtime.FuncForPC(pc).Name(),
// Cause: fmt.Sprintf("%s", r),
// Warp: nil,
// }
// sta, err_ := status.New(codes.Code(errs.ErrInternalServer.Code()), errs.ErrInternalServer.Msg()).WithDetails(errInfo)
// if err_ != nil {
// panic(err_)
// }
// err = sta.Err()
// }
//}()
funcName := info.FullMethod
md, ok := metadata.FromIncomingContext(ctx)
if !ok {