86 lines
2.0 KiB
Go
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())
|
|
}
|
|
}
|
|
}
|
|
}
|