feat(platform-orders): 列表展示最近批量生效信息

This commit is contained in:
萝卜
2026-03-10 15:27:44 +00:00
parent 852a6dbf3e
commit 1792d0bffd
2 changed files with 39 additions and 0 deletions

View File

@@ -301,6 +301,7 @@
<th>同步时间</th>
<th>失败原因</th>
<th>最近批量同步</th>
<th>最近批量生效</th>
<th>操作</th>
</tr>
</thead>
@@ -390,6 +391,37 @@
<span class="muted">-</span>
@endif
</td>
<td>
@php
// 优先使用扁平字段 meta.batch_mark_activated便于筛选/统计,也避免遍历 audit
$batchMarkActivated = (array) (data_get($order->meta, 'batch_mark_activated', []) ?? []);
$batchMarkAt = (string) (data_get($batchMarkActivated, 'at') ?? '');
$batchMarkAdminId = data_get($batchMarkActivated, 'admin_id');
// 兼容旧数据:若尚未写入 batch_mark_activated则回退从 meta.audit[] 中取最近一次批量生效记录
$audit2 = (array) (data_get($order->meta, 'audit', []) ?? []);
$lastBatchMark = null;
if ($batchMarkAt === '' && count($audit2) > 0) {
foreach (array_reverse($audit2) as $item) {
if ((string) data_get($item, 'action') === 'batch_mark_activated') {
$lastBatchMark = $item;
break;
}
}
}
if ($batchMarkAt === '' && $lastBatchMark) {
$batchMarkAt = (string) (data_get($lastBatchMark, 'at') ?? '');
$batchMarkAdminId = data_get($lastBatchMark, 'admin_id');
}
@endphp
@if($batchMarkAt !== '')
<div>{{ $batchMarkAt }}</div>
<div class="muted">管理员:{{ $batchMarkAdminId ?: '-' }}</div>
@else
<span class="muted">-</span>
@endif
</td>
<td>
@php
$canActivate = ($order->payment_status === 'paid') && ($order->status === 'activated');