details() ->join('ticket_items', 'ticket_items.id', '=', 'ticket_settlement_details.ticket_item_id') ->join('ticket_orders', 'ticket_orders.id', '=', 'ticket_items.order_id') ->selectRaw('COALESCE(SUM(ticket_items.total_bet_amount), 0) as total_bet_amount') ->selectRaw('COALESCE(SUM(ticket_items.actual_deduct_amount), 0) as total_actual_deduct') ->selectRaw('MIN(ticket_orders.currency_code) as currency_code') ->first(); $totalBet = (int) ($totals?->total_bet_amount ?? 0); $totalActualDeduct = (int) ($totals?->total_actual_deduct ?? 0); $totalPayout = (int) $batch->total_payout_amount; return [ 'total_bet_amount' => $totalBet, 'total_actual_deduct' => $totalActualDeduct, 'platform_profit' => $totalActualDeduct - $totalPayout, 'currency_code' => is_string($totals?->currency_code) && $totals->currency_code !== '' ? $totals->currency_code : null, ]; } }