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 }