mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-04-27 20:30:40 +08:00
Merge remote-tracking branch 'origin/errcode' into errcode
This commit is contained in:
commit
d0c2def5f6
@ -19,7 +19,7 @@ mysql:
|
|||||||
dbMaxOpenConns: 100
|
dbMaxOpenConns: 100
|
||||||
dbMaxIdleConns: 10
|
dbMaxIdleConns: 10
|
||||||
dbMaxLifeTime: 5
|
dbMaxLifeTime: 5
|
||||||
logLevel: 6 #1=slient 2=error 3=warn 4=info
|
logLevel: 4 #1=slient 2=error 3=warn 4=info
|
||||||
slowThreshold: 500
|
slowThreshold: 500
|
||||||
|
|
||||||
mongo:
|
mongo:
|
||||||
|
2
go.mod
2
go.mod
@ -4,7 +4,7 @@ go 1.18
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
firebase.google.com/go v3.13.0+incompatible
|
firebase.google.com/go v3.13.0+incompatible
|
||||||
github.com/OpenIMSDK/openKeeper v0.9.9-0.20230426053850-80d254440004
|
github.com/OpenIMSDK/openKeeper v0.9.9-0.20230509114426-eb05252b1e67
|
||||||
github.com/OpenIMSDK/open_utils v1.0.8
|
github.com/OpenIMSDK/open_utils v1.0.8
|
||||||
github.com/Shopify/sarama v1.32.0
|
github.com/Shopify/sarama v1.32.0
|
||||||
github.com/antonfisher/nested-logrus-formatter v1.3.1
|
github.com/antonfisher/nested-logrus-formatter v1.3.1
|
||||||
|
2
go.sum
2
go.sum
@ -391,6 +391,8 @@ github.com/OpenIMSDK/openKeeper v0.0.6 h1:0eseL/h+evxZAM5Dqs85FEDbDFkTjpVwHBSINQ
|
|||||||
github.com/OpenIMSDK/openKeeper v0.0.6/go.mod h1:HwHgo+p3E+aAeiLOSyDwVB2zFJtu+QvnFNlfNjFG9vA=
|
github.com/OpenIMSDK/openKeeper v0.0.6/go.mod h1:HwHgo+p3E+aAeiLOSyDwVB2zFJtu+QvnFNlfNjFG9vA=
|
||||||
github.com/OpenIMSDK/openKeeper v0.9.9-0.20230426053850-80d254440004 h1:+1t9eKPKV/NyQARgVUv6TgOWSf8uKu8rkS41+utSIMk=
|
github.com/OpenIMSDK/openKeeper v0.9.9-0.20230426053850-80d254440004 h1:+1t9eKPKV/NyQARgVUv6TgOWSf8uKu8rkS41+utSIMk=
|
||||||
github.com/OpenIMSDK/openKeeper v0.9.9-0.20230426053850-80d254440004/go.mod h1:HwHgo+p3E+aAeiLOSyDwVB2zFJtu+QvnFNlfNjFG9vA=
|
github.com/OpenIMSDK/openKeeper v0.9.9-0.20230426053850-80d254440004/go.mod h1:HwHgo+p3E+aAeiLOSyDwVB2zFJtu+QvnFNlfNjFG9vA=
|
||||||
|
github.com/OpenIMSDK/openKeeper v0.9.9-0.20230509114426-eb05252b1e67 h1:I6QLciX4LlavBMNyeqkp90DJV+uKcwke7NZ9OKMIjV8=
|
||||||
|
github.com/OpenIMSDK/openKeeper v0.9.9-0.20230509114426-eb05252b1e67/go.mod h1:HwHgo+p3E+aAeiLOSyDwVB2zFJtu+QvnFNlfNjFG9vA=
|
||||||
github.com/OpenIMSDK/open_utils v1.0.8 h1:IopxWgJwEF5ZAPsRuiZZOfcxNOQOCt/p8VDENcHN9r4=
|
github.com/OpenIMSDK/open_utils v1.0.8 h1:IopxWgJwEF5ZAPsRuiZZOfcxNOQOCt/p8VDENcHN9r4=
|
||||||
github.com/OpenIMSDK/open_utils v1.0.8/go.mod h1:FLoaQblWUVKQgqt2LrNzfSZLT6D3DICBn1kcOMDLUOI=
|
github.com/OpenIMSDK/open_utils v1.0.8/go.mod h1:FLoaQblWUVKQgqt2LrNzfSZLT6D3DICBn1kcOMDLUOI=
|
||||||
github.com/Shopify/sarama v1.29.0 h1:ARid8o8oieau9XrHI55f/L3EoRAhm9px6sonbD7yuUE=
|
github.com/Shopify/sarama v1.29.0 h1:ARid8o8oieau9XrHI55f/L3EoRAhm9px6sonbD7yuUE=
|
||||||
|
@ -5,6 +5,7 @@ import (
|
|||||||
|
|
||||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/a2r"
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/a2r"
|
||||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/config"
|
||||||
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/common/log"
|
||||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/discoveryregistry"
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/discoveryregistry"
|
||||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/proto/group"
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/proto/group"
|
||||||
|
|
||||||
@ -26,6 +27,7 @@ func (o *Group) client(ctx context.Context) (group.GroupClient, error) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
log.ZDebug(ctx, "get conn", "local", o.c.GetClientLocalConns())
|
||||||
return group.NewGroupClient(conn), nil
|
return group.NewGroupClient(conn), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,9 +67,10 @@ func NewGinRouter(zk discoveryregistry.SvcDiscoveryRegistry, rdb redis.Universal
|
|||||||
friendRouterGroup.POST("/import_friend", f.ImportFriends) //1
|
friendRouterGroup.POST("/import_friend", f.ImportFriends) //1
|
||||||
friendRouterGroup.POST("/is_friend", f.IsFriend) //1
|
friendRouterGroup.POST("/is_friend", f.IsFriend) //1
|
||||||
}
|
}
|
||||||
groupRouterGroup := r.Group("/group")
|
|
||||||
g := NewGroup(zk)
|
g := NewGroup(zk)
|
||||||
|
groupRouterGroup := r.Group("/group")
|
||||||
{
|
{
|
||||||
|
|
||||||
groupRouterGroup.Use(mw.GinParseToken(rdb))
|
groupRouterGroup.Use(mw.GinParseToken(rdb))
|
||||||
groupRouterGroup.POST("/create_group", g.NewCreateGroup) //1
|
groupRouterGroup.POST("/create_group", g.NewCreateGroup) //1
|
||||||
groupRouterGroup.POST("/set_group_info", g.NewSetGroupInfo) //1
|
groupRouterGroup.POST("/set_group_info", g.NewSetGroupInfo) //1
|
||||||
|
@ -132,19 +132,14 @@ func (m *msgServer) GetMaxSeq(ctx context.Context, req *sdkws.GetMaxSeqReq) (*sd
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
log.ZDebug(ctx, "GetMaxSeq", "conversationIDs", conversationIDs)
|
||||||
maxSeqs, err := m.MsgDatabase.GetMaxSeqs(ctx, conversationIDs)
|
maxSeqs, err := m.MsgDatabase.GetMaxSeqs(ctx, conversationIDs)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.ZWarn(ctx, "GetMaxSeqs error", err, "conversationIDs", conversationIDs)
|
log.ZWarn(ctx, "GetMaxSeqs error", err, "conversationIDs", conversationIDs, "maxSeqs", maxSeqs)
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
minSeqs, err := m.MsgDatabase.GetMinSeqs(ctx, conversationIDs)
|
|
||||||
if err != nil {
|
|
||||||
log.ZWarn(ctx, "GetMinSeqs error", err, "conversationIDs", conversationIDs)
|
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
resp := new(sdkws.GetMaxSeqResp)
|
resp := new(sdkws.GetMaxSeqResp)
|
||||||
resp.MaxSeqs = maxSeqs
|
resp.MaxSeqs = maxSeqs
|
||||||
resp.MinSeqs = minSeqs
|
|
||||||
return resp, nil
|
return resp, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@ func Call[A, B, C any](
|
|||||||
}
|
}
|
||||||
data, err := rpc(cli, c, &req)
|
data, err := rpc(cli, c, &req)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
log.ZError(c, "rpc call error", err, "req", req)
|
||||||
apiresp.GinError(c, err) // RPC调用失败
|
apiresp.GinError(c, err) // RPC调用失败
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
|
|
||||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/discoveryregistry"
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/discoveryregistry"
|
||||||
"github.com/OpenIMSDK/Open-IM-Server/pkg/startrpc"
|
"github.com/OpenIMSDK/Open-IM-Server/pkg/startrpc"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
@ -25,5 +27,8 @@ func (a *RpcCmd) Exec() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *RpcCmd) StartSvr(name string, rpcFn func(client discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) error) error {
|
func (a *RpcCmd) StartSvr(name string, rpcFn func(client discoveryregistry.SvcDiscoveryRegistry, server *grpc.Server) error) error {
|
||||||
|
if a.GetPortFlag() == 0 {
|
||||||
|
return errors.New("port is required")
|
||||||
|
}
|
||||||
return startrpc.Start(a.GetPortFlag(), name, a.GetPrometheusPortFlag(), rpcFn)
|
return startrpc.Start(a.GetPortFlag(), name, a.GetPrometheusPortFlag(), rpcFn)
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,7 @@ func UsersDB2Pb(users []*relationTb.UserModel) (result []*sdkws.UserInfo) {
|
|||||||
userPb.CreateTime = user.CreateTime.Unix()
|
userPb.CreateTime = user.CreateTime.Unix()
|
||||||
userPb.AppMangerLevel = user.AppMangerLevel
|
userPb.AppMangerLevel = user.AppMangerLevel
|
||||||
userPb.GlobalRecvMsgOpt = user.GlobalRecvMsgOpt
|
userPb.GlobalRecvMsgOpt = user.GlobalRecvMsgOpt
|
||||||
|
result = append(result, &userPb)
|
||||||
}
|
}
|
||||||
return result
|
return result
|
||||||
}
|
}
|
||||||
|
5
pkg/common/db/cache/msg.go
vendored
5
pkg/common/db/cache/msg.go
vendored
@ -146,12 +146,13 @@ func (c *msgCache) getSeq(ctx context.Context, conversationID string, getkey fun
|
|||||||
func (c *msgCache) getSeqs(ctx context.Context, items []string, getkey func(s string) string) (m map[string]int64, err error) {
|
func (c *msgCache) getSeqs(ctx context.Context, items []string, getkey func(s string) string) (m map[string]int64, err error) {
|
||||||
pipe := c.rdb.Pipeline()
|
pipe := c.rdb.Pipeline()
|
||||||
for _, v := range items {
|
for _, v := range items {
|
||||||
|
log.ZDebug(ctx, "getSeqs", "getkey", getkey(v))
|
||||||
if err := pipe.Get(ctx, getkey(v)).Err(); err != nil && err != redis.Nil {
|
if err := pipe.Get(ctx, getkey(v)).Err(); err != nil && err != redis.Nil {
|
||||||
return nil, err
|
return nil, errs.Wrap(err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
result, err := pipe.Exec(ctx)
|
result, err := pipe.Exec(ctx)
|
||||||
if err != nil {
|
if err != nil && err != redis.Nil {
|
||||||
return nil, errs.Wrap(err)
|
return nil, errs.Wrap(err)
|
||||||
}
|
}
|
||||||
m = make(map[string]int64, len(items))
|
m = make(map[string]int64, len(items))
|
||||||
|
@ -59,7 +59,7 @@ func (f *FriendRequestGorm) FindToUserID(ctx context.Context, toUserID string, p
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, 0, utils.Wrap(err, "")
|
return nil, 0, utils.Wrap(err, "")
|
||||||
}
|
}
|
||||||
err = utils.Wrap(f.db(ctx).Where("to_user_id = ? ", toUserID).Limit(int(showNumber)).Offset(int(pageNumber*showNumber-1)).Find(&friendRequests).Error, "")
|
err = utils.Wrap(f.db(ctx).Where("to_user_id = ? ", toUserID).Limit(int(showNumber)).Offset(int(pageNumber-1)*int(showNumber)).Find(&friendRequests).Error, "")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -69,6 +69,6 @@ func (f *FriendRequestGorm) FindFromUserID(ctx context.Context, fromUserID strin
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, 0, utils.Wrap(err, "")
|
return nil, 0, utils.Wrap(err, "")
|
||||||
}
|
}
|
||||||
err = utils.Wrap(f.db(ctx).Where("from_user_id = ? ", fromUserID).Limit(int(showNumber)).Offset(int(pageNumber*showNumber-1)).Find(&friendRequests).Error, "")
|
err = utils.Wrap(f.db(ctx).Where("from_user_id = ? ", fromUserID).Limit(int(showNumber)).Offset(int(pageNumber-1)*int(showNumber)).Find(&friendRequests).Error, "")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -4,12 +4,15 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
|
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
|
"google.golang.org/grpc/resolver"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Conn interface {
|
type Conn interface {
|
||||||
GetConns(ctx context.Context, serviceName string, opts ...grpc.DialOption) ([]*grpc.ClientConn, error)
|
GetConns(ctx context.Context, serviceName string, opts ...grpc.DialOption) ([]*grpc.ClientConn, error)
|
||||||
GetConn(ctx context.Context, serviceName string, opts ...grpc.DialOption) (*grpc.ClientConn, error)
|
GetConn(ctx context.Context, serviceName string, opts ...grpc.DialOption) (*grpc.ClientConn, error)
|
||||||
AddOption(opts ...grpc.DialOption)
|
AddOption(opts ...grpc.DialOption)
|
||||||
|
// do not use this method for call rpc
|
||||||
|
GetClientLocalConns() map[string][]resolver.Address
|
||||||
}
|
}
|
||||||
|
|
||||||
type SvcDiscoveryRegistry interface {
|
type SvcDiscoveryRegistry interface {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user