Commit 563689aefd6e36b452d54bbd151aa3166acead71
1 parent
d23ad20a
Exists in
master
提交翻牌
Showing
7 changed files
with
228 additions
and
9 deletions
Show diff stats
src/HttpServer/jsonconf/RedCatConfig.json
| 1 | -[{"id":1,"name":"全球招财猫","skin":"abonus","money":0,"rate":0.002,"is_37":1,"dec_red":"每天获得平台收益分红20%","dec_get":"1.1周内邀请人数排名前10,<br/>官方将主动联系赠予"},{"id":2,"name":"1天招财猫","skin":"abonus","money":150,"rate":0,"is_37":1,"dec_red":"获得1天平台收益","dec_get":"1.2只36级猫合成可能获得<br/>2.五大神猫合成必得"},{"id":3,"name":"东方招财猫","skin":"dir1","money":0,"rate":300,"is_37":1,"dec_red":"集齐5大神猫,可召唤一天招财猫","dec_get":"1.2只36级猫合成可能获得"},{"id":4,"name":"南方招财猫","skin":"dir2","money":0,"rate":200,"is_37":1,"dec_red":"集齐5大神猫,可召唤一天招财猫","dec_get":"1.2只36级猫合成可能获得"},{"id":5,"name":"西方招财猫","skin":"dir3","money":0,"rate":200,"is_37":1,"dec_red":"集齐5大神猫,可召唤一天招财猫","dec_get":"1.2只36级猫合成可能获得"},{"id":6,"name":"北方招财猫","skin":"dir4","money":0,"rate":100,"is_37":1,"dec_red":"集齐5大神猫,可召唤一天招财猫","dec_get":"1.2只36级猫合成可能获得"},{"id":7,"name":"正中招财猫","skin":"dir5","money":0,"rate":0,"is_37":1,"dec_red":"集齐5大神猫,可召唤一天招财猫","dec_get":"1.2只36级猫合成可能获得"},{"id":8,"name":"情侣猫男","skin":"man","money":0,"rate":120,"is_37":1,"dec_red":"两只不同性别的情侣猫合成可获得52元红包","dec_get":"1.2只36级猫合成可能获得"},{"id":9,"name":"情侣猫女","skin":"woman","money":52,"rate":0,"is_37":1,"dec_red":"两只不同性别的情侣猫合成可获得52元红包","dec_get":"1.2只36级猫合成可能获得"},{"id":10,"name":"红包猫","skin":"redpacket","money":5,"rate":70,"is_37":0,"dec_red":"点击打开将直接获得5元红包","dec_get":"1.2只36级猫合成可能获得<br/>2.幸运扑克牌抽取获得<br/>3.大转盘抽奖获得"},{"id":11,"name":"发财猫","skin":"gambling","money":88,"rate":0,"is_37":0,"dec_red":"每期号码达到150,中午12.00开奖88元红包","dec_get":"1.幸运扑克牌抽取获得"},{"id":12,"name":"限时招财猫","skin":"abonus","money":0.17,"rate":0,"is_37":0,"dec_red":"可获得5-15min全平台分红","dec_get":"1.幸运扑克牌抽取获得"},{"id":13,"name":"10min招财猫","skin":"abonus","money":0.35,"rate":0,"is_37":0,"dec_red":"","dec_get":""},{"id":14,"name":"15min招财猫","skin":"abonus","money":1.563,"rate":0,"is_37":0,"dec_red":"","dec_get":""}] | ||
| 2 | \ No newline at end of file | 1 | \ No newline at end of file |
| 2 | +[{"id":1,"name":"全球招财猫","skin":"abonus","money":0,"rate":0.002,"is_37":1,"dec_red":"每天获得平台收益分红20%","dec_get":"1.1周内邀请人数排名前10,<br/>官方将主动联系赠予"},{"id":2,"name":"1天招财猫","skin":"abonus","money":150,"rate":0,"is_37":1,"dec_red":"获得1天平台收益","dec_get":"1.2只36级猫合成可能获得<br/>2.五大神猫合成必得"},{"id":3,"name":"东方招财猫","skin":"dir1","money":0,"rate":300,"is_37":1,"dec_red":"集齐5大神猫,可召唤一天招财猫","dec_get":"1.2只36级猫合成可能获得"},{"id":4,"name":"南方招财猫","skin":"dir2","money":0,"rate":200,"is_37":1,"dec_red":"集齐5大神猫,可召唤一天招财猫","dec_get":"1.2只36级猫合成可能获得"},{"id":5,"name":"西方招财猫","skin":"dir3","money":0,"rate":200,"is_37":1,"dec_red":"集齐5大神猫,可召唤一天招财猫","dec_get":"1.2只36级猫合成可能获得"},{"id":6,"name":"北方招财猫","skin":"dir4","money":0,"rate":100,"is_37":1,"dec_red":"集齐5大神猫,可召唤一天招财猫","dec_get":"1.2只36级猫合成可能获得"},{"id":7,"name":"正中招财猫","skin":"dir5","money":0,"rate":0,"is_37":1,"dec_red":"集齐5大神猫,可召唤一天招财猫","dec_get":"1.2只36级猫合成可能获得"},{"id":8,"name":"情侣猫男","skin":"man","money":0,"rate":120,"is_37":1,"dec_red":"两只不同性别的情侣猫合成可获得52元红包","dec_get":"1.2只36级猫合成可能获得"},{"id":9,"name":"情侣猫女","skin":"woman","money":52,"rate":0,"is_37":1,"dec_red":"两只不同性别的情侣猫合成可获得52元红包","dec_get":"1.2只36级猫合成可能获得"},{"id":10,"name":"红包猫","skin":"redpacket","money":5,"rate":70,"is_37":0,"dec_red":"点击打开将直接获得5元红包","dec_get":"1.2只36级猫合成可能获得<br/>2.幸运扑克牌抽取获得<br/>3.大转盘抽奖获得"},{"id":11,"name":"发财猫","skin":"gambling","money":88,"rate":0,"is_37":0,"dec_red":"每期号码达到150,中午12.00开奖88元红包","dec_get":"1.幸运扑克牌抽取获得"},{"id":12,"name":"限时招财猫","skin":"abonus","money":0.17,"rate":0,"is_37":0,"dec_red":"可获得5-15min全平台分红","dec_get":"1.幸运扑克牌抽取获得"},{"id":13,"name":"10min招财猫","skin":"abonus","money":0.35,"rate":0,"is_37":0,"dec_red":"","dec_ get":""},{"id":14,"name":"15min招财猫","skin":"abonus","money":1.563,"rate":0,"is_37":0,"dec_red":"","dec_get":""}] | ||
| 3 | \ No newline at end of file | 3 | \ No newline at end of file |
src/HttpServer/jsonconf/jsonconf.go
| @@ -61,6 +61,16 @@ func GetJsonConf() *GameConfig { | @@ -61,6 +61,16 @@ func GetJsonConf() *GameConfig { | ||
| 61 | return g_jsonconf | 61 | return g_jsonconf |
| 62 | } | 62 | } |
| 63 | 63 | ||
| 64 | +func GetCardConfig(time int) *CardDesc { | ||
| 65 | + for _, v := range g_jsonconf.CardConfig { | ||
| 66 | + if v.Time == time { | ||
| 67 | + return &v | ||
| 68 | + } | ||
| 69 | + } | ||
| 70 | + | ||
| 71 | + return &g_jsonconf.CardConfig[len(g_jsonconf.CardConfig)-1] | ||
| 72 | +} | ||
| 73 | + | ||
| 64 | func GetTurnTable(ctype int) []TurnTableDesc { | 74 | func GetTurnTable(ctype int) []TurnTableDesc { |
| 65 | var rtslice []TurnTableDesc | 75 | var rtslice []TurnTableDesc |
| 66 | for _, v := range g_jsonconf.TurnTableConfig { | 76 | for _, v := range g_jsonconf.TurnTableConfig { |
src/HttpServer/logic/constdef.go
| @@ -30,15 +30,14 @@ const ( | @@ -30,15 +30,14 @@ const ( | ||
| 30 | 30 | ||
| 31 | ) | 31 | ) |
| 32 | 32 | ||
| 33 | -//奖励类型枚举 | 33 | +//翻牌类型枚举 |
| 34 | const ( | 34 | const ( |
| 35 | - REWARDTYPE_STAR = 1 //星星 | ||
| 36 | - REWARDTYPE_CHUI = 2 | ||
| 37 | - REWARDTYPE_SHUA = 3 | ||
| 38 | - REWARDTYPE_SWAP = 4 | ||
| 39 | - REWARDTYPE_ELIMITE = 5 | ||
| 40 | - REWARDTYPE_EXP = 6 | ||
| 41 | - REWARDTYPE_GOLD = 7 | 35 | + FLOPTYPE_15MIN = 1 //15min当前产出 |
| 36 | + FLOPTYPE_45MIN = 2 //45min当前产出 | ||
| 37 | + FLOPTYPE_FENCAT15MIN = 3 //分红猫15min | ||
| 38 | + FLOPTYPE_FENCAT10MIN = 4 //10min分红猫 | ||
| 39 | + FLOPTYPE_REDCAT = 5 //红包猫 | ||
| 40 | + FLOPTYPE_GLAMCAT = 6 //赌博猫 | ||
| 42 | ) | 41 | ) |
| 43 | 42 | ||
| 44 | const ( | 43 | const ( |
src/HttpServer/logic/datadef.go
| @@ -234,6 +234,33 @@ type DrawTableResp struct { | @@ -234,6 +234,33 @@ type DrawTableResp struct { | ||
| 234 | Data DrawTableData `json:"data"` | 234 | Data DrawTableData `json:"data"` |
| 235 | } | 235 | } |
| 236 | 236 | ||
| 237 | +type QueryFlopData struct { | ||
| 238 | + LeftTimes int `json:"leftTimes"` | ||
| 239 | +} | ||
| 240 | + | ||
| 241 | +type QueryFlopResp struct { | ||
| 242 | + Code int `json:"code"` | ||
| 243 | + Message string `json:"message"` | ||
| 244 | + Data QueryFlopData `json:"data"` | ||
| 245 | +} | ||
| 246 | + | ||
| 247 | +type DoFlopRespReward struct { | ||
| 248 | + RewardId int `json:"rewardId"` | ||
| 249 | + CatId int `json:"catId"` | ||
| 250 | + Coin string `json:"coin"` | ||
| 251 | +} | ||
| 252 | + | ||
| 253 | +type DoFlopRespData struct { | ||
| 254 | + Reward DoFlopRespReward `json:"reward"` | ||
| 255 | + LeftTimes int `json:"leftTimes"` | ||
| 256 | + Coin DoBuyCatCoin `json:"coin"` | ||
| 257 | +} | ||
| 258 | +type DoFlopResp struct { | ||
| 259 | + Code int `json:"code"` | ||
| 260 | + Message string `json:"message"` | ||
| 261 | + Data DoFlopRespData `json:"data"` | ||
| 262 | +} | ||
| 263 | + | ||
| 237 | type AcclecteBoxResp struct { | 264 | type AcclecteBoxResp struct { |
| 238 | Code int `json:"code"` | 265 | Code int `json:"code"` |
| 239 | Message string `json:"message"` | 266 | Message string `json:"message"` |
| @@ -625,6 +652,8 @@ type UserData struct { | @@ -625,6 +652,8 @@ type UserData struct { | ||
| 625 | OfflineLove int64 //离线爱心 | 652 | OfflineLove int64 //离线爱心 |
| 626 | LastLoginTime int //上次登陆时间 | 653 | LastLoginTime int //上次登陆时间 |
| 627 | LastTimingRewardHour int //上次领取整点奖励的时刻 | 654 | LastTimingRewardHour int //上次领取整点奖励的时刻 |
| 655 | + FlopCardCnt int //翻牌次数计数 | ||
| 656 | + FlopCardLefCnt int //剩余翻拍次数 | ||
| 628 | CatShopInfo CatShopData //猫咖门店数据 | 657 | CatShopInfo CatShopData //猫咖门店数据 |
| 629 | Taskinfo TaskData //任务数据 | 658 | Taskinfo TaskData //任务数据 |
| 630 | AchieveMent AchieveMentData //成就数据 | 659 | AchieveMent AchieveMentData //成就数据 |
src/HttpServer/logic/function.go
| @@ -125,6 +125,65 @@ func (u *UserData) DrawTable() int { | @@ -125,6 +125,65 @@ func (u *UserData) DrawTable() int { | ||
| 125 | return idx | 125 | return idx |
| 126 | } | 126 | } |
| 127 | 127 | ||
| 128 | +func (u *UserData) DoFlopCardd(resp *DoFlopResp) { | ||
| 129 | + cfg := jsonconf.GetCardConfig(u.FlopCardCnt) | ||
| 130 | + if cfg == nil { | ||
| 131 | + logger.Error("HandlerDoFlop getcfg failed=%v", u.FlopCardCnt) | ||
| 132 | + resp.Code = 1 | ||
| 133 | + resp.Message = "getcfg" | ||
| 134 | + return | ||
| 135 | + } | ||
| 136 | + | ||
| 137 | + addgold := int64(0) | ||
| 138 | + var catfg *jsonconf.RedCatDesc | ||
| 139 | + catid := 0 | ||
| 140 | + ctime := 0 | ||
| 141 | + nowt := int(time.Now().Unix()) | ||
| 142 | + switch cfg.Ctype { | ||
| 143 | + case FLOPTYPE_15MIN: | ||
| 144 | + addgold = u.Goldrate * 15 * 60 | ||
| 145 | + | ||
| 146 | + case FLOPTYPE_45MIN: | ||
| 147 | + addgold = u.Goldrate * 15 * 60 | ||
| 148 | + case FLOPTYPE_FENCAT15MIN: | ||
| 149 | + catid = 14 + 100 | ||
| 150 | + ctime = 15 * 60 | ||
| 151 | + catfg = jsonconf.GetRedCatConfig(catid) | ||
| 152 | + u.SetRedCatPos(catid, ctime, catfg.Money, nowt) | ||
| 153 | + case FLOPTYPE_FENCAT10MIN: | ||
| 154 | + catid = 13 + 100 | ||
| 155 | + ctime = 10 * 60 | ||
| 156 | + catfg = jsonconf.GetRedCatConfig(catid) | ||
| 157 | + u.SetRedCatPos(catid, ctime, catfg.Money, nowt) | ||
| 158 | + case FLOPTYPE_REDCAT: | ||
| 159 | + catid = 10 + 100 | ||
| 160 | + catfg = jsonconf.GetRedCatConfig(catid) | ||
| 161 | + u.SetRedCatPos(catid, 0, catfg.Money, 0) | ||
| 162 | + case FLOPTYPE_GLAMCAT: | ||
| 163 | + catid = 11 + 100 | ||
| 164 | + catfg = jsonconf.GetRedCatConfig(catid) | ||
| 165 | + u.SetRedCatPos(catid, 0, catfg.Money, 0) | ||
| 166 | + } | ||
| 167 | + u.Gold += addgold | ||
| 168 | + u.CalcGoldRate() | ||
| 169 | + | ||
| 170 | + u.FlopCardLefCnt-- | ||
| 171 | + u.FlopCardCnt++ | ||
| 172 | + | ||
| 173 | + SaveUserInfo(u, strconv.Itoa(u.UserId)) | ||
| 174 | + | ||
| 175 | + resp.Data.LeftTimes = u.FlopCardLefCnt | ||
| 176 | + resp.Data.Coin.UserId = u.UserId | ||
| 177 | + resp.Data.Coin.Coin = strconv.FormatInt(u.Gold, 10) | ||
| 178 | + resp.Data.Coin.IcomeRate = strconv.FormatInt(u.Goldrate, 10) | ||
| 179 | + resp.Data.Coin.UpdateTime = int(time.Now().Unix()) | ||
| 180 | + | ||
| 181 | + resp.Data.Reward.RewardId = u.FlopCardCnt | ||
| 182 | + resp.Data.Reward.Coin = strconv.FormatInt(addgold, 10) | ||
| 183 | + resp.Data.LeftTimes = u.FlopCardLefCnt | ||
| 184 | + | ||
| 185 | +} | ||
| 186 | + | ||
| 128 | func (u *UserData) HandlePassDay() { | 187 | func (u *UserData) HandlePassDay() { |
| 129 | isdiffday := false | 188 | isdiffday := false |
| 130 | nowtime := time.Now() | 189 | nowtime := time.Now() |
| @@ -221,6 +280,7 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) { | @@ -221,6 +280,7 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) { | ||
| 221 | udata.DrawTicketTimes = DRAWTICKETGETLIMIT | 280 | udata.DrawTicketTimes = DRAWTICKETGETLIMIT |
| 222 | udata.DratMult = 1 | 281 | udata.DratMult = 1 |
| 223 | udata.DrawTableCount = 1 | 282 | udata.DrawTableCount = 1 |
| 283 | + udata.FlopCardCnt = 1 | ||
| 224 | 284 | ||
| 225 | //初始化16个猫爬架 | 285 | //初始化16个猫爬架 |
| 226 | for i := 0; i < 16; i++ { | 286 | for i := 0; i < 16; i++ { |
| @@ -289,6 +349,21 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) { | @@ -289,6 +349,21 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) { | ||
| 289 | redishandler.GetRedisClient().HSet(redis.USER_LAST_CALC_TIME, strconv.Itoa(uuid), nowtimestr) | 349 | redishandler.GetRedisClient().HSet(redis.USER_LAST_CALC_TIME, strconv.Itoa(uuid), nowtimestr) |
| 290 | } | 350 | } |
| 291 | 351 | ||
| 352 | +//设置红包猫 | ||
| 353 | +func (u *UserData) SetRedCatPos(catlv, time int, redpack float32, starttime int) { | ||
| 354 | + pos := getCatPutPos(u, catlv) | ||
| 355 | + if pos < 0 || pos >= len(u.PosInfo) { | ||
| 356 | + logger.Error("CleadPos failed pos=%v,posinfo=%v", pos, u.PosInfo) | ||
| 357 | + return | ||
| 358 | + } | ||
| 359 | + | ||
| 360 | + u.PosInfo[pos].Cat = catlv | ||
| 361 | + u.PosInfo[pos].Position = pos | ||
| 362 | + u.PosInfo[pos].StartTime = starttime | ||
| 363 | + u.PosInfo[pos].RedPacket = redpack | ||
| 364 | + u.PosInfo[pos].Time = time | ||
| 365 | +} | ||
| 366 | + | ||
| 292 | //计算购买后猫箱子的位置,将箱子放到对应位置 返回值表示位置 -1表示失败都满了 | 367 | //计算购买后猫箱子的位置,将箱子放到对应位置 返回值表示位置 -1表示失败都满了 |
| 293 | func getCatPutPos(uinfo *UserData, clv int) int { | 368 | func getCatPutPos(uinfo *UserData, clv int) int { |
| 294 | pos := -1 | 369 | pos := -1 |
| @@ -437,6 +512,8 @@ func MergeRedBagCat(uinfo *UserData, pos int) int { | @@ -437,6 +512,8 @@ func MergeRedBagCat(uinfo *UserData, pos int) int { | ||
| 437 | } | 512 | } |
| 438 | } | 513 | } |
| 439 | 514 | ||
| 515 | + //翻拍次数+ | ||
| 516 | + uinfo.FlopCardLefCnt++ | ||
| 440 | return rtpos | 517 | return rtpos |
| 441 | } | 518 | } |
| 442 | 519 |
src/HttpServer/logic/httpserver.go
| @@ -45,6 +45,8 @@ func startServerHttpServe() { | @@ -45,6 +45,8 @@ func startServerHttpServe() { | ||
| 45 | http.HandleFunc("/api/turntable/addTicket", AddTicket) //增加抽奖券 | 45 | http.HandleFunc("/api/turntable/addTicket", AddTicket) //增加抽奖券 |
| 46 | http.HandleFunc("/api/turntable/multiple", Multiple) //增加倍数 | 46 | http.HandleFunc("/api/turntable/multiple", Multiple) //增加倍数 |
| 47 | http.HandleFunc("/api/turntable/draw", DrawTable) //抽奖 | 47 | http.HandleFunc("/api/turntable/draw", DrawTable) //抽奖 |
| 48 | + http.HandleFunc("/api/flop/leftTimes", QueryFlop) //剩余翻牌次数 | ||
| 49 | + http.HandleFunc("/api/flop/flop", DoFlop) //进行翻牌 | ||
| 48 | 50 | ||
| 49 | /////---------------------------------------------------------------------old | 51 | /////---------------------------------------------------------------------old |
| 50 | http.HandleFunc("/happycat/exchangetwoPos", ExchangePos) //交换位置 | 52 | http.HandleFunc("/happycat/exchangetwoPos", ExchangePos) //交换位置 |
| @@ -639,6 +641,42 @@ func RedCatList(w http.ResponseWriter, r *http.Request) { | @@ -639,6 +641,42 @@ func RedCatList(w http.ResponseWriter, r *http.Request) { | ||
| 639 | //HandlerRecvTimingReward(w, s, Uuid) | 641 | //HandlerRecvTimingReward(w, s, Uuid) |
| 640 | } | 642 | } |
| 641 | 643 | ||
| 644 | +func DoFlop(w http.ResponseWriter, r *http.Request) { | ||
| 645 | + Uuid := 0 | ||
| 646 | + if len(r.Header) > 0 { | ||
| 647 | + Uuid, _ = strconv.Atoi(r.Header.Get("uid")) | ||
| 648 | + } | ||
| 649 | + if Uuid == 0 { | ||
| 650 | + SetHeader(w) | ||
| 651 | + return | ||
| 652 | + } | ||
| 653 | + result, _ := ioutil.ReadAll(r.Body) | ||
| 654 | + r.Body.Close() | ||
| 655 | + | ||
| 656 | + s := string(result) | ||
| 657 | + logger.Info("DoFlop , body:%v,uuid=%v", s, Uuid) | ||
| 658 | + | ||
| 659 | + HandlerDoFlop(w, s, Uuid) | ||
| 660 | +} | ||
| 661 | + | ||
| 662 | +func QueryFlop(w http.ResponseWriter, r *http.Request) { | ||
| 663 | + Uuid := 0 | ||
| 664 | + if len(r.Header) > 0 { | ||
| 665 | + Uuid, _ = strconv.Atoi(r.Header.Get("uid")) | ||
| 666 | + } | ||
| 667 | + if Uuid == 0 { | ||
| 668 | + SetHeader(w) | ||
| 669 | + return | ||
| 670 | + } | ||
| 671 | + result, _ := ioutil.ReadAll(r.Body) | ||
| 672 | + r.Body.Close() | ||
| 673 | + | ||
| 674 | + s := string(result) | ||
| 675 | + logger.Info("QueryFlop , body:%v,uuid=%v", s, Uuid) | ||
| 676 | + | ||
| 677 | + HandlerQueryFlop(w, s, Uuid) | ||
| 678 | +} | ||
| 679 | + | ||
| 642 | func DrawTable(w http.ResponseWriter, r *http.Request) { | 680 | func DrawTable(w http.ResponseWriter, r *http.Request) { |
| 643 | Uuid := 0 | 681 | Uuid := 0 |
| 644 | if len(r.Header) > 0 { | 682 | if len(r.Header) > 0 { |
src/HttpServer/logic/logic.go
| @@ -403,6 +403,69 @@ func HandlerGetMainPageInfo(w http.ResponseWriter, data string, uuid int) { | @@ -403,6 +403,69 @@ func HandlerGetMainPageInfo(w http.ResponseWriter, data string, uuid int) { | ||
| 403 | fmt.Fprint(w, string(respstr)) | 403 | fmt.Fprint(w, string(respstr)) |
| 404 | } | 404 | } |
| 405 | 405 | ||
| 406 | +func HandlerDoFlop(w http.ResponseWriter, data string, uuid int) { | ||
| 407 | + SetHeader(w) | ||
| 408 | + var resp DoFlopResp | ||
| 409 | + resp.Code = 0 | ||
| 410 | + resp.Message = "success" | ||
| 411 | + | ||
| 412 | + for { | ||
| 413 | + | ||
| 414 | + uinfo, err := GetUserInfo(strconv.Itoa(uuid)) | ||
| 415 | + if err != nil || uinfo == nil { | ||
| 416 | + logger.Error("HandlerDoFlop getuserinfo failed=%v", err) | ||
| 417 | + resp.Code = 1 | ||
| 418 | + resp.Message = "get userinfo failed" | ||
| 419 | + break | ||
| 420 | + } | ||
| 421 | + | ||
| 422 | + //判断一下翻拍次数是否足够 | ||
| 423 | + if uinfo.FlopCardLefCnt <= 0 { | ||
| 424 | + logger.Error("HandlerDoFlop flopcnt failed=%v", err) | ||
| 425 | + resp.Code = 1 | ||
| 426 | + resp.Message = "翻拍次数不足" | ||
| 427 | + break | ||
| 428 | + } | ||
| 429 | + | ||
| 430 | + uinfo.DoFlopCardd(&resp) | ||
| 431 | + | ||
| 432 | + resp.Code = 0 | ||
| 433 | + break | ||
| 434 | + } | ||
| 435 | + | ||
| 436 | + //回包 | ||
| 437 | + respstr, _ := json.Marshal(&resp) | ||
| 438 | + fmt.Fprint(w, string(respstr)) | ||
| 439 | + | ||
| 440 | +} | ||
| 441 | + | ||
| 442 | +func HandlerQueryFlop(w http.ResponseWriter, data string, uuid int) { | ||
| 443 | + SetHeader(w) | ||
| 444 | + var resp QueryFlopResp | ||
| 445 | + resp.Code = 0 | ||
| 446 | + resp.Message = "success" | ||
| 447 | + | ||
| 448 | + for { | ||
| 449 | + | ||
| 450 | + uinfo, err := GetUserInfo(strconv.Itoa(uuid)) | ||
| 451 | + if err != nil || uinfo == nil { | ||
| 452 | + logger.Error("HandlerQueryFlop getuserinfo failed=%v", err) | ||
| 453 | + resp.Code = 1 | ||
| 454 | + resp.Message = "get userinfo failed" | ||
| 455 | + break | ||
| 456 | + } | ||
| 457 | + | ||
| 458 | + resp.Data.LeftTimes = uinfo.FlopCardLefCnt | ||
| 459 | + resp.Code = 0 | ||
| 460 | + break | ||
| 461 | + } | ||
| 462 | + | ||
| 463 | + //回包 | ||
| 464 | + respstr, _ := json.Marshal(&resp) | ||
| 465 | + fmt.Fprint(w, string(respstr)) | ||
| 466 | + | ||
| 467 | +} | ||
| 468 | + | ||
| 406 | func HandlerDrawTable(w http.ResponseWriter, data string, uuid int) { | 469 | func HandlerDrawTable(w http.ResponseWriter, data string, uuid int) { |
| 407 | SetHeader(w) | 470 | SetHeader(w) |
| 408 | var resp DrawTableResp | 471 | var resp DrawTableResp |
| @@ -1167,6 +1230,9 @@ func HandlerExchangePos(w http.ResponseWriter, data string, uuid int) { | @@ -1167,6 +1230,9 @@ func HandlerExchangePos(w http.ResponseWriter, data string, uuid int) { | ||
| 1167 | uinfo.Highestlv = uinfo.PosInfo[rdata.To].Cat | 1230 | uinfo.Highestlv = uinfo.PosInfo[rdata.To].Cat |
| 1168 | resp.Data.NewCat = uinfo.PosInfo[rdata.To].Cat | 1231 | resp.Data.NewCat = uinfo.PosInfo[rdata.To].Cat |
| 1169 | uinfo.CheckBuyCatSHop() | 1232 | uinfo.CheckBuyCatSHop() |
| 1233 | + | ||
| 1234 | + //翻拍次数+ | ||
| 1235 | + uinfo.FlopCardLefCnt++ | ||
| 1170 | } | 1236 | } |
| 1171 | 1237 | ||
| 1172 | } | 1238 | } |