package logic import ( "HttpServer/conf" "HttpServer/redishandler" "common/logger" "common/redis" "encoding/json" "fmt" "io/ioutil" "strconv" //"log" "net/http" ) //定时处理倒计时 func StartHttpTicker() { } func StartHttpServe() { startServerHttpServe() } //just for test func Testsendhttp() { } func CheckErr(err error) { if err != nil { panic(err) } } func startServerHttpServe() { //------------------------------------------------------------- //http.HandleFunc("/catcafe/ClearData", ClearData) //情况账号的测试接口 //http.HandleFunc("/catcafe/AddWhiteList", AddWhiteList) //情况账号的测试接口 //http.HandleFunc("/catcafe/QueryAllAccount", QueryAllAccount) //查询所有账号的等级信息等数据 //------------------------------------------------------------- http.HandleFunc("/eliminatestar/test", Testapi) //测试接口 http.HandleFunc("/eliminatestar/addcoin", Addcoin) //测试接口 http.HandleFunc("/eliminatestar/clear", ClearData) //清除账号 //---------------------------------------------------------------------------------------- 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) //获取金币到存钱罐 http.HandleFunc("/eliminatestar/drawguangold", Drawguangold) //提取存钱罐的金币到个人钱包 http.HandleFunc("/eliminatestar/querdrawinfo", Querdrawinfo) //获取提现档位信息接口 http.HandleFunc("/eliminatestar/getcash", Getcash) //提现 http.HandleFunc("/eliminatestar/getcashrecord", Getcashrecord) //提现记录列表 http.HandleFunc("/eliminatestar/onlinentf", Onlinentf) //在线通知 http.HandleFunc("/eliminatestar/updatetaskandachieve", Updatetaskandachieve) //上报任务事件进度 http.HandleFunc("/eliminatestar/querytaskinfo", Querytaskinfo) //拉取任务或者成就列表 http.HandleFunc("/eliminatestar/gettaskreward", Gettaskreward) //领取任务或者成就奖励 http.HandleFunc("/eliminatestar/getnewlevelreward", Getnewlevelreward) //领取任务或者成就奖励 http.HandleFunc("/eliminatestar/querysigndata", Querysigndata) //获取签到数据 http.HandleFunc("/eliminatestar/usersign", Usersign) //玩家签到 // http.HandleFunc("/eliminatestar/readNumUpload", ReadNumUpload) //阅读量上报 http.HandleFunc("/eliminatestar/queryreadgold", QueryReadGold) //获取微转发金币数 http.HandleFunc("/eliminatestar/fetchreadgold", Fetchreadgold) //领取微转发金币数 err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil) CheckErr(err) } func ClearData(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("ClearData , body:%v,uuid=%v", s, Uuid) var rdata GetuserdataReq json.Unmarshal(result, &rdata) rkey := strconv.Itoa(Uuid) + rdata.Channel redishandler.GetRedisClient().HDel(redis.USER_DATA_KEY, rkey) redishandler.GetRedisClient().HDel(redis.USER_TASKINFO_LIST, rkey) redishandler.GetRedisClient().HDel(redis.USER_ACHIEVEMENTINFO_LIST, rkey) redishandler.GetRedisClient().HDel(redis.USER_WITHDRAW_RECORDLIST, rkey) 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 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("Usersign , body:%v,uuid=%v", s, Uuid) HandlerUsersign(w, s, Uuid) } func Querysigndata(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("Querysigndata , body:%v,uuid=%v", s, Uuid) HandlerQuerysigndata(w, s, Uuid) } func Fetchreadgold(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("Fetchreadgold , body:%v,uuid=%v", s, Uuid) HandlerFetchreadgold(w, s, Uuid) } func QueryReadGold(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("QueryReadGold , body:%v,uuid=%v", s, Uuid) HandlerQueryReadGold(w, s, Uuid) } func Addcoin(w http.ResponseWriter, r *http.Request) { SetHeader(w) type TesaApiData struct { Value int `json:"value"` Gameid string `json:"gameid"` Channel string `json:"channel"` } type AddcoinResp struct { Code int `json:"code"` Message string `json:"message"` } 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("Addcoin , body:%v,uuid=%v", s, Uuid) var rdata TesaApiData err := json.Unmarshal([]byte(s), &rdata) if err != nil { logger.Info("json decode Addcoin data failed:%v,for:%v", err, s) fmt.Fprint(w, "failed") return } uniqueuuid := strconv.Itoa(Uuid) + rdata.Channel uinfo, err := GetUserInfo(uniqueuuid) if err != nil || uinfo == nil { logger.Error("redis failed err=%v", err) fmt.Fprint(w, "failed") return } addgold := rdata.Value if addgold > 10000 { addgold = 10000 } //调用sdk gold, err := AddCoinToSdk(Uuid, addgold, rdata.Gameid, rdata.Channel, 108) if err != nil { logger.Error("Addcoin test ddt! err=%v", err) } uinfo.RealGold = gold SaveUserInfo(uinfo,uniqueuuid) var resp AddcoinResp resp.Code = 0 resp.Message = "success" respstr, _ := json.Marshal(&resp) fmt.Fprint(w, string(respstr)) } func Testapi(w http.ResponseWriter, r *http.Request) { logger.Info("Testapi ddt") SetHeader(w) type TesaApiData struct { Type int `json:"type"` //1金币 2经验 3存钱罐次数 6累计登录天数 Value int `json:"value"` Gameid string `json:"gameid"` Channel string `json:"channel"` } 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("Testapi , body:%v,uuid=%v", s, Uuid) var rdata TesaApiData err := json.Unmarshal([]byte(s), &rdata) if err != nil { logger.Info("json decode Testapi data failed:%v,for:%v", err, s) fmt.Fprint(w, "failed") return } //需要加上渠道才是唯一的玩家id,不同渠道视为不同数据 uniqueuuid := strconv.Itoa(Uuid) + rdata.Channel uinfo, err := GetUserInfo(uniqueuuid) if err != nil || uinfo == nil { logger.Error("redis failed err=%v", err) fmt.Fprint(w, "failed") return } if rdata.Type == 1 { //金币 addgold := rdata.Value if addgold > 10000 { addgold = 10000 logger.Info("Testapi addgold too much=%v",rdata.Value) } //uinfo.RealGold += addgold //调用sdk gold, err := AddCoinToSdk(Uuid, addgold, rdata.Gameid, rdata.Channel, 108) if err != nil { logger.Error("test ddt! err=%v", err) } uinfo.RealGold = gold } if rdata.Type == 2 { uinfo.Exp += rdata.Value } if rdata.Type == 3 { uinfo.GetFromGuanCnt += rdata.Value } if rdata.Type == 4 { uinfo.Lv += rdata.Value } if rdata.Type == 5 { uinfo.IsSignToday = 0 if uinfo.SignSum == 7 { uinfo.SignSum = 0 uinfo.SignRound++ } } if rdata.Type == 6 { uinfo.SumLoginDay += rdata.Value } err = SaveUserInfo(uinfo, uniqueuuid) if err != nil { logger.Error("SaveUserInfo err=%v", err) } fmt.Fprint(w, "success") } func Getnewlevelreward(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("Getnewlevelreward , body:%v,uuid=%v", s, Uuid) HandlerGetnewlevelreward(w, s, Uuid) } func Gettaskreward(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("Gettaskreward , body:%v,uuid=%v", s, Uuid) HandlerGettaskreward(w, s, Uuid) } func Querytaskinfo(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("Querytaskinfo , body:%v,uuid=%v", s, Uuid) HandlerQuerytaskinfo(w, s, Uuid) } func Updatetaskandachieve(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("Updatetaskandachieve , body:%v,uuid=%v", s, Uuid) HandlerUpdatetaskandachieve(w, s, Uuid) } func Onlinentf(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("Onlinentf , body:%v,uuid=%v", s, Uuid) HandlerOnlinentf(w, s, Uuid) } func Getcashrecord(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("Getcashrecord , body:%v,uuid=%v", s, Uuid) HandlerGetcashrecord(w, s, Uuid) } func Getcash(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("Getcash , body:%v,uuid=%v", s, Uuid) HandlerGetcash(w, s, Uuid) } func Querdrawinfo(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("Querdrawinfo , body:%v,uuid=%v", s, Uuid) HandlerQuerdrawinfo(w, s, Uuid) } func Drawguangold(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("Drawguangold , body:%v,uuid=%v", s, Uuid) HandlerDrawguangold(w, s, Uuid) } func Getguangold(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("Getguangold , body:%v,uuid=%v", s, Uuid) HandlerGetguangold(w, s, Uuid) } func Queryguaninfo(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("Queryguaninfo , body:%v,uuid=%v", s, Uuid) HandlerQueryguaninfo(w, s, Uuid) } func Watchads(w http.ResponseWriter, r *http.Request) { //这个接口作废 logger.Info("Watchads is not used") SetHeader(w) return 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("Watchads , body:%v,uuid=%v", s, Uuid) HandlerWatchads(w, s, Uuid) } func UserLogin(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("UserLogin , body:%v,uuid=%v", s, Uuid) 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) }