fix(governance-ui): align clear error tool guards with backend

This commit is contained in:
萝卜
2026-03-16 22:37:46 +08:00
parent d13ada0ed8
commit 502c397ec2
2 changed files with 71 additions and 2 deletions

View File

@@ -120,10 +120,20 @@ class PlatformOrderToolsGuard
*/
public static function clearSyncErrorsReason(array $filters): string
{
// 口径对齐后端安全阀:清理「同步失败」标记必须在失败治理集合内执行,且不得叠加与失败集合互斥的筛选。
if ((string) ($filters['sync_status'] ?? '') !== 'failed' && (string) ($filters['fail_only'] ?? '') === '') {
return '建议先筛选「同步失败」集合sync_status=failed后再执行清理避免误清理。';
}
if ((string) ($filters['syncable_only'] ?? '') === '1') {
return '当前已勾选「只看可同步」:该集合与「同步失败」互斥。请先取消只看可同步或切到失败集合后再清理。';
}
$syncStatus = (string) ($filters['sync_status'] ?? '');
if ($syncStatus !== '' && $syncStatus !== 'failed') {
return '当前为「清理同步失败标记」动作:若需要筛选同步状态,请使用 sync_status=failed或清空该筛选后再执行。';
}
return '';
}
@@ -132,10 +142,19 @@ class PlatformOrderToolsGuard
*/
public static function clearBmpaErrorsReason(array $filters): string
{
// 口径对齐后端安全阀:清理 BMPA 失败标记必须先锁定 BMPA 治理集合,且不得叠加与 BMPA 治理无关/互斥的筛选。
if ((string) ($filters['syncable_only'] ?? '') === '1') {
return '当前已勾选「只看可同步」该集合与「BMPA失败」治理集合无关。请先取消只看可同步或切到 BMPA 失败集合后再清理。';
}
if ((string) ($filters['fail_only'] ?? '') === '1' || trim((string) ($filters['sync_error_keyword'] ?? '')) !== '') {
return '当前筛选包含「同步失败/失败原因」:该集合用于订阅同步治理,请切到 BMPA 失败集合后再清理 BMPA 失败标记。';
}
if ((string) ($filters['bmpa_failed_only'] ?? '') === ''
&& (string) ($filters['bmpa_error_keyword'] ?? '') === ''
&& trim((string) ($filters['bmpa_error_keyword'] ?? '')) === ''
&& (string) ($filters['batch_mark_paid_and_activate_24h'] ?? '') === '') {
return '建议先筛选「BMPA失败」集合bmpa_failed_only=1 或失败原因关键词)后再执行清理,避免误清理。';
return '建议先筛选「BMPA失败」集合bmpa_failed_only=1 或失败原因关键词,或勾选 batch_mark_paid_and_activate_24h)后再执行清理,避免误清理。';
}
return '';