Initial commit

This commit is contained in:
2026-04-23 16:58:11 +08:00
commit 267eba1eca
2582 changed files with 273338 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
1.先效验传入的下注金额是否正确再去给每个用户申请一把锁根据用户id去redis中读取游戏缓存数据缓存为空扣费并且更新用户累计的投注在去更新用户的总投注额再去查找今天0点的统计记录不存在则创建否则将今日统计表中下注金额累计再将redis中的全局奖励池累加
再去初始化缓存数据再去通过selectGame()方法去挑选一局游戏
1.1selectGame()方法首先去查询用户的历史数据历史投钱数游戏多少次查询不到就去初始化一条全新数据再去redis中读取游戏的配置信息在去读取配置表有rtp=0.8再从redis中拿到全局的奖励池所有玩家总投注所有玩家总获奖再将StrategyContext对象组装
再去执行三个策略分别是普通旋转免费旋转超级旋转三个旋转只是查询条件不同最后封装GameSpin对象返回
2.处理免费旋转再去更新缓存再去检测并且去累加S出现的次数再去累加倍数到累计赢取额然后写回缓存保存更新
3.判断游戏是否结束,去计算最终的奖励,总得分(score) × 单注(bet) = 本局实际奖励金额若计算结果≤0强制设为0.01保底,再将赢取的金额加到玩家账号
4.本局游戏结束之后将该用户的redis缓存为空去更新用户累计的输赢金额再去更新统计表和Redis的全局奖励池
5.构建完整数据并且返回