From ecddc4fc39c96e59a09be72c9ac9f081a92edee1 Mon Sep 17 00:00:00 2001 From: 陆恒 Date: Wed, 2 Sep 2020 09:57:04 +0800 Subject: [PATCH] 增加新的mysql --- src/HttpServer/logic/function.go | 35 ++++++++++++++++++++++++++++------- src/HttpServer/main/main.go | 5 +++-- src/mysql/dbmysql.go | 26 ++++++++++++++++++++++++++ 3 files changed, 57 insertions(+), 9 deletions(-) diff --git a/src/HttpServer/logic/function.go b/src/HttpServer/logic/function.go index 08f49d9..86acc6d 100644 --- a/src/HttpServer/logic/function.go +++ b/src/HttpServer/logic/function.go @@ -11,6 +11,7 @@ import ( "encoding/json" "errors" "io/ioutil" + "mysql" "net/http" "sort" "strconv" @@ -54,15 +55,35 @@ func GetUserInfo(uniqueid string) (*UserData, error) { data, err := redishandler.GetRedisClient().HGet(redis.USER_DATA_KEY, uniqueid) if err != nil { - return nil, err - } - var tmp UserData - err = json.Unmarshal([]byte(data), &tmp) - if err != nil { - return nil, err + logger.Info("GetUserInfo from mysql") + //return nil, err + //从mysql读取 + err,info,task,ach := mysql.GetFromBackUp(uniqueid) + if err != nil { + return nil, err + } + //先保存数据 + err = redishandler.GetRedisClient().HSet(redis.USER_DATA_KEY, uniqueid,info) + err = redishandler.GetRedisClient().HSet(redis.USER_TASKINFO_LIST, uniqueid,task) + err = redishandler.GetRedisClient().HSet(redis.USER_ACHIEVEMENTINFO_LIST, uniqueid,ach) + + var tmp UserData + err = json.Unmarshal([]byte(info), &tmp) + if err != nil { + return nil, err + } + + return &tmp, nil + }else { + var tmp UserData + err = json.Unmarshal([]byte(data), &tmp) + if err != nil { + return nil, err + } + + return &tmp, nil } - return &tmp, nil } func GetUserLvConfig(lv int) *jsonconf.LevelDesc { diff --git a/src/HttpServer/main/main.go b/src/HttpServer/main/main.go index 3f58dae..4c3395a 100644 --- a/src/HttpServer/main/main.go +++ b/src/HttpServer/main/main.go @@ -7,6 +7,7 @@ import ( "HttpServer/redishandler" "common/logger" "flag" + "mysql" "os" "runtime/pprof" "time" @@ -51,11 +52,11 @@ func main() { return } - /*err = mysql.InitMysql() + err = mysql.InitMysql() if err != nil { logger.Error("err init mysql err=%v", err) return - }*/ + } err = jsonconf.LoadJsonConf() if err != nil { diff --git a/src/mysql/dbmysql.go b/src/mysql/dbmysql.go index cf3f86a..f22576f 100644 --- a/src/mysql/dbmysql.go +++ b/src/mysql/dbmysql.go @@ -46,6 +46,32 @@ func ExcuteCmd(cmd string) error { return err } +func GetFromBackUp(uniqueid string) (error,string,string,string) { + cmd := "select info,task,achieve from hedaoshi where uid = " + uniqueid + rows, err := m_game_db.Query(cmd) + if rows != nil { + defer rows.Close() + } + if err != nil { + logger.Notic("TestClearData mysql select error:%v", err) + return err,"","","" + } + var info,task,ach string + for rows.Next() { + + err = rows.Scan(&info,&task,&ach) + if err != nil { + logger.Notic("GetFromBackUp mysql handle result error:%v", err) + return err,"","","" + } + logger.Info("GetFromBackUp uniqueid=%v",uniqueid) + + break + } + + return nil,info,task,ach +} + func TestClearData(uid int) (int,error) { cmd := fmt.Sprintf("select coin from b_user_ext_04 where user_id=%d", uid) -- libgit2 0.21.0