feat: 新增赔率版本和玩法配置版本的删除接口,支持删除草稿版本

This commit is contained in:
2026-05-15 15:30:40 +08:00
parent 5398af0a55
commit c0cd8be0fb
18 changed files with 574 additions and 125 deletions

View File

@@ -41,12 +41,12 @@ final class TicketPlacementService
$expectedVersions = null;
}
$order = DB::transaction(function () use (
$placement = DB::transaction(function () use (
$player,
$currencyCode,
$payload,
$expectedVersions
): TicketOrder {
): array {
$draw = Draw::query()
->where('draw_no', (string) $payload['draw_id'])
->lockForUpdate()
@@ -103,7 +103,7 @@ final class TicketPlacementService
'client_trace_id' => $payload['client_trace_id'] ?? null,
]);
$this->ticketWalletService->deduct($player, $currencyCode, $totalActualDeduct, $order);
$balanceAfter = $this->ticketWalletService->deduct($player, $currencyCode, $totalActualDeduct, $order);
foreach ($evaluatedLines as $evaluated) {
$item = TicketItem::query()->create([
@@ -157,9 +157,15 @@ final class TicketPlacementService
$this->jackpotContribution->recordFromPlacedTicketItem($item, $draw, $currencyCode);
}
return $order;
return [
'order' => $order,
'balance_after' => $balanceAfter,
];
});
$order = $placement['order'];
$balanceAfter = $placement['balance_after'];
$draw = Draw::query()->whereKey($order->draw_id)->firstOrFail();
return [
@@ -174,6 +180,7 @@ final class TicketPlacementService
'total_actual_deduct' => (int) $order->total_actual_deduct,
'total_estimated_payout' => (int) $order->total_estimated_payout,
],
'balance_after' => $balanceAfter,
'items' => TicketItem::query()
->where('order_id', $order->id)
->orderBy('id')