Commit ecddc4fc39c96e59a09be72c9ac9f081a92edee1

Authored by 陆恒
1 parent e131a8a2
Exists in ver2.3.6

增加新的mysql

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