remove mysql

pull/1508/head
withchao 2 years ago
parent ce3b4eec08
commit 1dbd824a08

@ -0,0 +1,129 @@
package group
import (
"context"
"github.com/OpenIMSDK/protocol/constant"
"github.com/OpenIMSDK/protocol/group"
"github.com/OpenIMSDK/protocol/wrapperspb"
"github.com/OpenIMSDK/tools/log"
"github.com/openimsdk/open-im-server/v3/pkg/common/config"
"github.com/openimsdk/open-im-server/v3/pkg/common/db/cache"
"github.com/openimsdk/open-im-server/v3/pkg/common/db/controller"
"github.com/openimsdk/open-im-server/v3/pkg/common/db/newmgo"
tx2 "github.com/openimsdk/open-im-server/v3/pkg/common/db/tx"
"github.com/openimsdk/open-im-server/v3/pkg/common/db/unrelation"
"github.com/openimsdk/open-im-server/v3/pkg/rpcclient/grouphash"
"github.com/redis/go-redis/v9"
"net"
"testing"
"time"
)
var (
rdb redis.UniversalClient
mgo *unrelation.Mongo
ctx context.Context
groupDB *newmgo.GroupMgo
memberDB *newmgo.GroupMemberMgo
gs *groupServer
)
func InitDB() error {
addr := "172.16.8.142"
pwd := "openIM123"
config.Config.Redis.Address = []string{net.JoinHostPort(addr, "16379")}
config.Config.Redis.Password = pwd
config.Config.Mongo.Address = []string{net.JoinHostPort(addr, "37017")}
config.Config.Mongo.Database = "openIM_v3"
config.Config.Mongo.Username = "root"
config.Config.Mongo.Password = pwd
config.Config.Mongo.MaxPoolSize = 100
var err error
rdb, err = cache.NewRedis()
if err != nil {
return err
}
mgo, err = unrelation.NewMongo()
if err != nil {
return err
}
tx, err := tx2.NewAuto(context.Background(), mgo.GetClient())
if err != nil {
return err
}
config.Config.Object.Enable = "minio"
config.Config.Object.ApiURL = "http://" + net.JoinHostPort(addr, "10002")
config.Config.Object.Minio.Bucket = "openim"
config.Config.Object.Minio.Endpoint = "http://" + net.JoinHostPort(addr, "10005")
config.Config.Object.Minio.AccessKeyID = "root"
config.Config.Object.Minio.SecretAccessKey = pwd
config.Config.Object.Minio.SignEndpoint = config.Config.Object.Minio.Endpoint
config.Config.Manager.UserID = []string{"openIM123456"}
config.Config.Manager.Nickname = []string{"openIM123456"}
ctx = context.WithValue(context.Background(), constant.OperationID, "debugOperationID")
ctx = context.WithValue(context.Background(), constant.OpUserID, config.Config.Manager.UserID[0])
if err := log.InitFromConfig("", "", 6, true, false, "", 2, 1); err != nil {
panic(err)
}
g, err := newmgo.NewGroupMongo(mgo.GetDatabase())
if err != nil {
return err
}
gm, err := newmgo.NewGroupMember(mgo.GetDatabase())
if err != nil {
return err
}
gr, err := newmgo.NewGroupRequestMgo(mgo.GetDatabase())
if err != nil {
return err
}
groupDB = g.(*newmgo.GroupMgo)
memberDB = gm.(*newmgo.GroupMemberMgo)
gs = &groupServer{}
gs.db = controller.NewGroupDatabase(rdb, groupDB, memberDB, gr, tx, grouphash.NewGroupHashFromGroupServer(gs))
return nil
}
func init() {
if err := InitDB(); err != nil {
panic(err)
}
}
func TestName(t *testing.T) {
ctx = context.WithValue(context.Background(), constant.OpUserID, "4454892084")
resp, err := gs.SetGroupMemberInfo(ctx, &group.SetGroupMemberInfoReq{
Members: []*group.SetGroupMemberInfo{
{
GroupID: "1731877545",
UserID: "3332974673",
Nickname: wrapperspb.String("nickname"),
RoleLevel: wrapperspb.Int32(constant.GroupAdmin),
},
},
})
if err != nil {
t.Fatal(err)
}
t.Log(resp)
}
func Test_GroupCreateCount(t *testing.T) {
ctx = context.WithValue(context.Background(), constant.OpUserID, "4454892084")
resp, err := gs.GroupCreateCount(ctx, &group.GroupCreateCountReq{
Start: 0,
End: time.Now().Add(time.Hour).UnixMilli(),
})
if err != nil {
t.Fatal(err)
}
t.Log(resp)
}

@ -55,6 +55,37 @@ func (g *GroupMgo) CountTotal(ctx context.Context, before *time.Time) (count int
}
func (g *GroupMgo) CountRangeEverydayTotal(ctx context.Context, start time.Time, end time.Time) (map[string]int64, error) {
//TODO implement me
panic("implement me")
pipeline := bson.A{
bson.M{
"$match": bson.M{
"create_time": bson.M{
"$gte": start,
"$lt": end,
},
},
},
bson.M{
"$group": bson.M{
"_id": bson.M{
"$dateToString": bson.M{
"format": "%Y-%m-%d",
"date": "$create_time",
},
},
},
},
}
type Item struct {
Date string `bson:"_id"`
Count int64 `bson:"count"`
}
items, err := mgotool.Aggregate[Item](ctx, g.coll, pipeline)
if err != nil {
return nil, err
}
res := make(map[string]int64, len(items))
for _, item := range items {
res[item.Date] = item.Count
}
return res, nil
}

@ -84,7 +84,7 @@ func main() {
}
checks := []checkFunc{
{name: "Mysql", function: checkMysql},
//{name: "Mysql", function: checkMysql},
{name: "Mongo", function: checkMongo},
{name: "Minio", function: checkMinio},
{name: "Redis", function: checkRedis},

Loading…
Cancel
Save