refactor(platform-orders): compute tool guards once on index

This commit is contained in:
萝卜
2026-03-17 11:05:31 +08:00
parent b00ccd6fbd
commit a1c161b300

View File

@@ -835,6 +835,11 @@
</div>
@endif
@php
// 工具治理口径:统一只计算一次,避免多处重复调用 forIndex() 导致口径漂移/维护成本上升。
$toolGuards = $toolGuards ?? \App\Support\PlatformOrderToolsGuard::forIndex((array) ($filters ?? []));
@endphp
<div class="tool-grid">
<div class="tool-group focus-box">
<div class="tool-group-title">导出</div>
@@ -856,7 +861,6 @@
<div class="tool-group focus-box" id="batch-activate-subscriptions">
<div class="tool-group-title">批量同步订阅</div>
@php
$toolGuards = $toolGuards ?? \App\Support\PlatformOrderToolsGuard::forIndex((array) ($filters ?? []));
$batchActivateBlocked = (bool) ($toolGuards['batch_activate_subscriptions']['blocked'] ?? false);
$batchActivateBlockedReason = (string) ($toolGuards['batch_activate_subscriptions']['reason'] ?? '');
@endphp
@@ -913,7 +917,6 @@
<div class="tool-group focus-box">
<div class="tool-group-title">批量标记支付并生效BMPA</div>
@php
$toolGuards = $toolGuards ?? \App\Support\PlatformOrderToolsGuard::forIndex((array) ($filters ?? []));
$batchBmpaBlocked = (bool) ($toolGuards['batch_bmpa']['blocked'] ?? false);
$batchBmpaBlockedReason = (string) ($toolGuards['batch_bmpa']['reason'] ?? '');
@endphp
@@ -970,7 +973,6 @@
<div class="tool-group focus-box">
<div class="tool-group-title">批量仅标记为已生效</div>
@php
$toolGuards = $toolGuards ?? \App\Support\PlatformOrderToolsGuard::forIndex((array) ($filters ?? []));
$batchMarkActivatedBlocked = (bool) ($toolGuards['batch_mark_activated']['blocked'] ?? false);
$batchMarkActivatedBlockedReason = (string) ($toolGuards['batch_mark_activated']['reason'] ?? '');
@endphp
@@ -1029,7 +1031,6 @@
<div class="tool-group focus-box">
<div class="tool-group-title">清理失败标记:同步订阅</div>
@php
$toolGuards = $toolGuards ?? \App\Support\PlatformOrderToolsGuard::forIndex((array) ($filters ?? []));
$clearSyncBlocked = (bool) ($toolGuards['clear_sync_errors']['blocked'] ?? false);
$clearSyncBlockedReason = (string) ($toolGuards['clear_sync_errors']['reason'] ?? '');
@endphp
@@ -1076,7 +1077,6 @@
<div class="tool-group focus-box">
<div class="tool-group-title">清理失败标记:批量 BMPA</div>
@php
$toolGuards = $toolGuards ?? \App\Support\PlatformOrderToolsGuard::forIndex((array) ($filters ?? []));
$clearBmpaBlocked = (bool) ($toolGuards['clear_bmpa_errors']['blocked'] ?? false);
$clearBmpaBlockedReason = (string) ($toolGuards['clear_bmpa_errors']['reason'] ?? '');
@endphp