You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
2.5 KiB
97 lines
2.5 KiB
package data
|
|
|
|
import (
|
|
"github.com/go-kratos/kratos/v2/log"
|
|
"github.com/go-xorm/xorm"
|
|
"github.com/google/wire"
|
|
"github.com/patrickmn/go-cache"
|
|
"go.mongodb.org/mongo-driver/mongo"
|
|
"matchmaking-system/internal/conf"
|
|
"matchmaking-system/internal/data/mq/consumer"
|
|
"matchmaking-system/internal/data/mq/producers"
|
|
|
|
_ "github.com/go-sql-driver/mysql"
|
|
res "github.com/redis/go-redis/v9"
|
|
che "matchmaking-system/internal/data/cache"
|
|
msql "matchmaking-system/internal/data/mysql"
|
|
red "matchmaking-system/internal/data/redis"
|
|
)
|
|
|
|
// ProviderSet is data providers.
|
|
var ProviderSet = wire.NewSet(
|
|
NewData, // new data
|
|
msql.NewMySql, // mysql data
|
|
//mgo.NewMongodb, // mongo data
|
|
//mq.NewMqConsumer, // mq consumer
|
|
//mq.NewMqProducer, // mq producer
|
|
red.NewRedis, // redis data
|
|
che.NewCacheDB, // cache db
|
|
NewALiYunRepo, // aLiYun repo
|
|
NewUserOrderRepo, // user repo
|
|
NewUserSpotsRepo, // user spots
|
|
NewUserSecondRepo, // user second
|
|
NewUserContractRepo, // user contract
|
|
NewUserForexRepo, // user forex
|
|
NewUserMoneyRepo, // user money
|
|
NewUserShareUsRepo, // user shareUs
|
|
NewUserShareThaRepo, // user shareTha
|
|
NewUserShareIdnRepo, // user shareIdn
|
|
NewUserShareInrRepo, // user shareInr
|
|
NewUserShareGbxRepo, // user shareGbx
|
|
NewUserShareMysRepo, // user shareMys
|
|
NewUserShareSgdRepo, // user shareSgd
|
|
NewUserShareHkdRepo, // user shareHkd
|
|
NewUserShareEurRepo, // user shareEur
|
|
NewUserShareFurRepo, // user shareFur
|
|
NewUserShareBrlRepo, // user shareBrl
|
|
NewUserShareJpyRepo, // user shareJpy
|
|
NewUserShareBlkRepo, // user shareBlk
|
|
NewUserOptionInrRepo, // user optionInr
|
|
NewUserBackendRepo, // user backend
|
|
)
|
|
|
|
// Data
|
|
// @Description:
|
|
type Data struct {
|
|
mysqlDB *xorm.EngineGroup
|
|
mongoDB *mongo.Client
|
|
cacheDB *cache.Cache
|
|
redisDB *res.Client
|
|
mqProducer *producers.Producer
|
|
mqConsumer *consumer.Consumer
|
|
}
|
|
|
|
// NewData .
|
|
//
|
|
// @Description:
|
|
// @param c
|
|
// @param logger
|
|
// @param mysqlDB
|
|
// @param mongoDB
|
|
// @param redisDB
|
|
// @param cacheDB
|
|
// @return *Data
|
|
// @return func()
|
|
// @return error
|
|
func NewData(
|
|
c *conf.Data,
|
|
logger log.Logger,
|
|
mysqlDB *xorm.EngineGroup,
|
|
//mongoDB *mongo.Client,
|
|
//mqProducer *producers.Producer,
|
|
//mqConsumer *consumer.Consumer,
|
|
redisDB *res.Client,
|
|
cacheDB *cache.Cache) (*Data, func(), error) {
|
|
cleanup := func() {
|
|
log.NewHelper(logger).Info("closing the data resources")
|
|
}
|
|
|
|
return &Data{
|
|
mysqlDB: mysqlDB,
|
|
//mongoDB: mongoDB,
|
|
//mqProducer: mqProducer,
|
|
//mqConsumer: mqConsumer,
|
|
redisDB: redisDB,
|
|
cacheDB: cacheDB},
|
|
cleanup, nil
|
|
}
|
|
|