mirror of
https://github.com/NNTmux/newznab-tmux.git
synced 2026-08-29 01:01:24 +00:00
Add payments summary
This commit is contained in:
@@ -37,6 +37,8 @@ class AdminPaymentController extends BasePageController
|
||||
'email' => $request->string('email')->trim()->value(),
|
||||
'payment_status' => $request->string('payment_status')->trim()->value(),
|
||||
'invoice_status' => $request->string('invoice_status')->trim()->value(),
|
||||
'start_date' => $request->string('start_date')->trim()->value(),
|
||||
'end_date' => $request->string('end_date')->trim()->value(),
|
||||
];
|
||||
|
||||
$sort = $request->string('sort')->value();
|
||||
@@ -52,11 +54,31 @@ class AdminPaymentController extends BasePageController
|
||||
->paginate((int) config('nntmux.items_per_page'))
|
||||
->withQueryString();
|
||||
|
||||
$summary = Payment::query()
|
||||
->filter($filters)
|
||||
->selectRaw("
|
||||
COALESCE(NULLIF(payment_method, ''), 'Unknown') AS method,
|
||||
COUNT(*) AS tx_count,
|
||||
COALESCE(SUM(CAST(NULLIF(invoice_amount, '') AS DECIMAL(20,8))), 0) AS invoice_total,
|
||||
COALESCE(SUM(CAST(NULLIF(payment_value, '') AS DECIMAL(20,8))), 0) AS value_total
|
||||
")
|
||||
->groupBy('method')
|
||||
->orderBy('method')
|
||||
->get();
|
||||
|
||||
$summaryTotals = [
|
||||
'tx_count' => (int) $summary->sum('tx_count'),
|
||||
'invoice_total' => (float) $summary->sum(fn ($r) => (float) $r->invoice_total),
|
||||
'value_total' => (float) $summary->sum(fn ($r) => (float) $r->value_total),
|
||||
];
|
||||
|
||||
$paymentStatuses = BtcPaymentController::paymentStatusesForAdminFilter();
|
||||
$invoiceStatuses = BtcPaymentController::invoiceStatusesForAdminFilter();
|
||||
|
||||
$this->viewData = array_merge($this->viewData, [
|
||||
'payments' => $payments,
|
||||
'summary' => $summary,
|
||||
'summaryTotals' => $summaryTotals,
|
||||
'filters' => $filters,
|
||||
'sort' => $sort,
|
||||
'order' => $order,
|
||||
|
||||
Reference in New Issue
Block a user