萝卜
|
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 |
|
萝卜
|
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 |
|
萝卜
|
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 |
|
萝卜
|
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 |
|
萝卜
|
e24a3b031c
|
fix(platform-orders): refresh order after activation to keep subscription_activation meta
|
2026-03-17 10:32:16 +08:00 |
|
萝卜
|
df99fb00ed
|
refactor(platform-orders): created_at 快捷日期范围由 controller 注入
|
2026-03-17 06:43:58 +08:00 |
|
萝卜
|
2ac9c51ce4
|
chore(billing-ui): align renewal defaults and tighten sync error keyword links
|
2026-03-17 05:16:40 +08:00 |
|
萝卜
|
6cd8c34245
|
Governance: block batch BMPA when renewal missing subscription filter present
|
2026-03-17 01:40:51 +08:00 |
|
萝卜
|
89f79f5e90
|
Governance: block batch mark activated when renewal missing subscription filter present
|
2026-03-17 01:34:51 +08:00 |
|
萝卜
|
622c9be21e
|
Chore: remove duplicate refund_status guard in batchMarkActivated safety valves
|
2026-03-17 01:27:51 +08:00 |
|
萝卜
|
3cba715f01
|
Governance: block batch activate subscriptions when renewal missing subscription filter present
|
2026-03-17 01:24:47 +08:00 |
|
萝卜
|
0e8a9797b9
|
Governance: block clear sync errors when synced_only present
|
2026-03-17 00:13:19 +08:00 |
|
萝卜
|
98fa529d01
|
Governance: block clear BMPA errors when sync_status/synced_only present
|
2026-03-17 00:03:32 +08:00 |
|
萝卜
|
18ea639583
|
chore(governance): block batch mark activated when refund_status=has
|
2026-03-16 23:35:39 +08:00 |
|
萝卜
|
485a8a639d
|
chore(governance): block batch BMPA when refund_status=has
|
2026-03-16 23:33:10 +08:00 |
|
萝卜
|
9dc281f48e
|
chore(governance): block batch mark activated when receipt none/refund has
|
2026-03-16 23:26:29 +08:00 |
|
萝卜
|
75d64195d6
|
chore(governance): block batch mark activated when reconcile/refund inconsistent
|
2026-03-16 23:16:25 +08:00 |
|
萝卜
|
a26be5de9e
|
chore(governance): block batch activate when refund_status=has
|
2026-03-16 23:03:38 +08:00 |
|
萝卜
|
8063b8ae9d
|
chore(governance): block batch activate when syncable_only conflicts with synced_only
|
2026-03-16 23:00:27 +08:00 |
|
萝卜
|
d68d0523b1
|
chore(governance): block batch BMPA when sync-governance filters present
|
2026-03-16 22:54:19 +08:00 |
|
萝卜
|
314563a8d5
|
chore(governance): block batch mark activated when filters conflict
|
2026-03-16 21:46:08 +08:00 |
|
萝卜
|
968cba3c08
|
chore(governance): guard clear bmpa errors when filters not bmpa scope
|
2026-03-16 21:30:51 +08:00 |
|
萝卜
|
d3793d062a
|
chore(governance): guard clear sync errors when filters conflict
|
2026-03-16 21:28:26 +08:00 |
|
萝卜
|
512de34da4
|
chore(governance): block batch activate when syncable_only conflicts with failed filters
|
2026-03-16 21:05:13 +08:00 |
|
萝卜
|
2f4e727c1b
|
fix(governance): batch activate subscriptions excludes failed and dirty renewal orders
|
2026-03-16 20:15:33 +08:00 |
|
萝卜
|
97326e9922
|
fix(platform-orders): syncable_only excludes sync failed orders
|
2026-03-16 19:40:23 +08:00 |
|
萝卜
|
d7c4fc9d17
|
fix(platform-orders): syncable_only filter should only apply when value is 1
|
2026-03-16 19:15:11 +08:00 |
|
萝卜
|
dbb88f59f6
|
chore(governance): batch mark activated requires unsynced scope
|
2026-03-16 19:04:40 +08:00 |
|
萝卜
|
0a58204799
|
platform orders: add created_at range filter (created_from/to)
|
2026-03-16 00:30:09 +08:00 |
|
萝卜
|
7dd508e84d
|
feat(admin): 绑定订阅后回跳提示增强(attached_subscription + 滚动)
|
2026-03-15 17:23:58 +08:00 |
|
萝卜
|
973576f045
|
feat(admin): 订阅列表支持一键绑定到订单(续费缺订阅治理)
|
2026-03-15 17:09:11 +08:00 |
|
萝卜
|
8e18a77f19
|
feat(admin): 续费订单支持手工绑定订阅(attach-subscription)+ 时区改为 Asia/Shanghai
|
2026-03-15 16:58:04 +08:00 |
|
萝卜
|
f6bb29f046
|
fix(admin): 各平台订单工具动作支持 renewal_missing_subscription 筛选透传
|
2026-03-15 07:10:05 +00:00 |
|
萝卜
|
9afe8c135d
|
platform orders: batch mark activated guard renewal missing subscription
|
2026-03-15 06:39:22 +00:00 |
|
萝卜
|
efc2a8a423
|
platform orders: mark activated guard for renewal missing subscription
|
2026-03-15 06:34:18 +00:00 |
|
萝卜
|
2d67c167ed
|
platform orders: add renewal missing subscription governance card
|
2026-03-15 06:14:52 +00:00 |
|
萝卜
|
b940c0172d
|
platform orders: syncable summary excludes renewal missing subscription
|
2026-03-15 05:52:21 +00:00 |
|