Commit Graph

  • c8ef994ec8 admin: 追加退款回执后重定向到追加退款面板锚点 萝卜 2026-03-17 21:49:21 +08:00
  • 2ea92cd6f1 admin: 回执追加后重定向回详情并保留 back + 锚点 萝卜 2026-03-17 21:46:08 +08:00
  • 4fafd80b75 test: 详情页退款不一致治理块应包含一键追加退款入口 萝卜 2026-03-17 21:37:30 +08:00
  • f4d45e3a58 admin: 详情页退款不一致提示升级为治理块并提供一键追加退款入口 萝卜 2026-03-17 21:35:06 +08:00
  • a3e151b0c2 admin: 详情页退款治理入口直达追加退款面板 萝卜 2026-03-17 21:29:49 +08:00
  • 5164078f82 admin: 退款不一致行内提示链接直达追加退款面板 萝卜 2026-03-17 21:21:14 +08:00
  • 545063fa42 admin: 平台订单列表退款不一致治理链接直达追加退款面板 萝卜 2026-03-17 21:18:50 +08:00
  • bf73f6dcae test(export): assert platform order CSV by parsing headers and rows 萝卜 2026-03-17 20:56:52 +08:00
  • b754ecfa5f feat(export): add reconcile/refund inconsistent flags to platform order CSV 萝卜 2026-03-17 20:41:58 +08:00
  • 55061b48f4 style(admin): make add receipt/refund forms use collapsible styles 萝卜 2026-03-17 20:33:29 +08:00
  • ffb6999b5a fix(admin): remove duplicate route and update batch show tests for linked counts 萝卜 2026-03-17 20:18:52 +08:00
  • 6c3516e66c style(admin): enhance collapsible summary hover/focus and arrow 萝卜 2026-03-17 19:56:25 +08:00
  • 3e3e183d4d style(component): metric_explain复用collapsible样式统一details交互 萝卜 2026-03-17 19:39:22 +08:00
  • e4156ecf75 ui(component): metric_explain默认折叠(details)避免Dashboard口径说明撑满 萝卜 2026-03-17 19:37:09 +08:00
  • 283cc6349a refactor(dashboard): 口径说明抽为metric_explain组件减少重复 萝卜 2026-03-17 19:31:29 +08:00
  • 4e973b7337 docs(dashboard): 治理风险mini bars增加口径说明并加护栏 萝卜 2026-03-17 19:28:59 +08:00
  • 78424a213d docs(dashboard): 平台订单漏斗增加口径说明并加护栏 萝卜 2026-03-17 19:19:41 +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
  • af806923b1 test: 重复投递阻断warning应包含run_id提示 萝卜 2026-03-17 18:37:56 +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
  • 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
  • 9cfe7a718c refactor(js): 提炼复制按钮短暂反馈tempButtonFeedback复用 萝卜 2026-03-17 17:05:05 +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
  • 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 main 萝卜 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
  • a1c161b300 refactor(platform-orders): compute tool guards once on index 萝卜 2026-03-17 11:05:31 +08:00