From 78e3cfdb1d3d701aed84fa93e9040bd285b9aadc Mon Sep 17 00:00:00 2001 From: 陆恒 Date: Sat, 13 Jun 2020 10:54:31 +0800 Subject: [PATCH] 增加微转发阅读量接口 --- src/HttpServer/logic/datadef.go | 14 ++++++++++++++ src/HttpServer/logic/httpserver.go | 23 +++++++++++++++++++++++ src/HttpServer/logic/logic.go | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 71 insertions(+), 0 deletions(-) diff --git a/src/HttpServer/logic/datadef.go b/src/HttpServer/logic/datadef.go index d0aa34e..09f864a 100644 --- a/src/HttpServer/logic/datadef.go +++ b/src/HttpServer/logic/datadef.go @@ -243,6 +243,19 @@ type UsersignResp struct { Data UsersignData `json:"data"` } +type ReadNumUploadReq struct { + Uid int `json:"uid"` + Readnum int `json:"readnum"` + Gameid string `json:"gameid"` + Channel string `json:"channel"` +} + +type ReadNumUploadResp struct { + Code int `json:"code"` + Message string `json:"message"` + Timestamp int `json:"timestamp"` +} + //********************************************************************************************************** type TaskListDesc struct { @@ -318,6 +331,7 @@ type UserData struct { LeftFreeRB int //剩余免费红包次数 UpLvCostTime int //上一个等级升级时间 UpLvCostTimeSec int //上一个等级升级的时间点时刻 + ReadNum int //玩家微转发阅读量 WithDraw WithDrawInfo //提现记录信息 Task TaskInfo //玩家任务完成相关信息 Achieve AchieveMentInfo //玩家成就完成相关数据 diff --git a/src/HttpServer/logic/httpserver.go b/src/HttpServer/logic/httpserver.go index 0e43599..b626648 100644 --- a/src/HttpServer/logic/httpserver.go +++ b/src/HttpServer/logic/httpserver.go @@ -61,6 +61,8 @@ func startServerHttpServe() { http.HandleFunc("/eliminatestar/getnewlevelreward", Getnewlevelreward) //领取任务或者成就奖励 http.HandleFunc("/eliminatestar/querysigndata", Querysigndata) //获取签到数据 http.HandleFunc("/eliminatestar/usersign", Usersign) //玩家签到 + // + http.HandleFunc("/eliminatestar/readNumUpload", ReadNumUpload) //阅读量上报 err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil) CheckErr(err) @@ -95,6 +97,27 @@ func ClearData(w http.ResponseWriter, r *http.Request) { fmt.Fprint(w, "success!") } +func ReadNumUpload(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("ReadNumUpload , body:%v,uuid=%v", s) + + HandlerReadNumUpload(w, s) +} + func Usersign(w http.ResponseWriter, r *http.Request) { Uuid := 0 diff --git a/src/HttpServer/logic/logic.go b/src/HttpServer/logic/logic.go index 24c7b4e..5e3d110 100644 --- a/src/HttpServer/logic/logic.go +++ b/src/HttpServer/logic/logic.go @@ -348,6 +348,40 @@ func HandlerGetnewlevelreward(w http.ResponseWriter, data string, uuid int) { } +func HandlerReadNumUpload(w http.ResponseWriter, data string) { + SetHeader(w) + var resp ReadNumUploadResp + resp.Code = 1 + resp.Message = "success" + var rdata ReadNumUploadReq + err := json.Unmarshal([]byte(data), &rdata) + for { + if err != nil { + logger.Info("json decode HandlerReadNumUpload data failed:%v,for:%v", err, data) + resp.Message = "json 解析错误" + resp.Code = ERROR_JSONUNMASH_ERROR + break + } + + //需要加上渠道才是唯一的玩家id,不同渠道视为不同数据 + uniqueuuid := strconv.Itoa(rdata.Uid) + rdata.Channel + uinfo, err := GetUserInfo(uniqueuuid) + if err != nil || uinfo == nil { + logger.Error("redis failed err=%v", err) + resp.Message = "uid错误,无法查询到玩家信息" + resp.Code = ERROR_SRV_ERROR + break + } + + uinfo.ReadNum += rdata.Readnum + + break + } + //回包 + respstr, _ := json.Marshal(&resp) + fmt.Fprint(w, string(respstr)) +} + func HandlerUsersign(w http.ResponseWriter, data string, uuid int) { SetHeader(w) var resp UsersignResp -- libgit2 0.21.0