diff --git a/app/Http/Controllers/Admin/PlatformOrderController.php b/app/Http/Controllers/Admin/PlatformOrderController.php index cc55c45..3766ad4 100644 --- a/app/Http/Controllers/Admin/PlatformOrderController.php +++ b/app/Http/Controllers/Admin/PlatformOrderController.php @@ -282,7 +282,16 @@ class PlatformOrderController extends Controller 'partially_refunded_orders' => (clone $baseQuery)->where('payment_status', 'partially_refunded')->count(), 'refunded_orders' => (clone $baseQuery)->where('payment_status', 'refunded')->count(), 'total_refunded_amount' => $totalRefundedAmount, - 'receipt_orders' => (clone $baseQuery)->whereRaw("JSON_EXTRACT(meta, '$.payment_receipts[0].amount') IS NOT NULL")->count(), + 'receipt_orders' => (clone $baseQuery) + ->where(function (Builder $q) { + $q->whereRaw("JSON_EXTRACT(meta, '$.payment_summary.total_amount') IS NOT NULL") + ->orWhereRaw("JSON_EXTRACT(meta, '$.payment_receipts[0].amount') IS NOT NULL"); + }) + ->count(), + 'no_receipt_orders' => (clone $baseQuery) + ->whereRaw("JSON_EXTRACT(meta, '$.payment_summary.total_amount') IS NULL") + ->whereRaw("JSON_EXTRACT(meta, '$.payment_receipts[0].amount') IS NULL") + ->count(), 'total_receipt_amount' => $totalReceiptAmount, // 对账差额:回执总额 - 订单已付总额(当前筛选范围) 'reconciliation_delta' => (float) ($totalReceiptAmount - $totalPaidAmount), diff --git a/resources/views/admin/platform_orders/index.blade.php b/resources/views/admin/platform_orders/index.blade.php index 9e0354a..feae831 100644 --- a/resources/views/admin/platform_orders/index.blade.php +++ b/resources/views/admin/platform_orders/index.blade.php @@ -25,6 +25,8 @@ 已退款 + 无回执 + 对账不一致 @@ -144,7 +146,12 @@

有回执订单 / 回执总额

{{ $summaryStats['receipt_orders'] ?? 0 }} / ¥{{ number_format((float) ($summaryStats['total_receipt_amount'] ?? 0), 2) }}
-
基于 meta.payment_summary.total_amount(缺省回退汇总)
+
有回执口径:payment_summary.total_amount 存在或 payment_receipts 有记录
+
+
+

无回执订单

+
{{ $summaryStats['no_receipt_orders'] ?? 0 }}
+
无 payment_summary 且无 payment_receipts

对账差额