feat(gov): 批量同步订阅审计补充 subscription_id/filters/note
This commit is contained in:
@@ -858,9 +858,18 @@ class PlatformOrderController extends Controller
|
||||
$failed = 0;
|
||||
$failedReasonCounts = [];
|
||||
|
||||
// 筛选摘要:用于审计记录(避免每条订单都手写拼接,且便于追溯本次批量处理口径)
|
||||
$filterSummaryParts = [];
|
||||
foreach ($filters as $k => $v) {
|
||||
if ((string) $v !== '') {
|
||||
$filterSummaryParts[] = $k . '=' . (string) $v;
|
||||
}
|
||||
}
|
||||
$filterSummary = implode('&', $filterSummaryParts);
|
||||
|
||||
foreach ($orders as $orderRow) {
|
||||
try {
|
||||
$service->activateOrder($orderRow->id, $admin->id);
|
||||
$subscription = $service->activateOrder($orderRow->id, $admin->id);
|
||||
|
||||
// 轻量审计:记录批量同步动作(方便追溯)
|
||||
$order = PlatformOrder::query()->find($orderRow->id);
|
||||
@@ -873,6 +882,9 @@ class PlatformOrderController extends Controller
|
||||
'scope' => $scope,
|
||||
'at' => $nowStr,
|
||||
'admin_id' => $admin->id,
|
||||
'subscription_id' => $subscription->id,
|
||||
'filters' => $filterSummary,
|
||||
'note' => '批量同步订阅(limit=' . $limit . ', matched=' . $matchedTotal . ', processed=' . $processed . ')',
|
||||
];
|
||||
data_set($meta, 'audit', $audit);
|
||||
|
||||
|
||||
@@ -85,6 +85,9 @@ class AdminPlatformOrderBatchActivateSubscriptionsTest extends TestCase
|
||||
$this->assertNotNull($syncable->site_subscription_id);
|
||||
$this->assertNotEmpty(data_get($syncable->meta, 'subscription_activation.subscription_id'));
|
||||
$this->assertSame('batch_activate_subscription', data_get($syncable->meta, 'audit.0.action'));
|
||||
$this->assertNotEmpty(data_get($syncable->meta, 'audit.0.subscription_id'));
|
||||
$this->assertNotEmpty(data_get($syncable->meta, 'audit.0.filters'));
|
||||
$this->assertNotEmpty(data_get($syncable->meta, 'audit.0.note'));
|
||||
}
|
||||
|
||||
public function test_platform_admin_batch_activate_records_failure_reason_and_summary(): void
|
||||
|
||||
Reference in New Issue
Block a user