Commit ecddc4fc39c96e59a09be72c9ac9f081a92edee1
1 parent
e131a8a2
Exists in
ver2.3.6
增加新的mysql
Showing
3 changed files
with
57 additions
and
9 deletions
Show diff stats
src/HttpServer/logic/function.go
| @@ -11,6 +11,7 @@ import ( | @@ -11,6 +11,7 @@ import ( | ||
| 11 | "encoding/json" | 11 | "encoding/json" |
| 12 | "errors" | 12 | "errors" |
| 13 | "io/ioutil" | 13 | "io/ioutil" |
| 14 | + "mysql" | ||
| 14 | "net/http" | 15 | "net/http" |
| 15 | "sort" | 16 | "sort" |
| 16 | "strconv" | 17 | "strconv" |
| @@ -54,15 +55,35 @@ func GetUserInfo(uniqueid string) (*UserData, error) { | @@ -54,15 +55,35 @@ func GetUserInfo(uniqueid string) (*UserData, error) { | ||
| 54 | 55 | ||
| 55 | data, err := redishandler.GetRedisClient().HGet(redis.USER_DATA_KEY, uniqueid) | 56 | data, err := redishandler.GetRedisClient().HGet(redis.USER_DATA_KEY, uniqueid) |
| 56 | if err != nil { | 57 | if err != nil { |
| 57 | - return nil, err | ||
| 58 | - } | ||
| 59 | - var tmp UserData | ||
| 60 | - err = json.Unmarshal([]byte(data), &tmp) | ||
| 61 | - if err != nil { | ||
| 62 | - return nil, err | 58 | + logger.Info("GetUserInfo from mysql") |
| 59 | + //return nil, err | ||
| 60 | + //从mysql读取 | ||
| 61 | + err,info,task,ach := mysql.GetFromBackUp(uniqueid) | ||
| 62 | + if err != nil { | ||
| 63 | + return nil, err | ||
| 64 | + } | ||
| 65 | + //先保存数据 | ||
| 66 | + err = redishandler.GetRedisClient().HSet(redis.USER_DATA_KEY, uniqueid,info) | ||
| 67 | + err = redishandler.GetRedisClient().HSet(redis.USER_TASKINFO_LIST, uniqueid,task) | ||
| 68 | + err = redishandler.GetRedisClient().HSet(redis.USER_ACHIEVEMENTINFO_LIST, uniqueid,ach) | ||
| 69 | + | ||
| 70 | + var tmp UserData | ||
| 71 | + err = json.Unmarshal([]byte(info), &tmp) | ||
| 72 | + if err != nil { | ||
| 73 | + return nil, err | ||
| 74 | + } | ||
| 75 | + | ||
| 76 | + return &tmp, nil | ||
| 77 | + }else { | ||
| 78 | + var tmp UserData | ||
| 79 | + err = json.Unmarshal([]byte(data), &tmp) | ||
| 80 | + if err != nil { | ||
| 81 | + return nil, err | ||
| 82 | + } | ||
| 83 | + | ||
| 84 | + return &tmp, nil | ||
| 63 | } | 85 | } |
| 64 | 86 | ||
| 65 | - return &tmp, nil | ||
| 66 | } | 87 | } |
| 67 | 88 | ||
| 68 | func GetUserLvConfig(lv int) *jsonconf.LevelDesc { | 89 | func GetUserLvConfig(lv int) *jsonconf.LevelDesc { |
src/HttpServer/main/main.go
| @@ -7,6 +7,7 @@ import ( | @@ -7,6 +7,7 @@ import ( | ||
| 7 | "HttpServer/redishandler" | 7 | "HttpServer/redishandler" |
| 8 | "common/logger" | 8 | "common/logger" |
| 9 | "flag" | 9 | "flag" |
| 10 | + "mysql" | ||
| 10 | "os" | 11 | "os" |
| 11 | "runtime/pprof" | 12 | "runtime/pprof" |
| 12 | "time" | 13 | "time" |
| @@ -51,11 +52,11 @@ func main() { | @@ -51,11 +52,11 @@ func main() { | ||
| 51 | return | 52 | return |
| 52 | } | 53 | } |
| 53 | 54 | ||
| 54 | - /*err = mysql.InitMysql() | 55 | + err = mysql.InitMysql() |
| 55 | if err != nil { | 56 | if err != nil { |
| 56 | logger.Error("err init mysql err=%v", err) | 57 | logger.Error("err init mysql err=%v", err) |
| 57 | return | 58 | return |
| 58 | - }*/ | 59 | + } |
| 59 | 60 | ||
| 60 | err = jsonconf.LoadJsonConf() | 61 | err = jsonconf.LoadJsonConf() |
| 61 | if err != nil { | 62 | if err != nil { |
src/mysql/dbmysql.go
| @@ -46,6 +46,32 @@ func ExcuteCmd(cmd string) error { | @@ -46,6 +46,32 @@ func ExcuteCmd(cmd string) error { | ||
| 46 | return err | 46 | return err |
| 47 | } | 47 | } |
| 48 | 48 | ||
| 49 | +func GetFromBackUp(uniqueid string) (error,string,string,string) { | ||
| 50 | + cmd := "select info,task,achieve from hedaoshi where uid = " + uniqueid | ||
| 51 | + rows, err := m_game_db.Query(cmd) | ||
| 52 | + if rows != nil { | ||
| 53 | + defer rows.Close() | ||
| 54 | + } | ||
| 55 | + if err != nil { | ||
| 56 | + logger.Notic("TestClearData mysql select error:%v", err) | ||
| 57 | + return err,"","","" | ||
| 58 | + } | ||
| 59 | + var info,task,ach string | ||
| 60 | + for rows.Next() { | ||
| 61 | + | ||
| 62 | + err = rows.Scan(&info,&task,&ach) | ||
| 63 | + if err != nil { | ||
| 64 | + logger.Notic("GetFromBackUp mysql handle result error:%v", err) | ||
| 65 | + return err,"","","" | ||
| 66 | + } | ||
| 67 | + logger.Info("GetFromBackUp uniqueid=%v",uniqueid) | ||
| 68 | + | ||
| 69 | + break | ||
| 70 | + } | ||
| 71 | + | ||
| 72 | + return nil,info,task,ach | ||
| 73 | +} | ||
| 74 | + | ||
| 49 | func TestClearData(uid int) (int,error) { | 75 | func TestClearData(uid int) (int,error) { |
| 50 | cmd := fmt.Sprintf("select coin from b_user_ext_04 where user_id=%d", uid) | 76 | cmd := fmt.Sprintf("select coin from b_user_ext_04 where user_id=%d", uid) |
| 51 | 77 |