feat: 添加货币格式化功能,更新多个控制器以支持金额和余额的格式化显示,增强 API 响应的可读性

This commit is contained in:
2026-05-13 11:59:50 +08:00
parent 805847954d
commit d8e9fa5f4c
8 changed files with 60 additions and 22 deletions

View File

@@ -8,6 +8,7 @@ use App\Support\ApiResponse;
use Illuminate\Http\Request;
use App\Support\PaginationTrait;
use Illuminate\Http\JsonResponse;
use App\Support\CurrencyFormatter;
use App\Http\Controllers\Controller;
/**
@@ -42,6 +43,11 @@ final class TicketItemsIndexController extends Controller
$paginator = $query->paginate(perPage: $perPage, page: $page);
$items = collect($paginator->items())->map(function (TicketItem $row): array {
$totalBet = (int) $row->total_bet_amount;
$actualDeduct = (int) $row->actual_deduct_amount;
$winAmount = (int) $row->win_amount;
$jackpotWin = (int) $row->jackpot_win_amount;
return [
'ticket_no' => $row->ticket_no,
'order_no' => $row->order?->order_no,
@@ -49,11 +55,15 @@ final class TicketItemsIndexController extends Controller
'currency_code' => $row->order?->currency_code,
'play_code' => $row->play_code,
'original_number' => $row->original_number,
'total_bet_amount' => (int) $row->total_bet_amount,
'actual_deduct_amount' => (int) $row->actual_deduct_amount,
'total_bet_amount' => $totalBet,
'total_bet_amount_formatted' => CurrencyFormatter::fromMinor($totalBet),
'actual_deduct_amount' => $actualDeduct,
'actual_deduct_amount_formatted' => CurrencyFormatter::fromMinor($actualDeduct),
'status' => $row->status,
'win_amount' => (int) $row->win_amount,
'jackpot_win_amount' => (int) $row->jackpot_win_amount,
'win_amount' => $winAmount,
'win_amount_formatted' => CurrencyFormatter::fromMinor($winAmount),
'jackpot_win_amount' => $jackpotWin,
'jackpot_win_amount_formatted' => CurrencyFormatter::fromMinor($jackpotWin),
'placed_at' => $row->order?->created_at?->toIso8601String(),
'updated_at' => $row->updated_at?->toIso8601String(),
];