Commit ecddc4fc39c96e59a09be72c9ac9f081a92edee1

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

增加新的mysql

src/HttpServer/logic/function.go
... ... @@ -11,6 +11,7 @@ import (
11 11 "encoding/json"
12 12 "errors"
13 13 "io/ioutil"
  14 + "mysql"
14 15 "net/http"
15 16 "sort"
16 17 "strconv"
... ... @@ -54,15 +55,35 @@ func GetUserInfo(uniqueid string) (*UserData, error) {
54 55  
55 56 data, err := redishandler.GetRedisClient().HGet(redis.USER_DATA_KEY, uniqueid)
56 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 89 func GetUserLvConfig(lv int) *jsonconf.LevelDesc {
... ...
src/HttpServer/main/main.go
... ... @@ -7,6 +7,7 @@ import (
7 7 "HttpServer/redishandler"
8 8 "common/logger"
9 9 "flag"
  10 + "mysql"
10 11 "os"
11 12 "runtime/pprof"
12 13 "time"
... ... @@ -51,11 +52,11 @@ func main() {
51 52 return
52 53 }
53 54  
54   - /*err = mysql.InitMysql()
  55 + err = mysql.InitMysql()
55 56 if err != nil {
56 57 logger.Error("err init mysql err=%v", err)
57 58 return
58   - }*/
  59 + }
59 60  
60 61 err = jsonconf.LoadJsonConf()
61 62 if err != nil {
... ...
src/mysql/dbmysql.go
... ... @@ -46,6 +46,32 @@ func ExcuteCmd(cmd string) error {
46 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 75 func TestClearData(uid int) (int,error) {
50 76 cmd := fmt.Sprintf("select coin from b_user_ext_04 where user_id=%d", uid)
51 77  
... ...