将项目中所有total_draw_count字段重构为total_ticket_count字段
将项目中所有paid_draw_count字段重构为paid_ticket_count字段 将项目中所有free_draw_count字段重构为free_ticket_count字段
This commit is contained in:
@@ -79,7 +79,7 @@ class UserController extends OpenController
|
||||
* 获取当前用户信息
|
||||
* GET /api/user/info
|
||||
* header: user-token(由 CheckUserTokenMiddleware 校验并注入 request->user_id)
|
||||
* 返回:id, username, phone, uid, name, coin, total_draw_count
|
||||
* 返回:id, username, phone, uid, name, coin, total_ticket_count
|
||||
*/
|
||||
public function info(Request $request): Response
|
||||
{
|
||||
@@ -88,7 +88,7 @@ class UserController extends OpenController
|
||||
if (empty($user)) {
|
||||
return $this->fail('用户不存在', ReturnCode::NOT_FOUND);
|
||||
}
|
||||
$fields = ['id', 'username', 'phone', 'uid', 'name', 'coin', 'total_draw_count'];
|
||||
$fields = ['id', 'username', 'phone', 'uid', 'name', 'coin', 'total_ticket_count'];
|
||||
$info = [];
|
||||
foreach ($fields as $field) {
|
||||
if (array_key_exists($field, $user)) {
|
||||
|
||||
@@ -29,7 +29,7 @@ class GameLogic
|
||||
* 购买抽奖券
|
||||
* @param int $playerId 玩家ID(即 user_id)
|
||||
* @param int $count 购买档位:1 / 5 / 10
|
||||
* @return array 更新后的 coin, total_draw_count, paid_draw_count, free_draw_count
|
||||
* @return array 更新后的 coin, total_ticket_count, paid_ticket_count, free_ticket_count
|
||||
*/
|
||||
public function buyLotteryTickets(int $playerId, int $count): array
|
||||
{
|
||||
@@ -52,9 +52,9 @@ class GameLogic
|
||||
}
|
||||
|
||||
$coinAfter = $coinBefore - $cost;
|
||||
$totalBefore = (int) ($player->total_draw_count ?? 0);
|
||||
$paidBefore = (int) ($player->paid_draw_count ?? 0);
|
||||
$freeBefore = (int) ($player->free_draw_count ?? 0);
|
||||
$totalBefore = (int) ($player->total_ticket_count ?? 0);
|
||||
$paidBefore = (int) ($player->paid_ticket_count ?? 0);
|
||||
$freeBefore = (int) ($player->free_ticket_count ?? 0);
|
||||
|
||||
Db::transaction(function () use (
|
||||
$player,
|
||||
@@ -70,9 +70,9 @@ class GameLogic
|
||||
$freeBefore
|
||||
) {
|
||||
$player->coin = $coinAfter;
|
||||
$player->total_draw_count = $totalBefore + $addTotal;
|
||||
$player->paid_draw_count = $paidBefore + $addPaid;
|
||||
$player->free_draw_count = $freeBefore + $addFree;
|
||||
$player->total_ticket_count = $totalBefore + $addTotal;
|
||||
$player->paid_ticket_count = $paidBefore + $addPaid;
|
||||
$player->free_ticket_count = $freeBefore + $addFree;
|
||||
$player->save();
|
||||
|
||||
// 钱包流水记录
|
||||
@@ -82,9 +82,9 @@ class GameLogic
|
||||
'type' => self::WALLET_TYPE_BUY_DRAW,
|
||||
'wallet_before' => $coinBefore,
|
||||
'wallet_after' => $coinAfter,
|
||||
'total_draw_count' => $addTotal,
|
||||
'paid_draw_count' => $addPaid,
|
||||
'free_draw_count' => $addFree,
|
||||
'total_ticket_count' => $addTotal,
|
||||
'paid_ticket_count' => $addPaid,
|
||||
'free_ticket_count' => $addFree,
|
||||
'remark' => "购买抽奖券{$addTotal}次(付费{$addPaid}次+赠送{$addFree}次)",
|
||||
]);
|
||||
|
||||
@@ -92,9 +92,9 @@ class GameLogic
|
||||
DicePlayerTicketRecord::create([
|
||||
'player_id' => $playerId,
|
||||
'use_coins' => $cost,
|
||||
'total_draw_count' => $addTotal,
|
||||
'paid_draw_count' => $addPaid,
|
||||
'free_draw_count' => $addFree,
|
||||
'total_ticket_count' => $addTotal,
|
||||
'paid_ticket_count' => $addPaid,
|
||||
'free_ticket_count' => $addFree,
|
||||
'remark' => "购买抽奖券{$addTotal}次(付费{$addPaid}次+赠送{$addFree}次)",
|
||||
]);
|
||||
});
|
||||
@@ -105,9 +105,9 @@ class GameLogic
|
||||
|
||||
return [
|
||||
'coin' => (float) $updated->coin,
|
||||
'total_draw_count' => (int) $updated->total_draw_count,
|
||||
'paid_draw_count' => (int) $updated->paid_draw_count,
|
||||
'free_draw_count' => (int) $updated->free_draw_count,
|
||||
'total_ticket_count' => (int) $updated->total_ticket_count,
|
||||
'paid_ticket_count' => (int) $updated->paid_ticket_count,
|
||||
'free_ticket_count' => (int) $updated->free_ticket_count,
|
||||
];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,8 +54,8 @@ class PlayStartLogic
|
||||
throw new ApiException('当前玩家余额小于DiceRewardConfigMin.real_ev+100无法继续游戏');
|
||||
}
|
||||
|
||||
$paid = (int) ($player->paid_draw_count ?? 0);
|
||||
$free = (int) ($player->free_draw_count ?? 0);
|
||||
$paid = (int) ($player->paid_ticket_count ?? 0);
|
||||
$free = (int) ($player->free_ticket_count ?? 0);
|
||||
if ($paid + $free <= 0) {
|
||||
throw new ApiException('抽奖券不足');
|
||||
}
|
||||
@@ -125,21 +125,21 @@ class PlayStartLogic
|
||||
$coinBefore = (float) $p->coin;
|
||||
$coinAfter = $coinBefore + $winCoin;
|
||||
$p->coin = $coinAfter;
|
||||
$p->total_draw_count = max(0, (int) $p->total_draw_count - 1);
|
||||
$p->total_ticket_count = max(0, (int) $p->total_ticket_count - 1);
|
||||
if ($ticketType === self::LOTTERY_TYPE_PAID) {
|
||||
$p->paid_draw_count = max(0, (int) $p->paid_draw_count - 1);
|
||||
$p->paid_ticket_count = max(0, (int) $p->paid_ticket_count - 1);
|
||||
} else {
|
||||
$p->free_draw_count = max(0, (int) $p->free_draw_count - 1);
|
||||
$p->free_ticket_count = max(0, (int) $p->free_ticket_count - 1);
|
||||
}
|
||||
|
||||
// 若本局中奖档位为 T5,则额外赠送 1 次免费抽奖次数(总次数也 +1),并记录抽奖券获取记录
|
||||
if ($isTierT5) {
|
||||
$p->free_draw_count = (int) $p->free_draw_count + 1;
|
||||
$p->total_draw_count = (int) $p->total_draw_count + 1;
|
||||
$p->free_ticket_count = (int) $p->free_ticket_count + 1;
|
||||
$p->total_ticket_count = (int) $p->total_ticket_count + 1;
|
||||
|
||||
DicePlayerTicketRecord::create([
|
||||
'player_id' => $playerId,
|
||||
'free_draw_count' => 1,
|
||||
'free_ticket_count' => 1,
|
||||
'remark' => '中奖结果为T5',
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -109,7 +109,7 @@ class LotteryService
|
||||
return $tiers[4];
|
||||
}
|
||||
|
||||
/** 按 paid_draw_count 与 free_draw_count 权重随机抽取 0=付费 1=免费 */
|
||||
/** 按 paid_ticket_count 与 free_ticket_count 权重随机抽取 0=付费 1=免费 */
|
||||
public static function drawTicketType(int $paid, int $free): int
|
||||
{
|
||||
if ($paid <= 0 && $free <= 0) {
|
||||
|
||||
Reference in New Issue
Block a user