From 3f9282e6377803fba778293a0761cd87fe6b4645 Mon Sep 17 00:00:00 2001 From: 陆恒 Date: Wed, 17 Jun 2020 17:35:49 +0800 Subject: [PATCH] 提交 --- src/HttpServer/logic/function.go | 45 ++++++++++++++++++++++++++------------------- src/HttpServer/logic/logic.go | 19 ++++++++++++++++++- 2 files changed, 44 insertions(+), 20 deletions(-) diff --git a/src/HttpServer/logic/function.go b/src/HttpServer/logic/function.go index 92257c4..f1a2721 100644 --- a/src/HttpServer/logic/function.go +++ b/src/HttpServer/logic/function.go @@ -792,8 +792,8 @@ func DoAutoMergeRedCat(uinfo *UserData, uuid int) { } //合成红包猫 返回红包猫等级 等级为red_catconfig的id+100 -func MergeRedBagCat(uinfo *UserData, pos int) int { - rtpos := 0 +func MergeRedBagCat(uinfo *UserData, pos int) float32 { + rtpos := float32(0) //走随机合成逻辑 sumrate := float32(0) @@ -815,23 +815,30 @@ func MergeRedBagCat(uinfo *UserData, pos int) int { for k, v := range reallist { tmprate += int(v.Rate * 100 / sumrate) if tmprate >= randnum { - index = k - uinfo.PosInfo[pos].Position = pos - uinfo.PosInfo[pos].Cat = REDCATIDEXTRA + v.Id - if v.Id == 13 { - uinfo.PosInfo[pos].Time = 10 * 60 - uinfo.PosInfo[pos].StartTime = int(time.Now().Unix()) - } - if v.Id == 14 { - uinfo.PosInfo[pos].Time = 15 * 60 - uinfo.PosInfo[pos].StartTime = int(time.Now().Unix()) - } - if v.Id == 2 { - uinfo.PosInfo[pos].Time = 24 * 60 * 60 - uinfo.PosInfo[pos].StartTime = int(time.Now().Unix()) + if v.Id != 10 { + index = k + uinfo.PosInfo[pos].Position = pos + uinfo.PosInfo[pos].Cat = REDCATIDEXTRA + v.Id + if v.Id == 13 { + uinfo.PosInfo[pos].Time = 10 * 60 + uinfo.PosInfo[pos].StartTime = int(time.Now().Unix()) + } + if v.Id == 14 { + uinfo.PosInfo[pos].Time = 15 * 60 + uinfo.PosInfo[pos].StartTime = int(time.Now().Unix()) + } + if v.Id == 2 { + uinfo.PosInfo[pos].Time = 24 * 60 * 60 + uinfo.PosInfo[pos].StartTime = int(time.Now().Unix()) + } + uinfo.PosInfo[pos].RedPacket = v.Money + rtpos = 0 + } else { + //红包猫 + index = k + rtpos = v.Money } - uinfo.PosInfo[pos].RedPacket = v.Money - rtpos = pos + break } } @@ -841,7 +848,7 @@ func MergeRedBagCat(uinfo *UserData, pos int) int { uinfo.PosInfo[pos].Cat = reallist[0].Id + REDCATIDEXTRA uinfo.PosInfo[pos].RedPacket = reallist[0].Money uinfo.PosInfo[pos].Position = pos - rtpos = pos + rtpos = reallist[0].Money } //翻拍次数+ diff --git a/src/HttpServer/logic/logic.go b/src/HttpServer/logic/logic.go index 1a53c09..6d18844 100644 --- a/src/HttpServer/logic/logic.go +++ b/src/HttpServer/logic/logic.go @@ -345,6 +345,16 @@ func HandlerTestaddCat(w http.ResponseWriter, data string, uuid int) { } catid, _ := strconv.Atoi(rdata.CatId) + if catid == 47 { + //红包猫 + logger.Error("HandlerTestaddCat Position failed=%v", err) + resp.Code = 1 + resp.Message = "参数错误" + break + } else if catid == 48 { + //赌博猫 + uinfo.SetDuboCatPos(catid) + } uinfo.PosInfo[rdata.Position].Cat = catid uinfo.CalcGoldRate() SaveUserInfo(uinfo, strconv.Itoa(uuid)) @@ -2158,7 +2168,7 @@ func HandlerExchangePos(w http.ResponseWriter, data string, uuid int) { //首先判断是否是顶级猫了 if uinfo.PosInfo[rdata.From].Cat == 36 { //todo 走红包猫的逻辑 - MergeRedBagCat(uinfo, rdata.To) + idx := MergeRedBagCat(uinfo, rdata.To) uinfo.CleadPos(rdata.From) //DoAutoMergeRedCat(uinfo, uuid) //此处处理一下红包猫的自动合成逻辑 @@ -2167,6 +2177,13 @@ func HandlerExchangePos(w http.ResponseWriter, data string, uuid int) { uinfo.Highestlv = 37 uinfo.CheckBuyCatSHop() } + if idx > 0 { + //红包猫 + uinfo.CleadPos(rdata.To) + resp.Data.Reward = idx + //加钱 + uinfo.AddRedPackect(idx, 100) + } } else { // -- libgit2 0.21.0