diff --git a/resources/views/admin/platform_orders/index.blade.php b/resources/views/admin/platform_orders/index.blade.php
index a743191..b61a916 100644
--- a/resources/views/admin/platform_orders/index.blade.php
+++ b/resources/views/admin/platform_orders/index.blade.php
@@ -301,6 +301,7 @@
同步时间 |
失败原因 |
最近批量同步 |
+ 最近批量生效 |
操作 |
@@ -390,6 +391,37 @@
-
@endif
+
+ @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 !== '')
+ {{ $batchMarkAt }}
+ 管理员:{{ $batchMarkAdminId ?: '-' }}
+ @else
+ -
+ @endif
+ |
@php
$canActivate = ($order->payment_status === 'paid') && ($order->status === 'activated');
diff --git a/tests/Feature/AdminPlatformOrderTest.php b/tests/Feature/AdminPlatformOrderTest.php
index 13bb7a1..739d8cc 100644
--- a/tests/Feature/AdminPlatformOrderTest.php
+++ b/tests/Feature/AdminPlatformOrderTest.php
@@ -33,6 +33,7 @@ class AdminPlatformOrderTest extends TestCase
->assertSee('平台订单列表')
->assertSee('失败原因')
->assertSee('最近批量同步')
+ ->assertSee('最近批量生效')
->assertSee('最近24小时批量同步过')
->assertSee('可同步订单')
->assertSee('近24小时批量同步')
@@ -230,6 +231,11 @@ class AdminPlatformOrderTest extends TestCase
'synced_at' => now()->toDateTimeString(),
'admin_id' => 1,
],
+ 'batch_mark_activated' => [
+ 'at' => '2026-03-10 00:00:01',
+ 'admin_id' => 1,
+ 'scope' => 'filtered',
+ ],
'audit' => [
[
'action' => 'batch_activate_subscription',
@@ -244,6 +250,7 @@ class AdminPlatformOrderTest extends TestCase
$this->get('/admin/platform-orders')
->assertOk()
->assertSee('2026-03-10 00:00:00')
+ ->assertSee('2026-03-10 00:00:01')
->assertSee('管理员:1');
// 最近24小时批量同步筛选:构造一条近24h,一条超过24h
|