平台订单:补齐 BMPA 单订单清理入口(路由+控制器+详情页按钮+测试)

This commit is contained in:
萝卜
2026-03-14 14:13:30 +00:00
parent f91be76e08
commit 98073f2b71
6 changed files with 202 additions and 0 deletions

View File

@@ -1732,6 +1732,34 @@ class PlatformOrderController extends Controller
return redirect()->back()->with('success', '已清除该订单的同步失败标记。');
}
public function clearBmpaError(Request $request, PlatformOrder $order): RedirectResponse
{
$admin = $this->ensurePlatformAdmin($request);
$meta = (array) ($order->meta ?? []);
if (! data_get($meta, 'batch_mark_paid_and_activate_error')) {
return redirect()->back()->with('warning', '当前订单暂无 BMPA 失败标记,无需清理。');
}
data_forget($meta, 'batch_mark_paid_and_activate_error');
// 轻量审计:记录清理动作(不做独立表,先落 meta便于排查
$audit = (array) (data_get($meta, 'audit', []) ?? []);
$audit[] = [
'action' => 'clear_bmpa_error',
'scope' => 'single',
'at' => now()->toDateTimeString(),
'admin_id' => $admin->id,
'note' => '手动点击订单详情【清除 BMPA 失败标记】',
];
data_set($meta, 'audit', $audit);
$order->meta = $meta;
$order->save();
return redirect()->back()->with('success', '已清除该订单的 BMPA 失败标记。');
}
public function clearSyncErrors(Request $request): RedirectResponse
{
$this->ensurePlatformAdmin($request);