Commit 074f1074e320ccf984f77300868a7d2fdc4139dc

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

提交

src/HttpServer/logic/function.go
@@ -11,7 +11,6 @@ import ( @@ -11,7 +11,6 @@ import (
11 "encoding/json" 11 "encoding/json"
12 "errors" 12 "errors"
13 "io/ioutil" 13 "io/ioutil"
14 - "mysql"  
15 "net/http" 14 "net/http"
16 "sort" 15 "sort"
17 "strconv" 16 "strconv"
@@ -55,10 +54,10 @@ func GetUserInfo(uniqueid string) (*UserData, error) { @@ -55,10 +54,10 @@ func GetUserInfo(uniqueid string) (*UserData, error) {
55 54
56 data, err := redishandler.GetRedisClient().HGet(redis.USER_DATA_KEY, uniqueid) 55 data, err := redishandler.GetRedisClient().HGet(redis.USER_DATA_KEY, uniqueid)
57 if err != nil { 56 if err != nil {
58 - logger.Info("GetUserInfo from mysql")  
59 - //return nil, err 57 + //logger.Info("GetUserInfo from mysql")
  58 + return nil, err
60 //从mysql读取 59 //从mysql读取
61 - err,info,task,ach := mysql.GetFromBackUp(uniqueid) 60 + /*err,info,task,ach := mysql.GetFromBackUp(uniqueid)
62 if err != nil { 61 if err != nil {
63 return nil, err 62 return nil, err
64 } 63 }
@@ -73,7 +72,7 @@ func GetUserInfo(uniqueid string) (*UserData, error) { @@ -73,7 +72,7 @@ func GetUserInfo(uniqueid string) (*UserData, error) {
73 return nil, err 72 return nil, err
74 } 73 }
75 74
76 - return &tmp, nil 75 + return &tmp, nil*/
77 }else { 76 }else {
78 var tmp UserData 77 var tmp UserData
79 err = json.Unmarshal([]byte(data), &tmp) 78 err = json.Unmarshal([]byte(data), &tmp)
src/HttpServer/logic/logic.go
@@ -7,6 +7,7 @@ import ( @@ -7,6 +7,7 @@ import (
7 "common/redis" 7 "common/redis"
8 "encoding/json" 8 "encoding/json"
9 "fmt" 9 "fmt"
  10 + "mysql"
10 "net/http" 11 "net/http"
11 "strconv" 12 "strconv"
12 "strings" 13 "strings"
@@ -1193,8 +1194,32 @@ func HandlerLogin(w http.ResponseWriter, data string, uuid int) { @@ -1193,8 +1194,32 @@ func HandlerLogin(w http.ResponseWriter, data string, uuid int) {
1193 if !isexist { 1194 if !isexist {
1194 //不存在 1195 //不存在
1195 //属于新登录的玩家数据 1196 //属于新登录的玩家数据
1196 - //需要判断是否存在老的版本的数据  
1197 - isexist, err = redishandler.GetRedisClient().HExists(redis.USER_DATA_KEY, strconv.Itoa(uuid)) 1197 + //需要判断是否存在mysql中
  1198 + logger.Info("GetUserInfo from mysql")
  1199 + //return nil, err
  1200 + //从mysql读取
  1201 + err,info,task,ach,isfind := mysql.GetFromBackUp(uniqueuuid)
  1202 + if err != nil {
  1203 + /*logger.Error("mysql failed err=%v", err)
  1204 + resp.Message = "服务器错误"
  1205 + resp.Code = ERROR_SRV_ERROR
  1206 + break*/
  1207 + logger.Error("mysql failed err=%v", err)
  1208 + err = GetUserData(uuid, uniqueuuid, &rdata, &resp)
  1209 + }
  1210 +
  1211 + if isfind {
  1212 + //先保存数据
  1213 + err = redishandler.GetRedisClient().HSet(redis.USER_DATA_KEY, uniqueuuid,info)
  1214 + err = redishandler.GetRedisClient().HSet(redis.USER_TASKINFO_LIST, uniqueuuid,task)
  1215 + err = redishandler.GetRedisClient().HSet(redis.USER_ACHIEVEMENTINFO_LIST, uniqueuuid,ach)
  1216 + }else {
  1217 + //不存在老的数据 之间走新号流程
  1218 + err = InitUserInfo(&rdata, &resp, uuid, uniqueuuid)
  1219 + }
  1220 +
  1221 +
  1222 + /*isexist, err = redishandler.GetRedisClient().HExists(redis.USER_DATA_KEY, strconv.Itoa(uuid))
1198 if err == nil && isexist { 1223 if err == nil && isexist {
1199 //如果存在老的数据 做数据迁移 1224 //如果存在老的数据 做数据迁移
1200 oldstr, err := redishandler.GetRedisClient().HGet(redis.USER_DATA_KEY, strconv.Itoa(uuid)) 1225 oldstr, err := redishandler.GetRedisClient().HGet(redis.USER_DATA_KEY, strconv.Itoa(uuid))
@@ -1217,11 +1242,8 @@ func HandlerLogin(w http.ResponseWriter, data string, uuid int) { @@ -1217,11 +1242,8 @@ func HandlerLogin(w http.ResponseWriter, data string, uuid int) {
1217 //删除老的数据 1242 //删除老的数据
1218 redishandler.GetRedisClient().HDel(redis.USER_DATA_KEY, strconv.Itoa(uuid)) 1243 redishandler.GetRedisClient().HDel(redis.USER_DATA_KEY, strconv.Itoa(uuid))
1219 logger.Info("HandlerLogin uuid=%v do set", uuid) 1244 logger.Info("HandlerLogin uuid=%v do set", uuid)
1220 - }  
1221 - } else {  
1222 - //不存在老的数据 之间走新号流程  
1223 - err = InitUserInfo(&rdata, &resp, uuid, uniqueuuid)  
1224 - } 1245 + }*/
  1246 +
1225 1247
1226 } else { 1248 } else {
1227 //已经迁移过的数据之间返回 1249 //已经迁移过的数据之间返回
src/mysql/dbmysql.go
@@ -46,7 +46,8 @@ func ExcuteCmd(cmd string) error { @@ -46,7 +46,8 @@ func ExcuteCmd(cmd string) error {
46 return err 46 return err
47 } 47 }
48 48
49 -func GetFromBackUp(uniqueid string) (error,string,string,string) { 49 +func GetFromBackUp(uniqueid string) (error,string,string,string,bool) {
  50 + isfind := false
50 cmd := "select info,task,achieve from hedaoshi where uid = " + uniqueid 51 cmd := "select info,task,achieve from hedaoshi where uid = " + uniqueid
51 rows, err := m_game_db.Query(cmd) 52 rows, err := m_game_db.Query(cmd)
52 if rows != nil { 53 if rows != nil {
@@ -54,7 +55,7 @@ func GetFromBackUp(uniqueid string) (error,string,string,string) { @@ -54,7 +55,7 @@ func GetFromBackUp(uniqueid string) (error,string,string,string) {
54 } 55 }
55 if err != nil { 56 if err != nil {
56 logger.Notic("TestClearData mysql select error:%v", err) 57 logger.Notic("TestClearData mysql select error:%v", err)
57 - return err,"","","" 58 + return err,"","","",isfind
58 } 59 }
59 var info,task,ach string 60 var info,task,ach string
60 for rows.Next() { 61 for rows.Next() {
@@ -62,14 +63,16 @@ func GetFromBackUp(uniqueid string) (error,string,string,string) { @@ -62,14 +63,16 @@ func GetFromBackUp(uniqueid string) (error,string,string,string) {
62 err = rows.Scan(&info,&task,&ach) 63 err = rows.Scan(&info,&task,&ach)
63 if err != nil { 64 if err != nil {
64 logger.Notic("GetFromBackUp mysql handle result error:%v", err) 65 logger.Notic("GetFromBackUp mysql handle result error:%v", err)
65 - return err,"","","" 66 + return err,"","","",isfind
66 } 67 }
  68 +
  69 + isfind = true
67 logger.Info("GetFromBackUp uniqueid=%v",uniqueid) 70 logger.Info("GetFromBackUp uniqueid=%v",uniqueid)
68 71
69 break 72 break
70 } 73 }
71 74
72 - return nil,info,task,ach 75 + return nil,info,task,ach,isfind
73 } 76 }
74 77
75 func TestClearData(uid int) (int,error) { 78 func TestClearData(uid int) (int,error) {