Commit 93a657948ca6af21d3a71baf6b5cdedaa7a93297
1 parent
bf8feb78
Exists in
master
提交
Showing
3 changed files
with
64 additions
and
2 deletions
Show diff stats
src/HttpServer/logic/datadef.go
... | ... | @@ -712,12 +712,18 @@ type UserData struct { |
712 | 712 | Taskinfo TaskData //任务数据 |
713 | 713 | AchieveMent AchieveMentData //成就数据 |
714 | 714 | PosInfo []CatPosInfo //位置信息 从0开始 |
715 | + DuboCat []DuboCatInfo //赌博猫信息 | |
715 | 716 | BuyCatInfo []BuyCatInfoData //商店购买猫数据 第一个元素为1级猫 第二个为2级猫以此类推 |
716 | 717 | CatRoomInfo []CatRoomData //猫咖店数据 |
717 | 718 | CaiPiaoInfo []UserCaiPiaoHistory //记录玩家参与过的赌博猫历史记录 |
718 | 719 | |
719 | 720 | } |
720 | 721 | |
722 | +type DuboCatInfo struct { | |
723 | + CatID int | |
724 | + ChooseNum int //选择的号码 | |
725 | +} | |
726 | + | |
721 | 727 | type UserCaiPiaoHistory struct { |
722 | 728 | Cnum int //选择的号码 |
723 | 729 | RewardNum int //当期开奖的号码 | ... | ... |
src/HttpServer/logic/function.go
... | ... | @@ -277,7 +277,7 @@ func (u *UserData) DoFlopCardd(resp *DoFlopResp) { |
277 | 277 | case FLOPTYPE_GLAMCAT: |
278 | 278 | catid = 11 + REDCATIDEXTRA |
279 | 279 | catfg = jsonconf.GetRedCatConfig(catid) |
280 | - u.SetRedCatPos(catid, 0, catfg.Money, 0) | |
280 | + u.SetDuboCatPos(catid) | |
281 | 281 | } |
282 | 282 | u.Gold += addgold |
283 | 283 | u.CalcGoldRate() |
... | ... | @@ -471,6 +471,15 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) { |
471 | 471 | redishandler.GetRedisClient().HSet(redis.USER_LAST_CALC_TIME, strconv.Itoa(uuid), nowtimestr) |
472 | 472 | } |
473 | 473 | |
474 | +//设置赌博猫 | |
475 | +func (u *UserData) SetDuboCatPos(catlv int) { | |
476 | + | |
477 | + var du DuboCatInfo | |
478 | + du.ChooseNum = 0 | |
479 | + du.CatID = catlv | |
480 | + u.DuboCat = append(u.DuboCat, du) | |
481 | +} | |
482 | + | |
474 | 483 | //设置红包猫 |
475 | 484 | func (u *UserData) SetRedCatPos(catlv, time int, redpack float32, starttime int) { |
476 | 485 | pos := getCatPutPos(u, catlv) | ... | ... |
src/HttpServer/logic/logic.go
... | ... | @@ -1343,6 +1343,28 @@ func HandlerAutoChoose(w http.ResponseWriter, data string, uuid int) { |
1343 | 1343 | |
1344 | 1344 | for { |
1345 | 1345 | |
1346 | + //先校验一下有没有空的猫 | |
1347 | + uinfo, err := GetUserInfo(strconv.Itoa(uuid)) | |
1348 | + if err != nil || uinfo == nil { | |
1349 | + logger.Error("HandlerExchangePos getuserinfo failed=%v", err) | |
1350 | + resp.Code = 1 | |
1351 | + resp.Message = "get userinfo failed" | |
1352 | + break | |
1353 | + } | |
1354 | + catpos := -1 | |
1355 | + for k, val := range uinfo.DuboCat { | |
1356 | + if val.ChooseNum != 0 { | |
1357 | + catpos = k | |
1358 | + } | |
1359 | + } | |
1360 | + if catpos == -1 { | |
1361 | + //当前没有可以选择号码的猫 | |
1362 | + logger.Error("HandlerAutoChoose no cat failed=%v", err) | |
1363 | + resp.Code = 1 | |
1364 | + resp.Message = "抱歉你没有猫可以选择号码" | |
1365 | + break | |
1366 | + } | |
1367 | + | |
1346 | 1368 | //首先找一个可以选取的号码 |
1347 | 1369 | cnum := 0 |
1348 | 1370 | vv, err := redishandler.GetRedisClient().HGetAllKeys(redis.CAIPIAOLEFTNUM_KEY) |
... | ... | @@ -1380,6 +1402,10 @@ func HandlerAutoChoose(w http.ResponseWriter, data string, uuid int) { |
1380 | 1402 | resp.Code = 1 |
1381 | 1403 | break |
1382 | 1404 | } else { |
1405 | + if catpos >= 0 && catpos < len(uinfo.DuboCat) { | |
1406 | + uinfo.DuboCat[catpos].ChooseNum = cnum | |
1407 | + } | |
1408 | + SaveUserInfo(uinfo, strconv.Itoa(uuid)) | |
1383 | 1409 | //将该号码移除 |
1384 | 1410 | redishandler.GetRedisClient().HDel(redis.CAIPIAOLEFTNUM_KEY, strconv.Itoa(cnum)) |
1385 | 1411 | //添加 |
... | ... | @@ -1443,6 +1469,7 @@ func HandlerChooseNum(w http.ResponseWriter, data string, uuid int) { |
1443 | 1469 | } |
1444 | 1470 | |
1445 | 1471 | for { |
1472 | + | |
1446 | 1473 | //先判断一下当前号码是否已被选取 |
1447 | 1474 | isexist, err := redishandler.GetRedisClient().HExists(redis.CAIPIAOLEFTNUM_KEY, strconv.Itoa(rdata.Number)) |
1448 | 1475 | if err != nil { |
... | ... | @@ -1459,6 +1486,26 @@ func HandlerChooseNum(w http.ResponseWriter, data string, uuid int) { |
1459 | 1486 | resp.Code = 100 |
1460 | 1487 | break |
1461 | 1488 | } |
1489 | + uinfo, err := GetUserInfo(strconv.Itoa(uuid)) | |
1490 | + if err != nil || uinfo == nil { | |
1491 | + logger.Error("HandlerChooseNum getuserinfo failed=%v", err) | |
1492 | + resp.Code = 1 | |
1493 | + resp.Message = "get userinfo failed" | |
1494 | + break | |
1495 | + } | |
1496 | + catpos := -1 | |
1497 | + for k, val := range uinfo.DuboCat { | |
1498 | + if val.ChooseNum != 0 { | |
1499 | + catpos = k | |
1500 | + } | |
1501 | + } | |
1502 | + if catpos == -1 { | |
1503 | + //当前没有可以选择号码的猫 | |
1504 | + logger.Error("HandlerChooseNum no cat failed=%v", err) | |
1505 | + resp.Code = 1 | |
1506 | + resp.Message = "抱歉你没有猫可以选择号码" | |
1507 | + break | |
1508 | + } | |
1462 | 1509 | |
1463 | 1510 | //加入当前彩池 |
1464 | 1511 | curpool := GetCurCaiCatList() |
... | ... | @@ -1474,7 +1521,7 @@ func HandlerChooseNum(w http.ResponseWriter, data string, uuid int) { |
1474 | 1521 | //添加 |
1475 | 1522 | var tmp UserCaiPiaoInfo |
1476 | 1523 | tmp.ChooseNum = rdata.Number |
1477 | - tmp.CatId = rdata.CatId | |
1524 | + tmp.CatId = 48 | |
1478 | 1525 | tmp.UserId = uuid |
1479 | 1526 | curpool.List = append(curpool.List, tmp) |
1480 | 1527 | curpool.CurNum = len(curpool.List) | ... | ... |