diff --git a/app/Http/Controllers/Admin/PlatformOrderController.php b/app/Http/Controllers/Admin/PlatformOrderController.php index d333611..e0a5c71 100644 --- a/app/Http/Controllers/Admin/PlatformOrderController.php +++ b/app/Http/Controllers/Admin/PlatformOrderController.php @@ -138,6 +138,8 @@ class PlatformOrderController extends Controller // 精确过滤:订阅ID(用于从订阅详情页跳转到平台订单列表时锁定范围) 'site_subscription_id' => trim((string) $request->query('site_subscription_id', '')), 'fail_only' => (string) $request->query('fail_only', ''), + // 只看批量“标记支付并生效”失败:meta.batch_mark_paid_and_activate_error.message 存在 + 'bmpa_failed_only' => (string) $request->query('bmpa_failed_only', ''), 'synced_only' => (string) $request->query('synced_only', ''), 'sync_status' => trim((string) $request->query('sync_status', '')), 'keyword' => trim((string) $request->query('keyword', '')), @@ -819,6 +821,8 @@ class PlatformOrderController extends Controller // 精确过滤:订阅ID(用于从订阅详情页跳转到平台订单列表时锁定范围) 'site_subscription_id' => trim((string) $request->query('site_subscription_id', '')), 'fail_only' => (string) $request->query('fail_only', ''), + // 只看批量“标记支付并生效”失败:meta.batch_mark_paid_and_activate_error.message 存在 + 'bmpa_failed_only' => (string) $request->query('bmpa_failed_only', ''), 'synced_only' => (string) $request->query('synced_only', ''), 'sync_status' => trim((string) $request->query('sync_status', '')), 'keyword' => trim((string) $request->query('keyword', '')), @@ -1533,6 +1537,10 @@ class PlatformOrderController extends Controller // 只看同步失败:meta.subscription_activation_error.message 存在即视为失败 $builder->whereRaw("JSON_EXTRACT(meta, '$.subscription_activation_error.message') IS NOT NULL"); }) + ->when(($filters['bmpa_failed_only'] ?? '') !== '', function (Builder $builder) { + // 只看批量“标记支付并生效”失败:meta.batch_mark_paid_and_activate_error.message 存在即视为失败 + $builder->whereRaw("JSON_EXTRACT(meta, '$.batch_mark_paid_and_activate_error.message') IS NOT NULL"); + }) ->when(($filters['synced_only'] ?? '') !== '', function (Builder $builder) { // 只看已同步:meta.subscription_activation.subscription_id 存在即视为已同步 $builder->whereRaw("JSON_EXTRACT(meta, '$.subscription_activation.subscription_id') IS NOT NULL"); diff --git a/resources/views/admin/platform_orders/index.blade.php b/resources/views/admin/platform_orders/index.blade.php index 832c29d..932c779 100644 --- a/resources/views/admin/platform_orders/index.blade.php +++ b/resources/views/admin/platform_orders/index.blade.php @@ -93,6 +93,10 @@ 只看同步失败 +