12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- /*
- * @Descripttion:
- * @version:
- * @Author: Neo,Huang
- * @Date: 2020-10-16 14:29:56
- * @LastEditors: Neo,Huang
- * @LastEditTime: 2020-11-09 14:11:24
- */
- package utils
- import (
- "fmt"
- "database/sql"
- "log"
- // import sql driver
- _ "github.com/go-sql-driver/mysql"
- )
- // 获取数据库handler
- var mapMysql = make(map[string]*sql.DB)
- // GetMysqlHandler getMysqlHandler
- func GetMysqlHandler() (*sql.DB, error) {
- var err error
- project := GetProject()
- if mapMysql[project] != nil {
- err = mapMysql[project].Ping()
- if err == nil {
- return mapMysql[project], nil
- }
- log.Print("GetMysqlHandler PING:", err)
- mapMysql[project].Close()
- }
- configFile := GetConfigFile()
- connString := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8", //
- GetConf("mysql::user", configFile), GetConf("mysql::password", configFile),
- GetConf("mysql::host", configFile), GetConf("mysql::port", configFile), GetConf("mysql::database", configFile))
- log.Println("GetMysqlHandler connString:", connString)
- mapMysql[project], err = sql.Open("mysql", connString)
- if err != nil {
- log.Fatal("Open connection failed:", err.Error())
- return nil, err
- }
- err = mapMysql[project].Ping()
- if err != nil {
- log.Print("PING:", err)
- return nil, err
- }
- return mapMysql[project], nil
- }
- // 更新玩家状态
- func UpdatePlayerStatus(uid int, status int) error {
- db, err := GetMysqlHandler()
- if err != nil {
- log.Println("UpdatePlayerStatus get_mahjong_db, Error: ", err)
- return err
- }
- sql := fmt.Sprintf("UPDATE game_user SET status=%d WHERE uid=%d;", status, uid)
- // log.Println("order_insert_db sql:", sql)
- _, err = db.Exec(sql)
- if err != nil {
- log.Println("UpdatePlayerStatus update data Exec Failed, Error: ", err)
- return err
- }
- return nil
- }
|