chore(governance): block batch mark activated when filters conflict

This commit is contained in:
萝卜
2026-03-16 21:46:08 +08:00
parent 2f57dc3a70
commit 314563a8d5
2 changed files with 182 additions and 0 deletions

View File

@@ -1852,6 +1852,17 @@ class PlatformOrderController extends Controller
if (($filters['sync_status'] ?? '') !== 'unsynced') {
return redirect()->back()->with('warning', '为避免把同步失败等异常单混入,请先锁定「同步状态=未同步(sync_status=unsynced)」(建议用快捷筛选「待生效」)再执行批量仅标记为已生效。');
}
// 互斥筛选阻断:避免“待生效”批量动作在其它治理集合上误触(或误以为会命中失败单/已同步单/可同步单)。
if ((string) ($filters['fail_only'] ?? '') === '1' || trim((string) ($filters['sync_error_keyword'] ?? '')) !== '') {
return redirect()->back()->with('warning', '当前筛选包含「同步失败/失败原因」治理集合:与“待生效(unsynced)”互斥。请先切回待生效集合后再执行批量仅标记为已生效。');
}
if ((string) ($filters['synced_only'] ?? '') === '1') {
return redirect()->back()->with('warning', '当前已勾选「只看已同步」:该集合与“待生效(unsynced)”互斥。请先取消该筛选后再执行批量仅标记为已生效。');
}
if ((string) ($filters['syncable_only'] ?? '') === '1') {
return redirect()->back()->with('warning', '当前已勾选「只看可同步」:该集合语义为“已生效(activated)+未同步”,与本动作处理的“待处理(pending)”互斥。请先取消只看可同步后再执行。');
}
}
// 防误操作scope=all 需要二次确认