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,12 +712,18 @@ type UserData struct { | ||
712 | Taskinfo TaskData //任务数据 | 712 | Taskinfo TaskData //任务数据 |
713 | AchieveMent AchieveMentData //成就数据 | 713 | AchieveMent AchieveMentData //成就数据 |
714 | PosInfo []CatPosInfo //位置信息 从0开始 | 714 | PosInfo []CatPosInfo //位置信息 从0开始 |
715 | + DuboCat []DuboCatInfo //赌博猫信息 | ||
715 | BuyCatInfo []BuyCatInfoData //商店购买猫数据 第一个元素为1级猫 第二个为2级猫以此类推 | 716 | BuyCatInfo []BuyCatInfoData //商店购买猫数据 第一个元素为1级猫 第二个为2级猫以此类推 |
716 | CatRoomInfo []CatRoomData //猫咖店数据 | 717 | CatRoomInfo []CatRoomData //猫咖店数据 |
717 | CaiPiaoInfo []UserCaiPiaoHistory //记录玩家参与过的赌博猫历史记录 | 718 | CaiPiaoInfo []UserCaiPiaoHistory //记录玩家参与过的赌博猫历史记录 |
718 | 719 | ||
719 | } | 720 | } |
720 | 721 | ||
722 | +type DuboCatInfo struct { | ||
723 | + CatID int | ||
724 | + ChooseNum int //选择的号码 | ||
725 | +} | ||
726 | + | ||
721 | type UserCaiPiaoHistory struct { | 727 | type UserCaiPiaoHistory struct { |
722 | Cnum int //选择的号码 | 728 | Cnum int //选择的号码 |
723 | RewardNum int //当期开奖的号码 | 729 | RewardNum int //当期开奖的号码 |
src/HttpServer/logic/function.go
@@ -277,7 +277,7 @@ func (u *UserData) DoFlopCardd(resp *DoFlopResp) { | @@ -277,7 +277,7 @@ func (u *UserData) DoFlopCardd(resp *DoFlopResp) { | ||
277 | case FLOPTYPE_GLAMCAT: | 277 | case FLOPTYPE_GLAMCAT: |
278 | catid = 11 + REDCATIDEXTRA | 278 | catid = 11 + REDCATIDEXTRA |
279 | catfg = jsonconf.GetRedCatConfig(catid) | 279 | catfg = jsonconf.GetRedCatConfig(catid) |
280 | - u.SetRedCatPos(catid, 0, catfg.Money, 0) | 280 | + u.SetDuboCatPos(catid) |
281 | } | 281 | } |
282 | u.Gold += addgold | 282 | u.Gold += addgold |
283 | u.CalcGoldRate() | 283 | u.CalcGoldRate() |
@@ -471,6 +471,15 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) { | @@ -471,6 +471,15 @@ func InitUserInfo(data *UserLoginReq, resp *UserLoginResp, uuid int) { | ||
471 | redishandler.GetRedisClient().HSet(redis.USER_LAST_CALC_TIME, strconv.Itoa(uuid), nowtimestr) | 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 | func (u *UserData) SetRedCatPos(catlv, time int, redpack float32, starttime int) { | 484 | func (u *UserData) SetRedCatPos(catlv, time int, redpack float32, starttime int) { |
476 | pos := getCatPutPos(u, catlv) | 485 | pos := getCatPutPos(u, catlv) |
src/HttpServer/logic/logic.go
@@ -1343,6 +1343,28 @@ func HandlerAutoChoose(w http.ResponseWriter, data string, uuid int) { | @@ -1343,6 +1343,28 @@ func HandlerAutoChoose(w http.ResponseWriter, data string, uuid int) { | ||
1343 | 1343 | ||
1344 | for { | 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 | cnum := 0 | 1369 | cnum := 0 |
1348 | vv, err := redishandler.GetRedisClient().HGetAllKeys(redis.CAIPIAOLEFTNUM_KEY) | 1370 | vv, err := redishandler.GetRedisClient().HGetAllKeys(redis.CAIPIAOLEFTNUM_KEY) |
@@ -1380,6 +1402,10 @@ func HandlerAutoChoose(w http.ResponseWriter, data string, uuid int) { | @@ -1380,6 +1402,10 @@ func HandlerAutoChoose(w http.ResponseWriter, data string, uuid int) { | ||
1380 | resp.Code = 1 | 1402 | resp.Code = 1 |
1381 | break | 1403 | break |
1382 | } else { | 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 | redishandler.GetRedisClient().HDel(redis.CAIPIAOLEFTNUM_KEY, strconv.Itoa(cnum)) | 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,6 +1469,7 @@ func HandlerChooseNum(w http.ResponseWriter, data string, uuid int) { | ||
1443 | } | 1469 | } |
1444 | 1470 | ||
1445 | for { | 1471 | for { |
1472 | + | ||
1446 | //先判断一下当前号码是否已被选取 | 1473 | //先判断一下当前号码是否已被选取 |
1447 | isexist, err := redishandler.GetRedisClient().HExists(redis.CAIPIAOLEFTNUM_KEY, strconv.Itoa(rdata.Number)) | 1474 | isexist, err := redishandler.GetRedisClient().HExists(redis.CAIPIAOLEFTNUM_KEY, strconv.Itoa(rdata.Number)) |
1448 | if err != nil { | 1475 | if err != nil { |
@@ -1459,6 +1486,26 @@ func HandlerChooseNum(w http.ResponseWriter, data string, uuid int) { | @@ -1459,6 +1486,26 @@ func HandlerChooseNum(w http.ResponseWriter, data string, uuid int) { | ||
1459 | resp.Code = 100 | 1486 | resp.Code = 100 |
1460 | break | 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 | curpool := GetCurCaiCatList() | 1511 | curpool := GetCurCaiCatList() |
@@ -1474,7 +1521,7 @@ func HandlerChooseNum(w http.ResponseWriter, data string, uuid int) { | @@ -1474,7 +1521,7 @@ func HandlerChooseNum(w http.ResponseWriter, data string, uuid int) { | ||
1474 | //添加 | 1521 | //添加 |
1475 | var tmp UserCaiPiaoInfo | 1522 | var tmp UserCaiPiaoInfo |
1476 | tmp.ChooseNum = rdata.Number | 1523 | tmp.ChooseNum = rdata.Number |
1477 | - tmp.CatId = rdata.CatId | 1524 | + tmp.CatId = 48 |
1478 | tmp.UserId = uuid | 1525 | tmp.UserId = uuid |
1479 | curpool.List = append(curpool.List, tmp) | 1526 | curpool.List = append(curpool.List, tmp) |
1480 | curpool.CurNum = len(curpool.List) | 1527 | curpool.CurNum = len(curpool.List) |