package configYaml import ( "goutil/logUtilPlus" "goutil/mysqlUtil" "goutil/redisUtil" "time" ) // DbConfig // // @description: mysql配置对象 type DbConfig struct { // 管理员数据库链接字符串 adminConfig *mysqlUtil.DBConfig // 用户数据库链接字符串 userConfig *mysqlUtil.DBConfig // 充值数据库链接字符串 payConfig *mysqlUtil.DBConfig // 游戏模型数据库链接字符串 gameModelConfig *mysqlUtil.DBConfig // 游戏数据库链接字符串 gameConfig *mysqlUtil.DBConfig // 游戏数据库链接字符串 playerConfig *mysqlUtil.DBConfig // redis配置对象 redisConfig *redisUtil.RedisConfig } var ( // 数据库配置对象 dbConfigObj *DbConfig ) // GetAdminConfig // @description: 获取admin库配置 // parameter: // // @receiver config:config // // return: // // @*mysqlUtil.DBConfig:admin库配置 func (config *DbConfig) GetAdminConfig() *mysqlUtil.DBConfig { return config.adminConfig } // GetUserConfig // @description: 获取user库配置 // parameter: // // @receiver config:config // // return: // // @*mysqlUtil.DBConfig:user库配置 func (config *DbConfig) GetUserConfig() *mysqlUtil.DBConfig { return config.userConfig } // GetPayConfig // @description: 获取pay库配置 // parameter: // // @receiver config:config // // return: // // @*mysqlUtil.DBConfig:user库配置 func (config *DbConfig) GetPayConfig() *mysqlUtil.DBConfig { return config.payConfig } // GetGameModelConfig // @description: 获取model库配置 // parameter: // // @receiver config:config // // return: // // @*mysqlUtil.DBConfig:model库配置 func (config *DbConfig) GetGameModelConfig() *mysqlUtil.DBConfig { return config.gameModelConfig } // GetGameConfig // @description: 获取Game库配置 // parameter: // // @receiver config:config // // return: // // @*mysqlUtil.DBConfig:Game库配置 func (config *DbConfig) GetGameConfig() *mysqlUtil.DBConfig { return config.gameConfig } // GetPlayerConfig // @description: 获取玩家库配置 // parameter: // // @receiver config:config // // return: // // @*mysqlUtil.DBConfig:玩家库配置 func (config *DbConfig) GetPlayerConfig() *mysqlUtil.DBConfig { return config.playerConfig } // GetRedisConfig // @description: 获取redis配置对象 // parameter: // // @receiver config:config // // return: // // @*redisUtil.RedisConfig:redis配置 func (config *DbConfig) GetRedisConfig() *redisUtil.RedisConfig { return config.redisConfig } // newMysqlConfig // // @description: 创建新的Mysql配置对象 // // parameter: // // @_gameModelConfig: // @_gameConfig: // @_playerConfig: // @_redisConfig: // // return: // // @*DbConfig: func newMysqlConfig(_adminConfig *mysqlUtil.DBConfig, _userConfig *mysqlUtil.DBConfig, _payConfig *mysqlUtil.DBConfig, _gameModelConfig *mysqlUtil.DBConfig, _gameConfig *mysqlUtil.DBConfig, _playerConfig *mysqlUtil.DBConfig, _redisConfig *redisUtil.RedisConfig) *DbConfig { return &DbConfig{ adminConfig: _adminConfig, userConfig: _userConfig, payConfig: _payConfig, gameModelConfig: _gameModelConfig, gameConfig: _gameConfig, redisConfig: _redisConfig, playerConfig: _playerConfig, } } // initDbConfig // // @description: 初始化数据库配置 // // parameter: // // @configObj: 数据库配置 // // return: // // @error: 错误数据 func initDbConfig() error { logUtilPlus.DebugLog("开始加载DbConfig") redisConfig := ConfigYaml.Root.DbConfig.RedisConfig dbConfig := ConfigYaml.Root.DbConfig //if redisConfig == nil { // logUtilPlus.DebugLog("redis配置为空") // return nil //} // 初始化mysql配置对象 dbConfigObj = newMysqlConfig( mysqlUtil.NewDBConfig(dbConfig.AdminDB.ConnectionString, dbConfig.AdminDB.MaxOpenConns, dbConfig.AdminDB.MaxIdleConns), mysqlUtil.NewDBConfig(dbConfig.UserDB.ConnectionString, dbConfig.UserDB.MaxOpenConns, dbConfig.UserDB.MaxIdleConns), mysqlUtil.NewDBConfig(dbConfig.PayDB.ConnectionString, dbConfig.PayDB.MaxOpenConns, dbConfig.PayDB.MaxIdleConns), mysqlUtil.NewDBConfig(dbConfig.GameModel.ConnectionString, dbConfig.GameModel.MaxOpenConns, dbConfig.GameModel.MaxIdleConns), mysqlUtil.NewDBConfig(dbConfig.GameDB.ConnectionString, dbConfig.GameDB.MaxOpenConns, dbConfig.GameDB.MaxIdleConns), mysqlUtil.NewDBConfig(dbConfig.PlayerDB.ConnectionString, dbConfig.PlayerDB.MaxOpenConns, dbConfig.PlayerDB.MaxIdleConns), redisUtil.NewRedisConfig2(redisConfig.ConnectionString, redisConfig.Password, redisConfig.Database, redisConfig.MaxActive, redisConfig.MaxIdle, time.Duration(redisConfig.IdleTimeout)*time.Second, time.Duration(redisConfig.DialConnectTimeout)*time.Second)) return nil } // GetDbConfig // // @description: 获取mysql配置 // // parameter: // return: // // @*DbConfig: mysql配置对象 func GetDbConfig() *DbConfig { return dbConfigObj }