samba/util/model/db.go
2025-06-04 09:51:39 +08:00

86 lines
2.0 KiB
Go

package model
import (
"github.com/go-redis/redis/v8"
"gorm.io/gorm"
"samba/pkg/log"
"samba/pkg/repo"
"samba/util/config"
)
var configDB *gorm.DB
var userDB *gorm.DB
var payDB *gorm.DB
var dataDB *gorm.DB
var rdbBaseInfo *redis.Client
var rdbMoney *redis.Client
var rdbConfig *redis.Client
var rdbGameLog *redis.Client
const (
redisMoney = "RedisMoney"
redisBaseInfo = "RedisBaseInfo"
redisConfig = "RedisConfig"
redisGameLog = "RedisGameLog"
)
func InitConfigDB(cnf *config.DBConfig) {
var err error
configDB, err = repo.InitMysql(cnf.Username, cnf.Password, cnf.Host, cnf.Port, cnf.ConfigDB)
if err != nil {
log.Error(err.Error())
}
}
func InitUserDB(cnf *config.DBConfig) {
var err error
userDB, err = repo.InitMysql(cnf.Username, cnf.Password, cnf.Host, cnf.Port, cnf.UserDB)
if err != nil {
log.Error(err.Error())
}
}
func InitPayDB(cnf *config.DBConfig) {
var err error
payDB, err = repo.InitMysql(cnf.Username, cnf.Password, cnf.Host, cnf.Port, cnf.PayDB)
if err != nil {
log.Error(err.Error())
}
}
func InitDataDB(cnf *config.DBConfig) {
var err error
dataDB, err = repo.InitMysql(cnf.Username, cnf.Password, cnf.Host, cnf.Port, cnf.DataDB)
if err != nil {
log.Error(err.Error())
}
}
func InitRedis(rdbXmlConfig *config.RedisConfig) {
var err error
for _, rdbCnf := range rdbXmlConfig.Entries {
switch rdbCnf.Key {
case redisMoney:
rdbMoney, err = repo.InitRedis(rdbCnf.Password, rdbCnf.Host, rdbCnf.Port, rdbCnf.DB0)
if err != nil {
log.Error(err.Error())
}
case redisBaseInfo:
rdbBaseInfo, err = repo.InitRedis(rdbCnf.Password, rdbCnf.Host, rdbCnf.Port, rdbCnf.DB0)
if err != nil {
log.Error(err.Error())
}
case redisConfig:
rdbConfig, err = repo.InitRedis(rdbCnf.Password, rdbCnf.Host, rdbCnf.Port, rdbCnf.DB0)
if err != nil {
log.Error(err.Error())
}
case redisGameLog:
rdbGameLog, err = repo.InitRedis(rdbCnf.Password, rdbCnf.Host, rdbCnf.Port, rdbCnf.DB0)
if err != nil {
log.Error(err.Error())
}
}
}
}