goProject/trunk/center/common/configsYaml/dbConfig.go

189 lines
4.5 KiB
Go
Raw Normal View History

2025-01-06 16:01:02 +08:00
package configYaml
import (
"goutil/logUtilPlus"
"goutil/mysqlUtil"
"goutil/redisUtil"
"time"
)
// DbConfig
//
// @description: mysql配置对象
type DbConfig struct {
// 管理员数据库链接字符串
adminConfig *mysqlUtil.DBConfig
// 用户数据库链接字符串
userConfig *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
}
// 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, _gameModelConfig *mysqlUtil.DBConfig,
_gameConfig *mysqlUtil.DBConfig,
_playerConfig *mysqlUtil.DBConfig,
_redisConfig *redisUtil.RedisConfig) *DbConfig {
return &DbConfig{
adminConfig: _adminConfig,
userConfig: _userConfig,
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
//if redisConfig == nil {
// logUtilPlus.DebugLog("redis配置为空")
// return nil
//}
// 初始化mysql配置对象
dbConfigObj = newMysqlConfig(
mysqlUtil.NewDBConfig(ConfigYaml.Root.DbConfig.AdminDB.ConnectionString, ConfigYaml.Root.DbConfig.AdminDB.MaxOpenConns, ConfigYaml.Root.DbConfig.AdminDB.MaxIdleConns),
mysqlUtil.NewDBConfig(ConfigYaml.Root.DbConfig.UserDB.ConnectionString, ConfigYaml.Root.DbConfig.UserDB.MaxOpenConns, ConfigYaml.Root.DbConfig.UserDB.MaxIdleConns),
mysqlUtil.NewDBConfig(ConfigYaml.Root.DbConfig.GameModel.ConnectionString, ConfigYaml.Root.DbConfig.GameModel.MaxOpenConns, ConfigYaml.Root.DbConfig.GameModel.MaxIdleConns),
mysqlUtil.NewDBConfig(ConfigYaml.Root.DbConfig.GameDB.ConnectionString, ConfigYaml.Root.DbConfig.GameDB.MaxOpenConns, ConfigYaml.Root.DbConfig.GameDB.MaxIdleConns),
mysqlUtil.NewDBConfig(ConfigYaml.Root.DbConfig.PlayerDB.ConnectionString, ConfigYaml.Root.DbConfig.PlayerDB.MaxOpenConns, ConfigYaml.Root.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
}