From 174aaa570842bce523d0fd32d035b958b06aeac6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=90=9D=E5=8D=9C?= Date: Wed, 11 Mar 2026 06:35:49 +0000 Subject: [PATCH] refactor: platform order show uses model refundTotal/isRefundInconsistent --- .../admin/platform_orders/show.blade.php | 21 +++++++++---------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/resources/views/admin/platform_orders/show.blade.php b/resources/views/admin/platform_orders/show.blade.php index 7d581e8..bb8200a 100644 --- a/resources/views/admin/platform_orders/show.blade.php +++ b/resources/views/admin/platform_orders/show.blade.php @@ -61,16 +61,10 @@ } $refundCount = (int) (data_get($order->meta, 'refund_summary.count') ?? 0); - $refundTotal = (float) (data_get($order->meta, 'refund_summary.total_amount') ?? 0); + $refundTotal = (float) $order->refundTotal(); if ($refundCount <= 0) { $refundCount = count($refundReceiptsRaw); } - if ($refundTotal <= 0) { - $refundTotal = 0.0; - foreach ($refundReceiptsRaw as $r) { - $refundTotal += (float) (data_get($r, 'amount') ?? 0); - } - } @endphp 回执数 / 回执总额{{ $receiptCount }} / ¥{{ number_format($receiptTotal, 2) }} 退款笔数 / 退款总额{{ $refundCount }} / ¥{{ number_format($refundTotal, 2) }} @@ -90,6 +84,9 @@ $canFixRefundedButNotEnough = $paidAmountFloat > 0 && $order->payment_status === 'refunded' && (round($refundTotal * 100) + 1) < round($paidAmountFloat * 100); + + // 统一口径:与 refund_inconsistent 筛选一致(模型方法) + $isRefundInconsistent = (bool) $order->isRefundInconsistent(); @endphp @if($canMarkRefunded || $canFixRefundedButNotEnough)
@@ -124,10 +121,12 @@
@endif - @if($order->payment_status === 'refunded' && ($refundTotal + 0.01) < $paidAmountFloat) -
提示:当前订单状态为「已退款」,但退款总额小于已付金额,可能存在数据不一致,请核对退款轨迹与订单金额。
- @elseif($order->payment_status !== 'refunded' && $paidAmountFloat > 0 && $refundTotal >= $paidAmountFloat) -
提示:退款总额已达到/超过已付金额,建议核对是否应将支付状态调整为「已退款」。
+ @if($isRefundInconsistent) + @if($order->payment_status === 'refunded') +
提示:当前订单状态为「已退款」,但退款总额小于已付金额,可能存在数据不一致,请核对退款轨迹与订单金额。
+ @else +
提示:退款总额已达到/超过已付金额,建议核对是否应将支付状态调整为「已退款」。
+ @endif @endif @php