diff --git a/app/Http/Controllers/Admin/PlatformOrderController.php b/app/Http/Controllers/Admin/PlatformOrderController.php index e485d42..c1cc85e 100644 --- a/app/Http/Controllers/Admin/PlatformOrderController.php +++ b/app/Http/Controllers/Admin/PlatformOrderController.php @@ -275,6 +275,9 @@ class PlatformOrderController extends Controller } return $sum; }), + // 对账差额:回执总额 - 订单已付总额(当前筛选范围) + 'reconciliation_delta' => (float) ($this->sumReceiptAmount((clone $baseQuery)->get()) - (float) ((clone $baseQuery)->sum('paid_amount') ?: 0)), + 'reconciliation_delta_note' => '回执总额 - 订单已付总额', ], 'failedReasonStats' => $failedReasonStats, ]); @@ -1066,6 +1069,24 @@ class PlatformOrderController extends Controller }); } + protected function sumReceiptAmount($orders): float + { + $total = 0.0; + foreach ($orders as $o) { + $t = (float) (data_get($o->meta, 'payment_summary.total_amount') ?? 0); + if ($t > 0) { + $total += $t; + continue; + } + + $receipts = (array) (data_get($o->meta, 'payment_receipts', []) ?? []); + foreach ($receipts as $r) { + $total += (float) (data_get($r, 'amount') ?? 0); + } + } + return $total; + } + protected function statusLabels(): array { return [ diff --git a/resources/views/admin/platform_orders/index.blade.php b/resources/views/admin/platform_orders/index.blade.php index ede68a0..52152a2 100644 --- a/resources/views/admin/platform_orders/index.blade.php +++ b/resources/views/admin/platform_orders/index.blade.php @@ -135,6 +135,15 @@