platform orders: add bmpa failed reason top links and retry shortcut

This commit is contained in:
萝卜
2026-03-13 12:43:45 +00:00
parent 9241113f2d
commit ec7f57c0d2
2 changed files with 121 additions and 0 deletions

View File

@@ -281,6 +281,49 @@
<div class="muted">暂无失败原因聚合数据</div>
@endif
</div>
<div class="card">
<h3>批量标记支付并生效失败原因 TOP5</h3>
@php $bmpaFailedReasonStats = $bmpaFailedReasonStats ?? []; @endphp
@if(count($bmpaFailedReasonStats) > 0)
<div class="muted mt-6">
@foreach($bmpaFailedReasonStats as $item)
@php
$reason = (string) ($item['reason'] ?? '');
$count = (int) ($item['count'] ?? 0);
@endphp
<div>
@if($reason !== '' && $reason !== '(空)')
@php
$reasonText = mb_substr($reason, 0, $SYNC_FAILED_REASON_TRUNCATE_LEN);
$reasonTooLong = mb_strlen($reason) > $SYNC_ERROR_KEYWORD_LINK_MAX_LEN;
@endphp
@if($reasonTooLong)
<span class="muted" title="{{ $reason }}">{{ $reasonText }}</span>
<span class="muted">{{ $count }}</span>
<span class="muted"></span>
<span class="muted">原因过长,请复制到筛选框</span>
<span class="muted"></span>
<a class="link" href="{{ request()->fullUrlWithQuery(['bmpa_error_keyword' => null, 'page' => null]) }}">进入失败集合</a>
@else
<a class="link" title="{{ $reason }}" href="{!! request()->fullUrlWithQuery(['bmpa_error_keyword' => $reason, 'page' => null]) !!}">{{ $reasonText }}</a>
<span class="muted">{{ $count }}</span>
<span class="muted"></span>
<a class="link" href="{!! request()->fullUrlWithQuery(['bmpa_error_keyword' => $reason, 'status' => 'pending', 'payment_status' => 'unpaid', 'page' => null]) !!}">切到可处理集合重试</a>
@endif
@else
<span class="muted">(空原因)</span>
<span class="muted">{{ $count }}</span>
@endif
</div>
@endforeach
</div>
@else
<div class="muted">暂无失败原因聚合数据</div>
@endif
<div class="muted muted-xs mt-6">提示:建议先点原因进入失败集合,完成回执/退款治理后,再切到 pending+unpaid 集合重试。</div>
</div>
</div>
<div class="card mb-20">