load(['draw:id,draw_no,business_date,status', 'resultBatch:id,result_version,status']); $financial = SettlementBatchFinancialSummary::forBatch($batch); return ApiResponse::success([ 'id' => (int) $batch->id, 'draw_id' => (int) $batch->draw_id, 'draw_no' => $batch->draw?->draw_no, 'currency_code' => $financial['currency_code'], 'draw_status' => $batch->draw?->status, 'result_batch_id' => (int) $batch->result_batch_id, 'result_batch_version' => $batch->resultBatch?->result_version, 'result_batch_status' => $batch->resultBatch?->status, 'settle_version' => (int) $batch->settle_version, 'status' => $batch->status, 'review_status' => $batch->review_status, 'reviewed_by' => $batch->reviewed_by, 'reviewed_at' => $batch->reviewed_at?->toIso8601String(), 'review_remark' => $batch->review_remark, 'paid_at' => $batch->paid_at?->toIso8601String(), 'total_ticket_count' => (int) $batch->total_ticket_count, 'total_win_count' => (int) $batch->total_win_count, 'total_bet_amount' => $financial['total_bet_amount'], 'total_actual_deduct' => $financial['total_actual_deduct'], 'total_payout_amount' => (int) $batch->total_payout_amount, 'total_jackpot_payout_amount' => (int) $batch->total_jackpot_payout_amount, 'platform_profit' => $financial['platform_profit'], 'started_at' => $batch->started_at?->toIso8601String(), 'finished_at' => $batch->finished_at?->toIso8601String(), 'created_at' => $batch->created_at?->toIso8601String(), ]); } }