萝卜
|
489032f04f
|
admin: 追加支付回执后重定向到追加回执面板锚点
|
2026-03-17 21:52:52 +08:00 |
|
萝卜
|
c8ef994ec8
|
admin: 追加退款回执后重定向到追加退款面板锚点
|
2026-03-17 21:49:21 +08:00 |
|
萝卜
|
2ea92cd6f1
|
admin: 回执追加后重定向回详情并保留 back + 锚点
|
2026-03-17 21:46:08 +08:00 |
|
萝卜
|
b754ecfa5f
|
feat(export): add reconcile/refund inconsistent flags to platform order CSV
|
2026-03-17 20:41:58 +08:00 |
|
萝卜
|
1725eae6b2
|
refactor(admin): 去重阻断warning返回改用AdminFlash::apply收敛with逻辑
|
2026-03-17 19:13:19 +08:00 |
|
萝卜
|
23476b0ac3
|
refactor(admin): AdminFlash增加apply并在批量动作成功提示复用
|
2026-03-17 19:11:07 +08:00 |
|
萝卜
|
bfc04d8f36
|
refactor(admin): 增加AdminFlash::warning并让BatchDispatchWarning复用
|
2026-03-17 19:01:43 +08:00 |
|
萝卜
|
3f471aa8db
|
refactor(admin): success flash payload提炼AdminFlash::success并复用
|
2026-03-17 18:56:14 +08:00 |
|
萝卜
|
ea70f24535
|
refactor(batch): 去重阻断warning组装提炼BatchDispatchWarning并加单测
|
2026-03-17 18:52:08 +08:00 |
|
萝卜
|
aefecd0cbe
|
refactor(run_id): 提炼RunId::short用于warning短展示并加单测
|
2026-03-17 18:43:25 +08:00 |
|
萝卜
|
ca3c10486a
|
refactor(batch): 重复投递阻断warning文案带出run_id短展示
|
2026-03-17 18:35:15 +08:00 |
|
萝卜
|
e937946011
|
feat(admin): 重复批量投递warning提供复制run_id按钮(复用copyToClipboard)
|
2026-03-17 18:32:50 +08:00 |
|
萝卜
|
7dd2e2e40a
|
feat(admin): warning flash支持可选链接并提示重复批量投递可直达上次复盘
|
2026-03-17 18:24:15 +08:00 |
|
萝卜
|
397717e9bc
|
refactor(lock): BatchDispatchLock增加makeKey与getExistingValue便于复用
|
2026-03-17 18:21:17 +08:00 |
|
萝卜
|
353ae1bcc2
|
feat(batch-mark-activated): 完成后success提示增加查看批量结果入口
|
2026-03-17 18:18:18 +08:00 |
|
萝卜
|
daa3857b57
|
feat(bmpa): 提交后success提示增加进入批次复盘链接
|
2026-03-17 18:13:03 +08:00 |
|
萝卜
|
5249af00b4
|
feat(admin): success flash支持可选链接并用于BAS批次复盘入口
|
2026-03-17 18:08:29 +08:00 |
|
萝卜
|
e1d5cee52e
|
feat(bas): dispatch阶段生成run_id并透传到job便于复盘
|
2026-03-17 18:04:14 +08:00 |
|
萝卜
|
408050666f
|
feat(governance): 批次页跳转列表自动定位到筛选区(anchor)
|
2026-03-17 16:30:15 +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 |
|
萝卜
|
831f5f2010
|
admin: 增加批次详情页(BAS/BMPA)支持run_id复盘
|
2026-03-17 15:58:39 +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 |
|
萝卜
|
95a52d3f49
|
feat(bmpa): queue batch mark paid and activate via job
|
2026-03-17 14:55:48 +08:00 |
|
萝卜
|
40ae678e03
|
feat(bmpa): write last_result summary for batch tracing
|
2026-03-17 14:29:26 +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 |
|
萝卜
|
ab02e5ca6b
|
feat(platform-orders): filter batch activation by run_id
|
2026-03-17 13:10:46 +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 |
|
萝卜
|
e9ec968379
|
feat(platform-orders): queue batch activate subscriptions job
|
2026-03-17 12:40:21 +08:00 |
|
萝卜
|
d6d95a5cb0
|
refactor(billing): unify BMPA audit to use snapshot fields
|
2026-03-17 12:07:15 +08:00 |
|
萝卜
|
416ad3de68
|
feat(billing): audit add payment/refund receipts
|
2026-03-17 11:52:07 +08:00 |
|
萝卜
|
b00ccd6fbd
|
refactor(platform-orders): centralize export ledger url builder
|
2026-03-17 11:00:06 +08:00 |
|
萝卜
|
9f9d522ee1
|
refactor(platform-orders): extract hasLedgerEvidence helper
|
2026-03-17 10:56:19 +08:00 |
|
萝卜
|
e24a3b031c
|
fix(platform-orders): refresh order after activation to keep subscription_activation meta
|
2026-03-17 10:32:16 +08:00 |
|
萝卜
|
fb21e069a8
|
ui(dashboard): 活跃付费站点入口对齐未到期口径
|
2026-03-17 07:35:07 +08:00 |
|
萝卜
|
66a8319f0a
|
ui(dashboard): 平台定位(运营版)加入 mini bar 图形化
|
2026-03-17 07:27:15 +08:00 |
|
萝卜
|
f50272ffc9
|
Dashboard:收费工作台快捷入口收敛为治理导向 + 平台定位(运营版)断言护栏
|
2026-03-17 07:18:46 +08:00 |
|
萝卜
|
8bd838c0b6
|
feat(dashboard): 平台定位改为运营版北极星指标+治理Top3
|
2026-03-17 07:05:03 +08:00 |
|
萝卜
|
df99fb00ed
|
refactor(platform-orders): created_at 快捷日期范围由 controller 注入
|
2026-03-17 06:43:58 +08:00 |
|
萝卜
|
96f19ecdf2
|
refactor(site-subscriptions): ends_at 快捷日期范围由 controller 注入
|
2026-03-17 06:41:15 +08:00 |
|
萝卜
|
0b2f0c7d74
|
fix: 订阅批量过期动作透传 ends_at 区间筛选
|
2026-03-17 06:27:34 +08:00 |
|
萝卜
|
2ac9c51ce4
|
chore(billing-ui): align renewal defaults and tighten sync error keyword links
|
2026-03-17 05:16:40 +08:00 |
|
萝卜
|
313c6cfd5e
|
Fix sqlite ambiguous status in subscription expiry top10 queries
|
2026-03-17 04:41:28 +08:00 |
|
萝卜
|
583854bd35
|
refactor(dashboard): inject 7d range from controller to avoid drift
|
2026-03-17 04:24:10 +08:00 |
|
萝卜
|
842eeb3e39
|
refactor(backurl): add mergeQueryToCurrentPath for safe self links
|
2026-03-17 04:20:17 +08:00 |
|
萝卜
|
6cd8c34245
|
Governance: block batch BMPA when renewal missing subscription filter present
|
2026-03-17 01:40:51 +08:00 |
|