diff --git a/src/HttpServer/logic/datadef.go b/src/HttpServer/logic/datadef.go index 8ee5536..681e644 100644 --- a/src/HttpServer/logic/datadef.go +++ b/src/HttpServer/logic/datadef.go @@ -9,15 +9,13 @@ package logic //"107":"签到罐" type UserLoginReq struct { - } type UserLoginData struct { - Isnew int `json:"isnew"` - Walletgold int `json:"walletgold"` - Guangold int `json:"guangold"` - PlayerData string `json:"playerData"` - + Isnew int `json:"isnew"` + Walletgold int `json:"walletgold"` + Guangold int `json:"guangold"` + PlayerData string `json:"playerData"` } type UserLoginResp struct { @@ -26,6 +24,50 @@ type UserLoginResp struct { Data UserLoginData `json:"data"` } +type UploaduserbasicinfoReq struct { + Nickname string `json:"nickname"` + Headurl string `json:"headurl"` +} + +type UploaduserbasicinfoData struct { + Isnew int `json:"isnew"` + Walletgold int `json:"walletgold"` + Guangold int `json:"guangold"` + PlayerData string `json:"playerData"` +} + +type UploaduserbasicinfoResp struct { + Code int `json:"code"` + Message string `json:"message"` + Data UploaduserbasicinfoData `json:"data"` +} + +type UpdatedataReq struct { + PlayerData string `json:"playerData"` +} + +type UpdatedataData struct { +} + +type UpdatedataResp struct { + Code int `json:"code"` + Message string `json:"message"` + Data UpdatedataData `json:"data"` +} + +type SyncuserdataData struct { + Walletgold int `json:"walletgold"` + Guangold int `json:"guangold"` + Sumloginday int `json:"sumloginday"` + Nowtime int `json:"nowtime"` +} + +type SyncuserdataResp struct { + Code int `json:"code"` + Message string `json:"message"` + Data SyncuserdataData `json:"data"` +} + type GetuserdataReq struct { Gameid string `json:"gameid"` Channel string `json:"channel"` @@ -334,10 +376,13 @@ type WithDrawDesc struct { //玩家数据 type UserData struct { - Userid string //玩家w唯一id + Userid string //玩家w唯一id Lv int //玩家当前等级 LvRewardGet int //当前等级奖励是否已经领取 1未领取 2普通领取 3双倍领取 Exp int //玩家当前经验值 + NickName string //昵称 + HeadUrl string //头像 + RegTime int //注册时间 GuanGold int //玩家存钱罐中金币数量 RealGold int //玩家实际金币数量(可用于提现的) WatchAddsTime int //当天剩余红包次数 初始化50次 diff --git a/src/HttpServer/logic/function.go b/src/HttpServer/logic/function.go index 8e546ed..ae61beb 100644 --- a/src/HttpServer/logic/function.go +++ b/src/HttpServer/logic/function.go @@ -307,6 +307,9 @@ func InitUserInfo(resp *UserLoginResp, uniqueuid ,gameid ,channel string,uuid in initdata.LeftFreeRB = FREE_REDBAG_NUM initdata.UpLvCostTime = 0 initdata.UpLvCostTimeSec = int(time.Now().Unix()) + initdata.NickName = "著名沙雕" + initdata.HeadUrl = "1" + initdata.RegTime = int(time.Now().Unix()) for _, val := range jsonconf.GetJsonConf().RmbConfig { var tmp WithDrawDesc diff --git a/src/HttpServer/logic/httpserver.go b/src/HttpServer/logic/httpserver.go index ac86dd4..619d3d4 100644 --- a/src/HttpServer/logic/httpserver.go +++ b/src/HttpServer/logic/httpserver.go @@ -45,7 +45,12 @@ func startServerHttpServe() { http.HandleFunc("/eliminatestar/addcoin", Addcoin) //测试接口 http.HandleFunc("/eliminatestar/clear", ClearData) //清除账号 //---------------------------------------------------------------------------------------- - http.HandleFunc("/eliminatestar/login", UserLogin) //登录 + http.HandleFunc("/russiaxiaoxiao/login", UserLogin) //登录 + http.HandleFunc("/russiaxiaoxiao/uploaduserbasicinfo", Uploaduserbasicinfo) //上传基本信息 + http.HandleFunc("/russiaxiaoxiao/updatedata", Updatedata) //update数据 + http.HandleFunc("/russiaxiaoxiao/syncuserdata", Syncuserdata) //同步玩家数据 + + //.......................................... http.HandleFunc("/eliminatestar/getuserdata", Getuserdata) //获取玩家数据 http.HandleFunc("/eliminatestar/watchads", Watchads) //观看激励视频 http.HandleFunc("/eliminatestar/queryguaninfo", Queryguaninfo) //获取存钱罐数据 @@ -407,7 +412,7 @@ func Onlinentf(w http.ResponseWriter, r *http.Request) { s := string(result) logger.Info("Onlinentf , body:%v,uuid=%v", s, Uuid) -// HandlerOnlinentf(w, s, Uuid) + // HandlerOnlinentf(w, s, Uuid) } func Getcashrecord(w http.ResponseWriter, r *http.Request) { @@ -512,7 +517,7 @@ func Getguangold(w http.ResponseWriter, r *http.Request) { s := string(result) logger.Info("Getguangold , body:%v,uuid=%v", s, Uuid) -// HandlerGetguangold(w, s, Uuid) + // HandlerGetguangold(w, s, Uuid) } func Queryguaninfo(w http.ResponseWriter, r *http.Request) { @@ -562,6 +567,87 @@ func Watchads(w http.ResponseWriter, r *http.Request) { //HandlerWatchads(w, s, Uuid) } +func Syncuserdata(w http.ResponseWriter, r *http.Request) { + + //gameid := "" + //channel := "" + uniqueid := "" + Uuid := 0 + if len(r.Header) > 0 { + Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) + // gameid = r.Header.Get("Gameid") + //channel = r.Header.Get("Channel") + uniqueid = r.Header.Get("Uuid") + r.Header.Get("Channel") + } + + if Uuid == 0 { + SetHeader(w) + logger.Error("Uuid is nil!") + return + } + result, _ := ioutil.ReadAll(r.Body) + r.Body.Close() + + s := string(result) + logger.Info("Syncuserdata , body:%v,uuid=%v", s, uniqueid) + + HandlerSyncuserdata(w, s, uniqueid) +} + +func Updatedata(w http.ResponseWriter, r *http.Request) { + + //gameid := "" + //channel := "" + uniqueid := "" + Uuid := 0 + if len(r.Header) > 0 { + Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) + // gameid = r.Header.Get("Gameid") + //channel = r.Header.Get("Channel") + uniqueid = r.Header.Get("Uuid") + r.Header.Get("Channel") + } + + if Uuid == 0 { + SetHeader(w) + logger.Error("Uuid is nil!") + return + } + result, _ := ioutil.ReadAll(r.Body) + r.Body.Close() + + s := string(result) + logger.Info("Updatedata , body:%v,uuid=%v", s, uniqueid) + + HandlerUpdatedata(w, s, uniqueid) +} + +func Uploaduserbasicinfo(w http.ResponseWriter, r *http.Request) { + + //gameid := "" + //channel := "" + uniqueid := "" + Uuid := 0 + if len(r.Header) > 0 { + Uuid, _ = strconv.Atoi(r.Header.Get("Uuid")) + // gameid = r.Header.Get("Gameid") + //channel = r.Header.Get("Channel") + uniqueid = r.Header.Get("Uuid") + r.Header.Get("Channel") + } + + if Uuid == 0 { + SetHeader(w) + logger.Error("Uuid is nil!") + return + } + result, _ := ioutil.ReadAll(r.Body) + r.Body.Close() + + s := string(result) + logger.Info("Uploaduserbasicinfo , body:%v,uuid=%v", s, uniqueid) + + HandlerUploaduserbasicinfo(w, s, uniqueid) +} + func UserLogin(w http.ResponseWriter, r *http.Request) { gameid := "" @@ -586,7 +672,7 @@ func UserLogin(w http.ResponseWriter, r *http.Request) { s := string(result) logger.Info("UserLogin , body:%v,uuid=%v", s, uniqueid) - HandlerLogin(w, s, uniqueid,gameid,channel,Uuid) + HandlerLogin(w, s, uniqueid, gameid, channel, Uuid) } func Getuserdata(w http.ResponseWriter, r *http.Request) { diff --git a/src/HttpServer/logic/logic.go b/src/HttpServer/logic/logic.go index 177f616..d0f6d03 100644 --- a/src/HttpServer/logic/logic.go +++ b/src/HttpServer/logic/logic.go @@ -7,9 +7,111 @@ import ( "encoding/json" "fmt" "net/http" + "time" ) -func HandlerLogin(w http.ResponseWriter, data string, uniqueuuid ,gameid,channel string,uuid int) { +func HandlerSyncuserdata(w http.ResponseWriter, data string, uniqueuuid string) { + SetHeader(w) + + var resp SyncuserdataResp + resp.Code = 0 + resp.Message = "success" + + for { + + uinfo, err := GetUserInfo(uniqueuuid) + + if err != nil { + logger.Info("GetUserInfo HandlerSyncuserdata data failed:%v,for:%v", err, data) + resp.Message = "GetUserInfo failed" + resp.Code = 1 + break + } + + resp.Data.Walletgold = uinfo.RealGold + resp.Data.Guangold = uinfo.GuanGold + resp.Data.Sumloginday = uinfo.SumLoginDay + resp.Data.Nowtime = int(time.Now().Unix()) + break + } + + //回包 + respstr, _ := json.Marshal(&resp) + fmt.Fprint(w, string(respstr)) +} + +func HandlerUpdatedata(w http.ResponseWriter, data string, uniqueuuid string) { + SetHeader(w) + + var resp UpdatedataResp + resp.Code = 0 + resp.Message = "success" + var rdata UpdatedataReq + err := json.Unmarshal([]byte(data), &rdata) + for { + + if err != nil { + logger.Info("json decode HandlerUpdatedata data failed:%v,for:%v", err, data) + resp.Message = "json解析错误" + resp.Code = ERROR_JSONUNMASH_ERROR + break + } + + //直接保存 + err := SaveUserSelfData(uniqueuuid, rdata.PlayerData) + if err != nil { + logger.Info("SaveUserSelfData HandlerUpdatedata data failed:%v,for:%v", err, data) + resp.Message = "保存失败" + resp.Code = ERROR_JSONUNMASH_ERROR + break + } + + break + } + + //回包 + respstr, _ := json.Marshal(&resp) + fmt.Fprint(w, string(respstr)) +} + +func HandlerUploaduserbasicinfo(w http.ResponseWriter, data string, uniqueuuid string) { + SetHeader(w) + + var resp UploaduserbasicinfoResp + resp.Code = 0 + resp.Message = "success" + var rdata UploaduserbasicinfoReq + err := json.Unmarshal([]byte(data), &rdata) + for { + + if err != nil { + logger.Info("json decode HandlerUploaduserbasicinfo data failed:%v,for:%v", err, data) + resp.Message = "json解析错误" + resp.Code = ERROR_JSONUNMASH_ERROR + break + } + uinfo, err := GetUserInfo(uniqueuuid) + + if err != nil { + logger.Info("GetUserInfo HandlerUploaduserbasicinfo data failed:%v,for:%v", err, data) + resp.Message = "GetUserInfo failed" + resp.Code = 1 + break + } + + uinfo.HeadUrl = rdata.Headurl + uinfo.NickName = rdata.Nickname + + SaveUserInfo(uinfo, uniqueuuid) + break + } + + //回包 + respstr, _ := json.Marshal(&resp) + fmt.Fprint(w, string(respstr)) +} + +func HandlerLogin(w http.ResponseWriter, data string, uniqueuuid, gameid, channel string, uuid int) { SetHeader(w) var resp UserLoginResp @@ -29,9 +131,8 @@ func HandlerLogin(w http.ResponseWriter, data string, uniqueuuid ,gameid,channel if !isexist { //不存在 - //不存在老的数据 之间走新号流程 - err = InitUserInfo(&resp, uniqueuuid,gameid,channel,uuid) - + //不存在老的数据 之间走新号流程 + err = InitUserInfo(&resp, uniqueuuid, gameid, channel, uuid) } else { uinfo, err := GetUserInfo(uniqueuuid) @@ -43,15 +144,13 @@ func HandlerLogin(w http.ResponseWriter, data string, uniqueuuid ,gameid,channel break } - - resp.Data.Guangold = uinfo.GuanGold resp.Data.Walletgold = uinfo.RealGold - resp.Data.Isnew= 0 + resp.Data.Isnew = 0 } - pdata,err := GetUserSelfData(uniqueuuid) + pdata, err := GetUserSelfData(uniqueuuid) if err != nil { logger.Info("GetUserSelfData HandlerLogin data failed:%v,for:%v", err, data) @@ -61,7 +160,6 @@ func HandlerLogin(w http.ResponseWriter, data string, uniqueuuid ,gameid,channel } resp.Data.PlayerData = pdata - resp.Code = ERROR_OK break } @@ -71,4 +169,4 @@ func HandlerLogin(w http.ResponseWriter, data string, uniqueuuid ,gameid,channel fmt.Fprint(w, string(respstr)) logger.Info("###HandlerLogin###rdata:%v", string(respstr)) -} \ No newline at end of file +} -- libgit2 0.21.0