Commit 074f1074e320ccf984f77300868a7d2fdc4139dc
1 parent
ecddc4fc
Exists in
ver2.3.6
提交
Showing
3 changed files
with
40 additions
and
16 deletions
Show diff stats
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) { |