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