From 11935c04bc31107532b9975588a50267dd9660ff Mon Sep 17 00:00:00 2001 From: 陆恒 Date: Thu, 24 Sep 2020 15:20:25 +0800 Subject: [PATCH] 提交 --- src/HttpServer/logic/datadef.go | 18 ++++++++++++++++++ src/HttpServer/logic/httpserver.go | 23 +++++++++++++++++++++++ src/HttpServer/logic/logic.go | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 89 insertions(+), 0 deletions(-) diff --git a/src/HttpServer/logic/datadef.go b/src/HttpServer/logic/datadef.go index e919792..2f1f29e 100644 --- a/src/HttpServer/logic/datadef.go +++ b/src/HttpServer/logic/datadef.go @@ -386,6 +386,24 @@ type UploadhigestscoreResp struct { Data UploadhigestscoreData `json:"data"` } + +type TurntablebagReq struct { + Num int `json:"num"` + Gameid string `json:"gameid"` + Channel string `json:"channel"` +} + +type TurntablebagData struct { + Getgoldnum int `json:"getgoldnum"` + Walletgold int `json:"walletgold"` +} + +type TurntablebagResp struct { + Code int `json:"code"` + Message string `json:"message"` + Data TurntablebagData `json:"data"` +} + // type AchieveMentInfo struct { WatchAdsCnt int //观看广告数 diff --git a/src/HttpServer/logic/httpserver.go b/src/HttpServer/logic/httpserver.go index cf47ed6..7158d06 100644 --- a/src/HttpServer/logic/httpserver.go +++ b/src/HttpServer/logic/httpserver.go @@ -75,6 +75,7 @@ func startServerHttpServe() { http.HandleFunc("/ballbattle/getdata", Getdata) //获取数据 http.HandleFunc("/ballbattle/uploadscore", Uploadscore) //上报当天积分 http.HandleFunc("/ballbattle/queryrankinfo", Queryrankinfo) //获取排行榜信息 + http.HandleFunc("/ballbattle/turntablebag", Turntablebag) //转盘红包 // http.HandleFunc("/ballbattle/readNumUpload", ReadNumUpload) //阅读量上报 http.HandleFunc("/ballbattle/queryreadgold", QueryReadGold) //获取微转发金币数 @@ -156,6 +157,28 @@ func Savadata(w http.ResponseWriter, r *http.Request) { } +func Turntablebag(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("Turntablebag , body:%v,uuid=%v", s, Uuid) + + HandlerTurntablebag(w, s, Uuid) +} + + func Queryrankinfo(w http.ResponseWriter, r *http.Request) { Uuid := 0 diff --git a/src/HttpServer/logic/logic.go b/src/HttpServer/logic/logic.go index 1890631..9f42d5f 100644 --- a/src/HttpServer/logic/logic.go +++ b/src/HttpServer/logic/logic.go @@ -571,6 +571,54 @@ func HandlerUploadscore(w http.ResponseWriter, data string, uuid int) { fmt.Fprint(w, string(respstr)) } +func HandlerTurntablebag(w http.ResponseWriter, data string, uuid int) { + SetHeader(w) + var resp TurntablebagResp + resp.Code = 0 + resp.Message = "success" + var rdata TurntablebagReq + err := json.Unmarshal([]byte(data), &rdata) + for { + if err != nil { + logger.Info("json decode HandlerTurntablebag data failed:%v,for:%v", err, data) + resp.Message = "网络错误" + resp.Code = ERROR_JSONUNMASH_ERROR + break + } + + //需要加上渠道才是唯一的玩家id,不同渠道视为不同数据 + uniqueuuid := strconv.Itoa(uuid) + rdata.Channel + uinfo, err := GetUserInfo(uniqueuuid) + if err != nil || uinfo == nil { + logger.Error("redis failed err=%v", err) + resp.Message = "服务器错误" + resp.Code = ERROR_SRV_ERROR + break + } + + goldnum, _, err := AddCoinToSdk(uuid, rdata.Num, rdata.Gameid, rdata.Channel, 104) + if err != nil { + logger.Error("AddCoinToSdk failed rdata=%v", rdata) + resp.Message = "网络错误" + resp.Code = ERROR_SRV_ERROR + break + } + uinfo.RealGold = goldnum + + resp.Data.Walletgold = goldnum + resp.Data.Getgoldnum = rdata.Num + //加入排行榜 + SaveUserInfo(uinfo, uniqueuuid) + + resp.Code = ERROR_OK + break + } + + //回包 + respstr, _ := json.Marshal(&resp) + fmt.Fprint(w, string(respstr)) +} + func HandlerQueryrankinfo(w http.ResponseWriter, data string, uuid int) { SetHeader(w) -- libgit2 0.21.0