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