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
|
|
|
|
|
}
|