package mysql

import (
	"database/sql"
	_ "github.com/go-sql-driver/mysql"
	"system_pay/setting"
)

//var (
//	shopDB *sqlx.DB
//	//db *sqlx.DB
//	// 0 ~ h
//	//userDB *sqlx.DB
//	// i ~ z
//	//secondDB *sqlx.DB
//	// PayDB 支付
//	//payDB *sqlx.DB
//	err   error
//)

// NewShopConn is 连接谛宝多多库
//func NewShopConn() (*sqlx.DB, error) {
//	if shopDB == nil {
//		shopDB, err = sqlx.Connect("mysql", setting.Conf.DatabaseSetting.ShopDB)
//		return shopDB, err
//	}
//	//shopDB.SetMaxOpenConns(setting.Conf.DatabaseSetting.MaxOpenConns)
//	return shopDB, err
//}
//
//// ShopDBClose 关闭MySQL连接
//func ShopDBClose() {
//	_ = shopDB.Close()
//}


var (
	systemdb  *sql.DB
	err error
)

// NewPayConn is 连接支付库
func NewPayConn() (*sql.DB, error) {
	if systemdb == nil {
		//systemdb, err = sql.Open("mysql", beego.AppConfig.String("PayURL"))
		systemdb, err = sql.Open("mysql", setting.Conf.DatabaseSetting.SystemDB)
		//systemdb, err = sqlx.Connect("mysql", setting.Conf.DatabaseSetting.SystemDB)
		return systemdb, err
	}
	return systemdb, nil
}

// CloseTx is 有错误则关闭事务、没错则提交事务
func CloseTx(tx *sql.Tx, err error) {
	if err != nil {
		tx.Rollback()
	}
	tx.Commit()
}








// NewAccountConn is 连接医院用户库
//func NewAccountConn() (*sqlx.DB, error) {
//	if db == nil {
//		db, err = sqlx.Connect("mysql", setting.Conf.DatabaseSetting.AccountDB)
//		return db, err
//	}
//	//db.SetMaxOpenConns(setting.Conf.DatabaseSetting.MaxOpenConns)
//	return db, err
//}

// NewUserConn 连接用户存放数据的库
//func NewUserConn(chainCode string) (*sqlx.DB, error) {
//
//	chainCode = strings.ToLower(chainCode)
//	if len(chainCode[:1]) != 1 {
//		return nil, err
//	}
//	word := chainCode[:1]
//	if word > "h" {
//		if secondDB == nil {
//			secondDB, err = sqlx.Connect("mysql", setting.Conf.DatabaseSetting.SecondDB)
//			return secondDB, err
//		}
//		//secondDB.SetMaxOpenConns(setting.Conf.DatabaseSetting.MaxOpenConns)
//		return secondDB, err
//	}
//
//	if userDB == nil {
//		userDB, err = sqlx.Connect("mysql", setting.Conf.DatabaseSetting.UserDB)
//		return userDB, err
//	}
//	//userDB.SetMaxOpenConns(setting.Conf.DatabaseSetting.MaxOpenConns)
//	return userDB, err
//}

// NewPayConn 支付
//func NewPayConn() (*sqlx.DB, error) {
//	if payDB == nil {
//			payDB, err = sqlx.Connect("mysql", setting.Conf.DatabaseSetting.PayDB)
//		return payDB, err
//	}
//	//payDB.SetMaxOpenConns(setting.Conf.DatabaseSetting.MaxOpenConns)
//	return payDB, err
//}

// Close 关闭MySQL连接
//func Close() {
//	_ = db.Close()
//}

// PayDBClose 关闭MySQL连接
//func PayDBClose() {
//	_ = payDB.Close()
//}