refactor: export ledger snapshot reuse model totals

This commit is contained in:
萝卜
2026-03-13 21:41:12 +00:00
parent a4fe98019a
commit 362e72986e

View File

@@ -458,23 +458,14 @@ class PlatformOrderController extends Controller
fputcsv($out, ['payable_amount', number_format((float) ($order->payable_amount ?? 0), 2, '.', '')]);
fputcsv($out, ['paid_amount', number_format((float) ($order->paid_amount ?? 0), 2, '.', '')]);
// 汇总字段:对账/退款快速口径
$receiptTotal = 0.0;
foreach ($paymentReceipts as $r) {
$receiptTotal += (float) (data_get($r, 'amount') ?? 0);
}
$refundTotal = 0.0;
foreach ($refundReceipts as $r) {
$refundTotal += (float) (data_get($r, 'amount') ?? 0);
}
// 汇总字段:对账/退款快速口径(复用模型统一口径,避免控制器内重复计算导致不一致)
$receiptTotal = (float) $order->receiptTotal();
$refundTotal = (float) $order->refundTotal();
$delta = $receiptTotal - (float) ($order->paid_amount ?? 0);
$tol = (float) config('saasshop.amounts.tolerance', 0.01);
$tolCents = (int) round($tol * 100);
$tolCents = max(1, $tolCents);
$deltaCents = (int) round($delta * 100);
$reconcileMismatch = $receiptTotal > 0 && abs($deltaCents) >= $tolCents;
$reconcileMismatch = (bool) $order->isReconcileMismatch();
fputcsv($out, ['receipt_total', number_format($receiptTotal, 2, '.', '')]);
fputcsv($out, ['refund_total', number_format($refundTotal, 2, '.', '')]);