diff --git a/src/HttpServer/logic/datadef.go b/src/HttpServer/logic/datadef.go index ae1f357..97076c7 100644 --- a/src/HttpServer/logic/datadef.go +++ b/src/HttpServer/logic/datadef.go @@ -62,6 +62,8 @@ type GetguangoldResp struct { type DrawguangoldReq struct { Goldnum int `json:"goldnum"` + Gameid string `json:"gameid"` + Channel string `json:"channel"` } type DrawguangoldData struct { diff --git a/src/HttpServer/logic/errordef.go b/src/HttpServer/logic/errordef.go index d3172c4..49ee989 100644 --- a/src/HttpServer/logic/errordef.go +++ b/src/HttpServer/logic/errordef.go @@ -9,4 +9,5 @@ const ( ERROR_GETCONFIG_FAILED =4 //获取配置失败 ERROR_GUANGOLD_NOTENOUGH =5 //存钱罐金币不足 ERROR_DRAWGUAN_FAILED =6 //从存钱罐提取金币不满足限制 + ERROR_DRAWGOLD_FAILED =7 //从存钱罐提取金币失败了 ) \ No newline at end of file diff --git a/src/HttpServer/logic/function.go b/src/HttpServer/logic/function.go index d81a9e7..adc24c3 100644 --- a/src/HttpServer/logic/function.go +++ b/src/HttpServer/logic/function.go @@ -1,6 +1,7 @@ package logic import ( + "HttpServer/jsonconf" "HttpServer/redishandler" "common/redis" "encoding/json" @@ -66,7 +67,21 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) error{ //计算当日可提取次数 func (u *UserData) CalcTotalCnt() int { - return 0 + maxtime := 0 + usertime := 0 + for _,val := range jsonconf.GetJsonConf().MoneyBoxTimeConfig { + if maxtime < val.Times { + maxtime = val.Times + } + if val.Login == u.ContinueLoginDay { + usertime = val.Times + } + } + + if usertime == 0 { + usertime = maxtime + } + return usertime } func (u *UserData) HandlePassDay() { @@ -128,4 +143,9 @@ func GetUserData(uuid int, resp *UserLoginResp) error{ resp.Data.Guangold = data.GuanGold return nil +} + +func AddCoinToSdk(uuid int,goldnum int,gameid string,channel string,atype int) (int,error) { + + return 0,nil } \ No newline at end of file diff --git a/src/HttpServer/logic/httpserver.go b/src/HttpServer/logic/httpserver.go index 77acc4c..e3cf7de 100644 --- a/src/HttpServer/logic/httpserver.go +++ b/src/HttpServer/logic/httpserver.go @@ -40,7 +40,7 @@ func startServerHttpServe() { http.HandleFunc("/eliminatestar/login", UserLogin) //登录 http.HandleFunc("/eliminatestar/watchads", Watchads) //观看激励视频 - http.HandleFunc("/eliminatestar/queryguaninfo", Queryguaninfo) //观看激励视频 + http.HandleFunc("/eliminatestar/queryguaninfo", Queryguaninfo) //获取存钱罐数据 http.HandleFunc("/eliminatestar/getguangold", Getguangold) //获取金币到存钱罐 http.HandleFunc("/eliminatestar/drawguangold", Drawguangold) //提取存钱罐的金币到个人钱包 err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil) diff --git a/src/HttpServer/logic/logic.go b/src/HttpServer/logic/logic.go index ce58ca7..c1a1d1f 100644 --- a/src/HttpServer/logic/logic.go +++ b/src/HttpServer/logic/logic.go @@ -20,7 +20,7 @@ func HandlerQueryguaninfo(w http.ResponseWriter, data string, uuid int) { uinfo,err := GetUserInfo(uuid) if err != nil || uinfo == nil{ logger.Error("redis failed err=%v", err) - resp.Message = "ERROR_SRV_ERROR" + resp.Message = "服务器错误" resp.Code = ERROR_SRV_ERROR break } @@ -29,7 +29,7 @@ func HandlerQueryguaninfo(w http.ResponseWriter, data string, uuid int) { mcfg := jsonconf.GetMoneyBoxCfg(uinfo.Lv) if mcfg==nil { logger.Error("GetMoneyBoxCfg failed err=%v", err) - resp.Message = "ERROR_GETCONFIG_FAILED" + resp.Message = "存钱罐金币不足" resp.Code = ERROR_GETCONFIG_FAILED break } @@ -60,14 +60,14 @@ func HandlerWatchads(w http.ResponseWriter, data string, uuid int) { uinfo,err := GetUserInfo(uuid) if err != nil || uinfo == nil{ logger.Error("redis failed err=%v", err) - resp.Message = "ERROR_SRV_ERROR" + resp.Message = "服务器错误" resp.Code = ERROR_SRV_ERROR break } if uinfo.WatchAddsTime == 0 { logger.Error("WatchAddsTime zero") - resp.Message = "WatchAddsTime zero" + resp.Message = "看视频次数已经耗尽" resp.Code = ERROR_WATCHADS_ZEOR break } @@ -76,7 +76,7 @@ func HandlerWatchads(w http.ResponseWriter, data string, uuid int) { err = SaveUserInfo(uinfo) if err != nil { logger.Error("redis failed err=%v", err) - resp.Message = "ERROR_SRV_ERROR" + resp.Message = "服务器错误" resp.Code = ERROR_SRV_ERROR break } @@ -102,7 +102,7 @@ func HandlerDrawguangold(w http.ResponseWriter, data string, uuid int) { for { if err != nil { logger.Info("json decode HandlerDrawguangold data failed:%v,for:%v", err, data) - resp.Message = "json unmarshal failed" + resp.Message = "json解析错误" resp.Code = ERROR_JSONUNMASH_ERROR break } @@ -110,14 +110,14 @@ func HandlerDrawguangold(w http.ResponseWriter, data string, uuid int) { uinfo,err := GetUserInfo(uuid) if err != nil || uinfo == nil{ logger.Error("redis failed err=%v", err) - resp.Message = "ERROR_SRV_ERROR" + resp.Message = "服务器错误" resp.Code = ERROR_SRV_ERROR break } //首先判断一下存钱罐的金币是否足够 - if rdata.Goldnum < uinfo.GuanGold { - logger.Error("guangold not enough ") - resp.Message = "ERROR_SRV_ERROR" + if rdata.Goldnum > uinfo.GuanGold { + logger.Error("guangold not enough rdata.Goldnum=%v uinfo.GuanGold=%v",rdata.Goldnum,uinfo.GuanGold) + resp.Message = "存钱罐金币不足" resp.Code = ERROR_GUANGOLD_NOTENOUGH break } @@ -136,23 +136,31 @@ func HandlerDrawguangold(w http.ResponseWriter, data string, uuid int) { mcfg := jsonconf.GetMoneyBoxCfg(uinfo.Lv) if mcfg==nil { logger.Error("GetMoneyBoxCfg failed err=%v", err) - resp.Message = "ERROR_GETCONFIG_FAILED" + resp.Message = "获取配置失败" resp.Code = ERROR_GETCONFIG_FAILED break } if rdata.Goldnum < mcfg.Min || rdata.Goldnum > mcfg.Max { logger.Error("GetMoneyBoxCfg failed err=%v", err) - resp.Message = "ERROR_DRAWGUAN_FAILED" + resp.Message = "从存钱罐提取金币不满足限制" resp.Code = ERROR_DRAWGUAN_FAILED break } - uinfo.GuanGold = uinfo.GuanGold - rdata.Goldnum - uinfo.RealGold += rdata.Goldnum + //todo 此处需要调佣SDK接口通知金币变化 + realnum,err := AddCoinToSdk(uuid,rdata.Goldnum,rdata.Gameid,rdata.Channel,100) + if err != nil { + logger.Error("Drawgold failed err=%v", err) + resp.Message = "从存钱罐提取金币失败了" + resp.Code = ERROR_DRAWGOLD_FAILED + break + } + uinfo.GuanGold = uinfo.GuanGold - rdata.Goldnum + uinfo.RealGold = realnum resp.Data.Guangold = uinfo.GuanGold resp.Data.Wallgold = uinfo.RealGold @@ -179,7 +187,7 @@ func HandlerGetguangold(w http.ResponseWriter, data string, uuid int) { for { if err != nil { logger.Info("json decode HandlerGetguangold data failed:%v,for:%v", err, data) - resp.Message = "json unmarshal failed" + resp.Message = "json解析错误" resp.Code = ERROR_JSONUNMASH_ERROR break } @@ -187,7 +195,7 @@ func HandlerGetguangold(w http.ResponseWriter, data string, uuid int) { uinfo,err := GetUserInfo(uuid) if err != nil || uinfo == nil{ logger.Error("redis failed err=%v", err) - resp.Message = "ERROR_SRV_ERROR" + resp.Message = "服务器错误" resp.Code = ERROR_SRV_ERROR break } @@ -196,7 +204,7 @@ func HandlerGetguangold(w http.ResponseWriter, data string, uuid int) { mcfg := jsonconf.GetMoneyBoxCfg(uinfo.Lv) if mcfg==nil { logger.Error("GetMoneyBoxCfg failed err=%v", err) - resp.Message = "ERROR_GETCONFIG_FAILED" + resp.Message = "获取配置失败" resp.Code = ERROR_GETCONFIG_FAILED break } @@ -229,7 +237,7 @@ func HandlerLogin(w http.ResponseWriter, data string, uuid int) { for { if err != nil { logger.Info("json decode HandlerLogin data failed:%v,for:%v", err, data) - resp.Message = "json unmarshal failed" + resp.Message = "json解析错误" resp.Code = ERROR_JSONUNMASH_ERROR break } @@ -238,7 +246,7 @@ func HandlerLogin(w http.ResponseWriter, data string, uuid int) { isexist,err := redishandler.GetRedisClient().HExists(redis.USER_DATA_KEY, strconv.Itoa(uuid)) if err != nil { logger.Error("redis failed err=%v", err) - resp.Message = "ERROR_SRV_ERROR" + resp.Message = "服务器错误" resp.Code = ERROR_SRV_ERROR break } @@ -254,7 +262,7 @@ func HandlerLogin(w http.ResponseWriter, data string, uuid int) { if err != nil { logger.Error("redis failed err=%v", err) - resp.Message = "ERROR_SRV_ERROR" + resp.Message = "服务器错误" resp.Code = ERROR_SRV_ERROR break } -- libgit2 0.21.0