萝卜
|
7dd2e2e40a
|
feat(admin): warning flash支持可选链接并提示重复批量投递可直达上次复盘
|
2026-03-17 18:24:15 +08:00 |
|
萝卜
|
5249af00b4
|
feat(admin): success flash支持可选链接并用于BAS批次复盘入口
|
2026-03-17 18:08:29 +08:00 |
|
萝卜
|
7f1f5a6887
|
refactor(js): 复制失败toast文案收敛为toastCopyFailed并更新护栏
|
2026-03-17 17:43:58 +08:00 |
|
萝卜
|
c245d872ca
|
refactor(js): 复制成功toast文案收敛为toastCopied统一口径
|
2026-03-17 17:37:25 +08:00 |
|
萝卜
|
5a72d89e6f
|
feat(js): 复制成功不再alert(仅toast+按钮短反馈)
|
2026-03-17 17:31:21 +08:00 |
|
萝卜
|
c48c4e7470
|
feat(js): 复制失败优先toastError反馈(alert降级)
|
2026-03-17 17:25:14 +08:00 |
|
萝卜
|
b34236b32f
|
feat(js): 补齐toastWarning/toastError封装(统一反馈口径)
|
2026-03-17 17:22:58 +08:00 |
|
萝卜
|
e93fda474b
|
refactor(js): 提炼toast通用函数并保留toastSuccess封装
|
2026-03-17 17:17:27 +08:00 |
|
萝卜
|
0d3096d075
|
refactor(js): tempButtonFeedback提升为通用并前置于run_id复制处理
|
2026-03-17 17:11:19 +08:00 |
|
萝卜
|
e955b5a1e0
|
feat(js): 复制run_id按钮增加短暂反馈并自动恢复
|
2026-03-17 17:03:09 +08:00 |
|
萝卜
|
ca6d55231d
|
feat(js): 复制链接按钮提供短暂已复制反馈(自动恢复)
|
2026-03-17 17:01:01 +08:00 |
|
萝卜
|
da085a239f
|
feat(batch): 复制治理链接补齐label并复制绝对URL
|
2026-03-17 16:55:34 +08:00 |
|
萝卜
|
d219712567
|
feat(batch): 批次页治理入口增加复制链接按钮
|
2026-03-17 16:49:45 +08:00 |
|
萝卜
|
6d94583231
|
feat(js): #filters锚点跳转自动展开平台订单筛选面板
|
2026-03-17 16:47:03 +08:00 |
|
萝卜
|
f267d251ed
|
feat(batch): 成功/失败数字可点击(失败直达失败集合)
|
2026-03-17 16:41:17 +08:00 |
|
萝卜
|
27d1fb21d6
|
feat(batch): 批次页汇总卡片链接到本批次全部集合
|
2026-03-17 16:39:09 +08:00 |
|
萝卜
|
5e7987f6b6
|
feat(batch): 批次页增加失败占比可点击入口
|
2026-03-17 16:33:32 +08:00 |
|
萝卜
|
408050666f
|
feat(governance): 批次页跳转列表自动定位到筛选区(anchor)
|
2026-03-17 16:30:15 +08:00 |
|
萝卜
|
38ac28ada2
|
feat(batch): 批次页增加一键复制run_id(轻量JS)
|
2026-03-17 16:21:58 +08:00 |
|
萝卜
|
8f409e2124
|
feat(batch): Top失败原因行支持一键按原因治理链接
|
2026-03-17 16:15:50 +08:00 |
|
萝卜
|
52d1507847
|
feat: 批次详情页(复盘) 支持BAS/BMPA run_id治理入口
|
2026-03-17 16:01:18 +08:00 |
|
萝卜
|
831f5f2010
|
admin: 增加批次详情页(BAS/BMPA)支持run_id复盘
|
2026-03-17 15:58:39 +08:00 |
|
萝卜
|
382f34d9a3
|
平台订单:BAS批次筛选badge文案对齐BMPA并补全
|
2026-03-17 15:43:59 +08:00 |
|
萝卜
|
c2e41917ed
|
BAS批量同步订阅:增加60秒去重锁(对齐BMPA)
|
2026-03-17 15:27:18 +08:00 |
|
萝卜
|
224176cea6
|
feat(bmpa): dedupe dispatch within 1 minute to avoid double submit
|
2026-03-17 15:14:09 +08:00 |
|
萝卜
|
fe3de250f5
|
ui(platform-orders): add retry quick link in bmpa run_id badge
|
2026-03-17 15:07:19 +08:00 |
|
萝卜
|
0bc79701c9
|
ui(platform-orders): render batch bmpa mode/scope in list
|
2026-03-17 15:04:44 +08:00 |
|
萝卜
|
95a52d3f49
|
feat(bmpa): queue batch mark paid and activate via job
|
2026-03-17 14:55:48 +08:00 |
|
萝卜
|
c692e099aa
|
fix(admin): include batch run_id filters in hidden inputs partial
|
2026-03-17 14:45:02 +08:00 |
|
萝卜
|
741d13e62c
|
ui(platform-orders): add governance links for bmpa last_result
|
2026-03-17 14:39:53 +08:00 |
|
萝卜
|
90756897d8
|
ui(platform-orders): render bmpa last_result summary in list
|
2026-03-17 14:37:44 +08:00 |
|
萝卜
|
40ae678e03
|
feat(bmpa): write last_result summary for batch tracing
|
2026-03-17 14:29:26 +08:00 |
|
萝卜
|
277d8fc69d
|
ui(platform-orders): add batch governance links in bmpa error block
|
2026-03-17 14:23:10 +08:00 |
|
萝卜
|
eef0fbad8a
|
ui(platform-orders): add bmpa run_id badge with quick links
|
2026-03-17 14:20:43 +08:00 |
|
萝卜
|
a806ed9b1c
|
feat(platform-orders): add bmpa run_id filter for batch tracing
|
2026-03-17 14:11:35 +08:00 |
|
萝卜
|
0718090f49
|
feat(bmpa): write run_id and richer meta for batch mark paid and activate
|
2026-03-17 14:03:06 +08:00 |
|
萝卜
|
9e40e73481
|
ui(platform-orders): add run_id badge quick governance links
|
2026-03-17 13:37:15 +08:00 |
|
萝卜
|
96c1a1562d
|
ui(platform-orders): add governance links for batch activation last_result
|
2026-03-17 13:34:54 +08:00 |
|
萝卜
|
76b9b9ea3b
|
ui(platform-orders): show run_id badge and clear filter link
|
2026-03-17 13:15:20 +08:00 |
|
萝卜
|
bb2cd8d2ea
|
ui(platform-orders): add clickable batch activation run_id link
|
2026-03-17 13:12:53 +08:00 |
|
萝卜
|
ab02e5ca6b
|
feat(platform-orders): filter batch activation by run_id
|
2026-03-17 13:10:46 +08:00 |
|
萝卜
|
f837c16bf5
|
ui(platform-orders): render batch activation last_result summary
|
2026-03-17 13:01:02 +08:00 |
|
萝卜
|
82d68105de
|
feat(queue): write batch activation last_result summary for observability
|
2026-03-17 12:58:39 +08:00 |
|
萝卜
|
7723dd8daf
|
feat(queue): add run_id for batch activation job traceability
|
2026-03-17 12:49:52 +08:00 |
|
萝卜
|
53a024ae4c
|
ui(platform-orders): show batch activation scope in list
|
2026-03-17 12:46:55 +08:00 |
|
萝卜
|
70700a5145
|
ui(platform-orders): show batch activation mode (queue/sync)
|
2026-03-17 12:45:07 +08:00 |
|
萝卜
|
e9ec968379
|
feat(platform-orders): queue batch activate subscriptions job
|
2026-03-17 12:40:21 +08:00 |
|
萝卜
|
5158703a3e
|
ui(platform-orders): add more audit action labels
|
2026-03-17 12:27:57 +08:00 |
|
萝卜
|
81e3189885
|
test(billing): assert renewal SOP extends subscription ends_at
|
2026-03-17 12:24:48 +08:00 |
|
萝卜
|
2fafec5abd
|
test(billing): SOP for renewal missing subscription governance flow
|
2026-03-17 12:23:15 +08:00 |
|