From ef8ff3d994d26c5dd2e832cea1d9cc2ac580dd7d Mon Sep 17 00:00:00 2001 From: 陆恒 Date: Thu, 14 May 2020 17:22:31 +0800 Subject: [PATCH] 新增接口 --- src/HttpServer/logic/datadef.go | 20 ++++++++++++++++++++ src/HttpServer/logic/function.go | 2 ++ src/HttpServer/logic/httpserver.go | 22 ++++++++++++++++++++++ src/HttpServer/logic/logic.go | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 93 insertions(+), 0 deletions(-) diff --git a/src/HttpServer/logic/datadef.go b/src/HttpServer/logic/datadef.go index e781856..b10dc7f 100644 --- a/src/HttpServer/logic/datadef.go +++ b/src/HttpServer/logic/datadef.go @@ -22,6 +22,26 @@ type UserLoginResp struct { } +type GetuserdataReq struct { + Gameid string `json:"gameid"` + Channel string `json:"channel"` +} + +type GetuserdataData struct { + Walletgold int `json:"walletgold"` + Leftads int `json:"leftads"` + Guangold int `json:"guangold"` + Userlv int `json:"userlv"` + Userexp int `json:"userexp"` +} + +type GetuserdataResp struct { + Code int `json:"code"` + Message string `json:"message"` + Data GetuserdataData `json:"data"` + +} + type WatchadsData struct { Leftads int `json:"leftads"` diff --git a/src/HttpServer/logic/function.go b/src/HttpServer/logic/function.go index 221f9d8..393cb67 100644 --- a/src/HttpServer/logic/function.go +++ b/src/HttpServer/logic/function.go @@ -580,6 +580,8 @@ func GetUserData(uuid int, req *UserLoginReq,resp *UserLoginResp) error{ resp.Data.Walletgold = data.RealGold resp.Data.Leftads = data.WatchAddsTime resp.Data.Guangold = data.GuanGold + resp.Data.Userlv = data.Lv + resp.Data.Userexp = data.Exp return nil } diff --git a/src/HttpServer/logic/httpserver.go b/src/HttpServer/logic/httpserver.go index 78bcc0a..20b9d15 100644 --- a/src/HttpServer/logic/httpserver.go +++ b/src/HttpServer/logic/httpserver.go @@ -39,6 +39,7 @@ func startServerHttpServe() { http.HandleFunc("/eliminatestar/login", UserLogin) //登录 + http.HandleFunc("/eliminatestar/getuserdata", Getuserdata) //获取玩家数据 http.HandleFunc("/eliminatestar/watchads", Watchads) //观看激励视频 http.HandleFunc("/eliminatestar/queryguaninfo", Queryguaninfo) //获取存钱罐数据 http.HandleFunc("/eliminatestar/getguangold", Getguangold) //获取金币到存钱罐 @@ -339,5 +340,26 @@ func UserLogin(w http.ResponseWriter, r *http.Request) { HandlerLogin(w, s, Uuid) } +func Getuserdata(w http.ResponseWriter, r *http.Request) { + + Uuid := 0 + if len(r.Header) > 0 { + Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) + } + + if Uuid == 0 { + SetHeader(w) + //logger.Error("Uuid is nil!") + return + } + result, _ := ioutil.ReadAll(r.Body) + r.Body.Close() + + s := string(result) + logger.Info("Getuserdata , body:%v,uuid=%v", s, Uuid) + + HandlerGetuserdata(w, s, Uuid) +} + diff --git a/src/HttpServer/logic/logic.go b/src/HttpServer/logic/logic.go index 324b3d7..9f82952 100644 --- a/src/HttpServer/logic/logic.go +++ b/src/HttpServer/logic/logic.go @@ -660,6 +660,55 @@ func HandlerGetguangold(w http.ResponseWriter, data string, uuid int) { } + +func HandlerGetuserdata(w http.ResponseWriter, data string, uuid int) { + SetHeader(w) + var resp GetuserdataResp + resp.Code = 0 + var rdata GetuserdataReq + err := json.Unmarshal([]byte(data), &rdata) + for { + if err != nil { + logger.Info("json decode HandlerGetuserdata data failed:%v,for:%v", err, data) + resp.Message = "json解析错误" + resp.Code = ERROR_JSONUNMASH_ERROR + break + } + + + data,err := GetUserInfo(uuid) + if err != nil || data == nil{ + resp.Code = ERROR_SRV_ERROR + resp.Message = "ERROR_SRV_ERROR" + break + } + + + //此处处理一下从sdk拉取钱包金币数量 + gold,err := GetCoinFromSdk(uuid,rdata.Gameid,rdata.Channel) + if err != nil { + data.RealGold = gold + } + + resp.Data.Walletgold = data.RealGold + resp.Data.Guangold = data.GuanGold + resp.Data.Leftads = data.WatchAddsTime + resp.Data.Userexp = data.Exp + resp.Data.Userlv = data.Lv + SaveUserInfo(data) + + + resp.Code = ERROR_OK + break + } + + //回包 + respstr, _ := json.Marshal(&resp) + fmt.Fprint(w, string(respstr)) + + logger.Info("###HandlerLogin###rdata:%v", string(respstr)) +} + func HandlerLogin(w http.ResponseWriter, data string, uuid int) { SetHeader(w) var resp UserLoginResp -- libgit2 0.21.0