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

216 lines
4.9 KiB
Go
Raw Permalink 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 {
2025-01-23 16:12:49 +08:00
// 实时更新数据库数量{玩家库/用户库}
dbNum []int
2025-01-06 16:01:02 +08:00
// 管理员数据库链接字符串
adminConfig *mysqlUtil.DBConfig
// 用户数据库链接字符串
userConfig *mysqlUtil.DBConfig
2025-01-08 17:48:14 +08:00
// 充值数据库链接字符串
payConfig *mysqlUtil.DBConfig
2025-01-06 16:01:02 +08:00
// 游戏模型数据库链接字符串
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
}
2025-01-08 17:48:14 +08:00
// GetPayConfig
// @description: 获取pay库配置
// parameter:
//
// @receiver config:config
//
// return:
//
// @*mysqlUtil.DBConfig:user库配置
func (config *DbConfig) GetPayConfig() *mysqlUtil.DBConfig {
return config.payConfig
}
2025-01-06 16:01:02 +08:00
// 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:
2025-01-23 16:12:49 +08:00
func newMysqlConfig(_dbNum []int, _adminConfig *mysqlUtil.DBConfig, _userConfig *mysqlUtil.DBConfig, _payConfig *mysqlUtil.DBConfig, _gameModelConfig *mysqlUtil.DBConfig,
2025-01-06 16:01:02 +08:00
_gameConfig *mysqlUtil.DBConfig,
_playerConfig *mysqlUtil.DBConfig,
_redisConfig *redisUtil.RedisConfig) *DbConfig {
return &DbConfig{
2025-01-23 16:12:49 +08:00
dbNum: _dbNum,
2025-01-06 16:01:02 +08:00
adminConfig: _adminConfig,
userConfig: _userConfig,
2025-01-08 17:48:14 +08:00
payConfig: _payConfig,
2025-01-06 16:01:02 +08:00
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
2025-01-08 17:48:14 +08:00
dbConfig := ConfigYaml.Root.DbConfig
2025-01-06 16:01:02 +08:00
//if redisConfig == nil {
// logUtilPlus.DebugLog("redis配置为空")
// return nil
//}
// 初始化mysql配置对象
2025-01-23 16:12:49 +08:00
dbConfigObj = newMysqlConfig(dbConfig.DBNum,
2025-01-08 17:48:14 +08:00
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),
2025-01-06 16:01:02 +08:00
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
}
2025-01-23 16:12:49 +08:00
func GetDBNum() []int {
return dbConfigObj.dbNum
}