diff --git a/app/Http/Controllers/Admin/PlatformOrderController.php b/app/Http/Controllers/Admin/PlatformOrderController.php index 7ec1df7..2725aa4 100644 --- a/app/Http/Controllers/Admin/PlatformOrderController.php +++ b/app/Http/Controllers/Admin/PlatformOrderController.php @@ -1636,10 +1636,7 @@ class PlatformOrderController extends Controller // 若锁内已有 run_id(作为 value 存储),则在提示中带出 run_id(短展示)并给运营一个直达复盘入口。 if ($existing !== '' && str_starts_with($existing, 'BAS')) { - $display = $existing; - if (strlen($display) > 16) { - $display = substr($display, 0, 6) . '…' . substr($display, -4); - } + $display = \App\Support\RunId::short((string) $existing, 6, 4); $warningMsg = '检测到刚刚已提交过同一批次的 BAS 任务(1 分钟内,run_id=' . $display . ')。为避免重复投递,本次未再次提交。'; } @@ -1799,10 +1796,7 @@ class PlatformOrderController extends Controller $warningMsg = '检测到刚刚已提交过同一批次的 BMPA 任务(1 分钟内)。为避免重复投递,本次未再次提交。'; if ($existing !== '' && str_starts_with($existing, 'BMPA')) { - $display = $existing; - if (strlen($display) > 16) { - $display = substr($display, 0, 7) . '…' . substr($display, -4); - } + $display = \App\Support\RunId::short((string) $existing, 7, 4); $warningMsg = '检测到刚刚已提交过同一批次的 BMPA 任务(1 分钟内,run_id=' . $display . ')。为避免重复投递,本次未再次提交。'; } diff --git a/app/Support/RunId.php b/app/Support/RunId.php new file mode 100644 index 0000000..3162165 --- /dev/null +++ b/app/Support/RunId.php @@ -0,0 +1,24 @@ +assertSame('BAS123456', RunId::short('BAS123456', 6, 4)); + } + + public function test_short_should_shorten_with_ellipsis(): void + { + $this->assertSame('BAS202…0001', RunId::short('BAS202603171234560001', 6, 4)); + } +}