Align batch BMPA retry link with bmpa_processable_only filter

This commit is contained in:
萝卜
2026-03-18 02:32:40 +08:00
parent c09c0a9dcd
commit 9fc6049243
4 changed files with 6 additions and 8 deletions

View File

@@ -134,10 +134,10 @@ class PlatformBatchController extends Controller
'bmpa_failed_only' => '1',
]), $safeBackForLinks, 'filters');
// 本批次可再次尝试:对齐仪表盘/列表的“真正可BMPA处理集合”口径。
$governanceLinks['retry_processable'] = BackUrl::withBackAndFragment('/admin/platform-orders?' . \Illuminate\Support\Arr::query([
'batch_bmpa_run_id' => $runId,
'status' => 'pending',
'payment_status' => 'unpaid',
'bmpa_processable_only' => '1',
]), $safeBackForLinks, 'filters');
$topReason = (string) (data_get($summary, 'top_reasons.0.reason') ?? '');

View File

@@ -137,7 +137,7 @@
@endif
@if(($governanceLinks['retry_processable'] ?? '') !== '')
<span class="muted"></span>
<a class="link" href="{{ $governanceLinks['retry_processable'] }}">本批次可再次尝试(pending+unpaid</a>
<a class="link" href="{{ $governanceLinks['retry_processable'] }}">本批次可再次尝试(可BMPA处理</a>
@endif
</div>
<div class="muted muted-xs mt-6">说明:当前批次为“冗余写入到每条订单 meta.last_result”的模式后续可演进为独立批次表。</div>

View File

@@ -93,8 +93,7 @@ class AdminPlatformBatchShowPageShouldRenderBmpaSummaryAndGovernanceLinksTest ex
// 治理链接
$this->assertStringContainsString('batch_bmpa_run_id=' . $runId, $html);
$this->assertStringContainsString('bmpa_failed_only=1', $html);
$this->assertStringContainsString('status=pending', $html);
$this->assertStringContainsString('payment_status=unpaid', $html);
$this->assertStringContainsString('bmpa_processable_only=1', $html);
$this->assertStringContainsString('bmpa_error_keyword=', $html);
$this->assertStringContainsString(urlencode('模拟失败:订单不是待处理+未支付'), $html);
}

View File

@@ -91,8 +91,7 @@ class AdminPlatformBatchShowPageShouldRenderForBmpaTest extends TestCase
$this->assertStringContainsString('bmpa_error_keyword=', $html);
$this->assertStringContainsString(urlencode('模拟失败:订单不是待处理+未支付'), $html);
// 治理入口:本批次可再次尝试(pending+unpaid
$this->assertStringContainsString('status=pending', $html);
$this->assertStringContainsString('payment_status=unpaid', $html);
// 治理入口:本批次可再次尝试(可BMPA处理
$this->assertStringContainsString('bmpa_processable_only=1', $html);
}
}