feat(platform-orders): 列表摘要增加对账差额视图
This commit is contained in:
@@ -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 [
|
||||
|
||||
Reference in New Issue
Block a user