diff --git a/src/HttpServer/logic/datadef.go b/src/HttpServer/logic/datadef.go index 1c741f1..90d06d6 100644 --- a/src/HttpServer/logic/datadef.go +++ b/src/HttpServer/logic/datadef.go @@ -263,7 +263,7 @@ type GetDataResult struct { } type GetDataReq struct{ - Token string `json:"token"` + Uuid int `json:"uuid"` Field string `json:"field"` } diff --git a/src/HttpServer/logic/httpserver.go b/src/HttpServer/logic/httpserver.go index 5ad2fce..43c6c6b 100644 --- a/src/HttpServer/logic/httpserver.go +++ b/src/HttpServer/logic/httpserver.go @@ -88,12 +88,38 @@ func startServerHttpServe() { http.HandleFunc("/catcafe/user/enterInvite",EnterInvite) //别的玩家(新玩家)通过邀请连接进来 http.HandleFunc("/catcafe/user/queryInviteWork",QueryInviteWork) //获取邀请打工列表 http.HandleFunc("/catcafe/user/saveDataBackup",SaveDataBackup) //保存玩家数据 备份数据接口 + http.HandleFunc("/catcafe/user/newGetData",NewGetData) //新的获取玩家数据接口 + http.HandleFunc("/catcafe/user/newSaveData",NewSaveData) //新的保存玩家数据接口 err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil) CheckErr(err) } + +func NewSaveData(w http.ResponseWriter, r *http.Request) { + + result, _ := ioutil.ReadAll(r.Body) + r.Body.Close() + + s := string(result) + logger.Info("NewSaveData , body:%v", s) + + HandleNewSaveData(w,s) +} + + +func NewGetData(w http.ResponseWriter, r *http.Request) { + + result, _ := ioutil.ReadAll(r.Body) + r.Body.Close() + + s := string(result) + logger.Info("NewGetData , body:%v", s) + + HandleNewGetData(w,s) +} + func InitIndex(w http.ResponseWriter, r *http.Request) { result, _ := ioutil.ReadAll(r.Body) diff --git a/src/HttpServer/logic/logic.go b/src/HttpServer/logic/logic.go index e94f936..4183aa3 100644 --- a/src/HttpServer/logic/logic.go +++ b/src/HttpServer/logic/logic.go @@ -274,6 +274,46 @@ func HandleQueryInvite(w http.ResponseWriter, data string) { } +func HandleNewSaveData(w http.ResponseWriter, data string) { + SetHeader(w) + var resp SaveDataBackupResp + resp.Status = "true" + var rdata SaveDataBackupReq + err := json.Unmarshal([]byte(data), &rdata) + for { + if err != nil { + logger.Error("HandleNewSaveData json unmarshal failed=%v", err) + resp.Result.Code = ERROR_JSONUNMASHFAILED + resp.Result.Data = "json unmarshal failed" + break + } + + + // + rkey := "cat:cafe:data:where:data_uid:" + strconv.Itoa(rdata.Uuid) + val,err := redishandler.GetRedisClient().GetString(rkey) + if err != nil { + logger.Error("HandleNewSaveData ERROR_SRVDB_FAILED failed=%v,val=%v", err,val) + resp.Result.Code = ERROR_SRVDB_FAILED + resp.Result.Data = "get redis failed" + break + } + + //解析val json + + //首先解析value + + //比对数据 如果不符合则不保存 + + resp.Result.Code = ERROR_OK + break + } + + //回包 + respstr, _ := json.Marshal(&resp) + fmt.Fprint(w, string(respstr)) +} + func HandleSaveDataBackup(w http.ResponseWriter, data string) { SetHeader(w) var resp SaveDataBackupResp @@ -305,7 +345,37 @@ func HandleSaveDataBackup(w http.ResponseWriter, data string) { fmt.Fprint(w, string(respstr)) } +func HandleNewGetData(w http.ResponseWriter, data string) { + var resp GetDataResp + resp.Status = "true" + resp.Result.Code = ERROR_OK + var rdata GetDataReq + err := json.Unmarshal([]byte(data), &rdata) + for { + if err != nil { + logger.Error("HandleNewGetData json unmarshal failed=%v", err) + resp.Result.Code = ERROR_JSONUNMASHFAILED + break + } + + rkey := "cat:cafe:data:where:data_uid:" + strconv.Itoa(rdata.Uuid) + val,err := redishandler.GetRedisClient().GetString(rkey) + if err != nil { + logger.Error("HandleNewGetData err=%v",err) + resp.Result.Code = ERROR_JSONUNMASHFAILED + break + } + resp.Result.Data.Base_data = val + logger.Info("HandleNewGetData new is=%v",val) + + break + } + + //回包 + respstr, _ := json.Marshal(&resp) + fmt.Fprint(w, string(respstr)) +} func HandleInitIndex(w http.ResponseWriter, data string) { @@ -880,7 +950,7 @@ func HandlesaveData(w http.ResponseWriter, data string) { } func HandlegetData(w http.ResponseWriter, data string) { - SetHeader(w) + /*SetHeader(w) var resp GetDataResp resp.Status = "true" resp.Result.Code = ERROR_OK @@ -916,7 +986,7 @@ func HandlegetData(w http.ResponseWriter, data string) { //回包 respstr, _ := json.Marshal(&resp) - fmt.Fprint(w, string(respstr)) + fmt.Fprint(w, string(respstr))*/ } func GetAccessToken() string{ -- libgit2 0.21.0