DicePlayRecord添加字段super_win_coin和reward_win_coin记录不同的中奖金额类型
This commit is contained in:
@@ -34,6 +34,8 @@ class PlayStartLogic
|
||||
|
||||
/** 开启对局最低余额 = |DiceRewardConfig 最小 real_ev + 100| */
|
||||
private const MIN_COIN_EXTRA = 100;
|
||||
/** 豹子号中大奖额外平台币(可从 dice_config 等配置读取) */
|
||||
private const SUPER_WIN_BONUS = 500;
|
||||
|
||||
/**
|
||||
* 执行一局游戏
|
||||
@@ -120,13 +122,24 @@ class PlayStartLogic
|
||||
$targetIndex
|
||||
));
|
||||
$realEv = (float) ($chosen['real_ev'] ?? 0);
|
||||
$winCoin = 100 + $realEv; // 赢取平台币 = 100 + DiceRewardConfig.real_ev
|
||||
$rewardWinCoin = 100 + $realEv; // 摇色子中奖平台币 = 100 + DiceRewardConfig.real_ev
|
||||
$isSuperWin = DicePlayRecord::isSuperWin($rollArray);
|
||||
// 豹子中大奖时从缓存查 tier=BIGWIN 且 grid_number=roll_number 的奖励配置,取 real_ev 计算中大奖平台币
|
||||
$superWinCoin = 0;
|
||||
if ($isSuperWin) {
|
||||
$bigWinConfig = DiceRewardConfig::getCachedByTierAndGridNumber('BIGWIN', $rollNumber);
|
||||
$superWinCoin = $bigWinConfig !== null
|
||||
? 100 + (float) ($bigWinConfig['real_ev'] ?? 0)
|
||||
: self::SUPER_WIN_BONUS;
|
||||
}
|
||||
$winCoin = $superWinCoin + $rewardWinCoin; // 赢取平台币 = 中大奖 + 摇色子中奖
|
||||
|
||||
$record = null;
|
||||
$configId = (int) $config->id;
|
||||
$rewardId = $chosenId;
|
||||
$configName = (string) ($config->name ?? '');
|
||||
$isTierT5 = (string) ($chosen['tier'] ?? '') === 'T5';
|
||||
$isWin = $isSuperWin ? 1 : 0;
|
||||
try {
|
||||
Db::transaction(function () use (
|
||||
$playerId,
|
||||
@@ -135,6 +148,9 @@ class PlayStartLogic
|
||||
$configName,
|
||||
$ticketType,
|
||||
$winCoin,
|
||||
$superWinCoin,
|
||||
$rewardWinCoin,
|
||||
$isWin,
|
||||
$realEv,
|
||||
$direction,
|
||||
$startIndex,
|
||||
@@ -147,7 +163,10 @@ class PlayStartLogic
|
||||
'player_id' => $playerId,
|
||||
'lottery_config_id' => $configId,
|
||||
'lottery_type' => $ticketType,
|
||||
'is_win' => $isWin,
|
||||
'win_coin' => $winCoin,
|
||||
'super_win_coin' => $superWinCoin,
|
||||
'reward_win_coin' => $rewardWinCoin,
|
||||
'use_coins' => 0,
|
||||
'direction' => $direction,
|
||||
'reward_config_id' => $rewardId,
|
||||
@@ -210,7 +229,10 @@ class PlayStartLogic
|
||||
'player_id' => $playerId,
|
||||
'lottery_config_id' => $configId ?? 0,
|
||||
'lottery_type' => $ticketType,
|
||||
'is_win' => 0,
|
||||
'win_coin' => 0,
|
||||
'super_win_coin' => 0,
|
||||
'reward_win_coin' => 0,
|
||||
'use_coins' => 0,
|
||||
'direction' => $direction,
|
||||
'reward_config_id' => 0,
|
||||
|
||||
Reference in New Issue
Block a user