萝卜
|
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 |
|
萝卜
|
ea9cbe430c
|
feat(batch): 批次页last_result缺失时提供同批次粗略统计
|
2026-03-17 16:12:07 +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 |
|
萝卜
|
592b1610f9
|
refactor: 批量任务投递去重锁提炼BatchDispatchLock
|
2026-03-17 15:30:55 +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 |
|
萝卜
|
e9593757b7
|
test(billing): SOP branch to block BMPA when refund trail exists
|
2026-03-17 12:20:41 +08:00 |
|
萝卜
|
ebd03d8e27
|
test(billing): SOP branch for receipt mismatch blocking BMPA
|
2026-03-17 12:14:52 +08:00 |
|
萝卜
|
d8b7172394
|
ui(platform-orders): add audit labels for BMPA and sync subscription
|
2026-03-17 12:09:28 +08:00 |
|
萝卜
|
d6d95a5cb0
|
refactor(billing): unify BMPA audit to use snapshot fields
|
2026-03-17 12:07:15 +08:00 |
|
萝卜
|
549cf4f5ac
|
ui(platform-orders): render audit snapshot key/value when no paid/refund fields
|
2026-03-17 12:00:47 +08:00 |
|
萝卜
|
ad72a3d9ff
|
test(billing): lock SOP to require receipt audits
|
2026-03-17 11:58:54 +08:00 |
|
萝卜
|
23fb9549e0
|
ui(platform-orders): show audit labels for receipt actions
|
2026-03-17 11:57:22 +08:00 |
|
萝卜
|
416ad3de68
|
feat(billing): audit add payment/refund receipts
|
2026-03-17 11:52:07 +08:00 |
|
萝卜
|
8bdb94aa0a
|
ui(site-subscriptions): collapse filters by default in attach order mode
|
2026-03-17 11:35:12 +08:00 |
|
萝卜
|
f2f1553fae
|
ui(site-subscriptions): hide set-status control in attach order mode
|
2026-03-17 11:33:07 +08:00 |
|
萝卜
|
f3afff1e38
|
ui(site-subscriptions): disable-on-submit for set-status form on show
|
2026-03-17 11:31:12 +08:00 |
|
萝卜
|
be2d934374
|
ui(site-subscriptions): disable-on-submit for set-status forms on index
|
2026-03-17 11:23:30 +08:00 |
|
萝卜
|
072a36fd7e
|
ui(site-subscriptions): add return-to-order header in attach order mode
|
2026-03-17 11:20:50 +08:00 |
|
萝卜
|
f0f9ffa24c
|
ui(site-subscriptions): hide renewal order CTA in attach order mode
|
2026-03-17 11:15:54 +08:00 |
|
萝卜
|
279dd885f3
|
test(platform-orders): ensure export ledger link starts with download param on index
|
2026-03-17 11:12:57 +08:00 |
|
萝卜
|
35aa1295e8
|
test(platform-orders): guard export ledger links param order on show page
|
2026-03-17 11:11:12 +08:00 |
|