ui(platform-orders): render audit snapshot key/value when no paid/refund fields

This commit is contained in:
萝卜
2026-03-17 12:00:47 +08:00
parent ad72a3d9ff
commit 549cf4f5ac

View File

@@ -856,7 +856,10 @@
@php
$snap = (array) (data_get($item, 'snapshot', []) ?? []);
// 统一快照展示:优先 paid/refund剩余字段走 key=value无 snapshot 则降级展示 subscription_id/filters。
// 统一快照展示:
// 1) 若存在 paid/refund 快照字段:优先格式化成 money保持历史口径与测试稳定
// 2) 否则若 snapshot 非空:展示 key=value用于回执审计等
// 3) 否则降级展示 subscription_id/filters。
$pairs = [];
$snapPaid = data_get($snap, 'paid_amount');
@@ -877,6 +880,18 @@
$v = $v ? 'true' : 'false';
}
$v = (string) $v;
$v = mb_substr($v, 0, 80);
$pairs[] = (string) $k . '=' . $v;
}
} elseif (count($snap) > 0) {
foreach ($snap as $k => $v) {
if (is_array($v)) {
$v = json_encode($v, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
} elseif (is_bool($v)) {
$v = $v ? 'true' : 'false';
}
$v = (string) $v;
$v = mb_substr($v, 0, 80);
$pairs[] = (string) $k . '=' . $v;