From 93a657948ca6af21d3a71baf6b5cdedaa7a93297 Mon Sep 17 00:00:00 2001 From: 陆恒 Date: Fri, 12 Jun 2020 17:37:49 +0800 Subject: [PATCH] 提交 --- src/HttpServer/logic/datadef.go | 6 ++++++ src/HttpServer/logic/function.go | 11 ++++++++++- src/HttpServer/logic/logic.go | 49 ++++++++++++++++++++++++++++++++++++++++++++++++- 3 files changed, 64 insertions(+), 2 deletions(-) diff --git a/src/HttpServer/logic/datadef.go b/src/HttpServer/logic/datadef.go index c61d271..eede109 100644 --- a/src/HttpServer/logic/datadef.go +++ b/src/HttpServer/logic/datadef.go @@ -712,12 +712,18 @@ type UserData struct { Taskinfo TaskData //任务数据 AchieveMent AchieveMentData //成就数据 PosInfo []CatPosInfo //位置信息 从0开始 + DuboCat []DuboCatInfo //赌博猫信息 BuyCatInfo []BuyCatInfoData //商店购买猫数据 第一个元素为1级猫 第二个为2级猫以此类推 CatRoomInfo []CatRoomData //猫咖店数据 CaiPiaoInfo []UserCaiPiaoHistory //记录玩家参与过的赌博猫历史记录 } +type DuboCatInfo struct { + CatID int + ChooseNum int //选择的号码 +} + type UserCaiPiaoHistory struct { Cnum int //选择的号码 RewardNum int //当期开奖的号码 diff --git a/src/HttpServer/logic/function.go b/src/HttpServer/logic/function.go index f0d8964..22d7982 100644 --- a/src/HttpServer/logic/function.go +++ b/src/HttpServer/logic/function.go @@ -277,7 +277,7 @@ func (u *UserData) DoFlopCardd(resp *DoFlopResp) { case FLOPTYPE_GLAMCAT: catid = 11 + REDCATIDEXTRA catfg = jsonconf.GetRedCatConfig(catid) - u.SetRedCatPos(catid, 0, catfg.Money, 0) + u.SetDuboCatPos(catid) } u.Gold += addgold u.CalcGoldRate() @@ -471,6 +471,15 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) { redishandler.GetRedisClient().HSet(redis.USER_LAST_CALC_TIME, strconv.Itoa(uuid), nowtimestr) } +//设置赌博猫 +func (u *UserData) SetDuboCatPos(catlv int) { + + var du DuboCatInfo + du.ChooseNum = 0 + du.CatID = catlv + u.DuboCat = append(u.DuboCat, du) +} + //设置红包猫 func (u *UserData) SetRedCatPos(catlv, time int, redpack float32, starttime int) { pos := getCatPutPos(u, catlv) diff --git a/src/HttpServer/logic/logic.go b/src/HttpServer/logic/logic.go index bc7903b..be14370 100644 --- a/src/HttpServer/logic/logic.go +++ b/src/HttpServer/logic/logic.go @@ -1343,6 +1343,28 @@ func HandlerAutoChoose(w http.ResponseWriter, data string, uuid int) { for { + //先校验一下有没有空的猫 + uinfo, err := GetUserInfo(strconv.Itoa(uuid)) + if err != nil || uinfo == nil { + logger.Error("HandlerExchangePos getuserinfo failed=%v", err) + resp.Code = 1 + resp.Message = "get userinfo failed" + break + } + catpos := -1 + for k, val := range uinfo.DuboCat { + if val.ChooseNum != 0 { + catpos = k + } + } + if catpos == -1 { + //当前没有可以选择号码的猫 + logger.Error("HandlerAutoChoose no cat failed=%v", err) + resp.Code = 1 + resp.Message = "抱歉你没有猫可以选择号码" + break + } + //首先找一个可以选取的号码 cnum := 0 vv, err := redishandler.GetRedisClient().HGetAllKeys(redis.CAIPIAOLEFTNUM_KEY) @@ -1380,6 +1402,10 @@ func HandlerAutoChoose(w http.ResponseWriter, data string, uuid int) { resp.Code = 1 break } else { + if catpos >= 0 && catpos < len(uinfo.DuboCat) { + uinfo.DuboCat[catpos].ChooseNum = cnum + } + SaveUserInfo(uinfo, strconv.Itoa(uuid)) //将该号码移除 redishandler.GetRedisClient().HDel(redis.CAIPIAOLEFTNUM_KEY, strconv.Itoa(cnum)) //添加 @@ -1443,6 +1469,7 @@ func HandlerChooseNum(w http.ResponseWriter, data string, uuid int) { } for { + //先判断一下当前号码是否已被选取 isexist, err := redishandler.GetRedisClient().HExists(redis.CAIPIAOLEFTNUM_KEY, strconv.Itoa(rdata.Number)) if err != nil { @@ -1459,6 +1486,26 @@ func HandlerChooseNum(w http.ResponseWriter, data string, uuid int) { resp.Code = 100 break } + uinfo, err := GetUserInfo(strconv.Itoa(uuid)) + if err != nil || uinfo == nil { + logger.Error("HandlerChooseNum getuserinfo failed=%v", err) + resp.Code = 1 + resp.Message = "get userinfo failed" + break + } + catpos := -1 + for k, val := range uinfo.DuboCat { + if val.ChooseNum != 0 { + catpos = k + } + } + if catpos == -1 { + //当前没有可以选择号码的猫 + logger.Error("HandlerChooseNum no cat failed=%v", err) + resp.Code = 1 + resp.Message = "抱歉你没有猫可以选择号码" + break + } //加入当前彩池 curpool := GetCurCaiCatList() @@ -1474,7 +1521,7 @@ func HandlerChooseNum(w http.ResponseWriter, data string, uuid int) { //添加 var tmp UserCaiPiaoInfo tmp.ChooseNum = rdata.Number - tmp.CatId = rdata.CatId + tmp.CatId = 48 tmp.UserId = uuid curpool.List = append(curpool.List, tmp) curpool.CurNum = len(curpool.List) -- libgit2 0.21.0