萝卜
|
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 |
|
萝卜
|
4b1f661561
|
platform orders: syncable_only filter excludes renewal missing subscription
|
2026-03-15 05:47:00 +00:00 |
|
萝卜
|
a4c36ab868
|
platform orders: batch activate guard renewal missing subscription
|
2026-03-15 05:44:09 +00:00 |
|
萝卜
|
5ca76b7620
|
platform orders: activate subscription guard for renewal missing subscription
|
2026-03-15 05:18:46 +00:00 |
|
萝卜
|
a50cd0675e
|
批量BMPA 安全阀:续费单未绑订阅不允许推进并新增测试
|
2026-03-15 04:56:18 +00:00 |
|
萝卜
|
c4c91ebf14
|
标记支付并生效:续费单必须绑定订阅(安全阀)并新增测试
|
2026-03-15 04:42:37 +00:00 |
|
萝卜
|
54f356f52d
|
平台订单创建页:require_subscription 支持回填并透传 hidden input(校验失败后仍保持治理口径)
|
2026-03-15 04:03:56 +00:00 |
|
萝卜
|
2400398dcb
|
PlatformOrder create: force renewal type when subscription context present
|
2026-03-15 03:14:19 +00:00 |
|
萝卜
|
1c5827fd85
|
PlatformOrder store: guard renewal must match subscription merchant/plan
|
2026-03-15 02:59:58 +00:00 |
|
萝卜
|
3182dd72a0
|
PlatformOrder create: require_subscription flag narrows order types
|
2026-03-15 02:36:27 +00:00 |
|
萝卜
|
41463407aa
|
Expiry governance: nudge renewal requires subscription context
|
2026-03-15 02:23:19 +00:00 |
|
萝卜
|
e66ac765e0
|
PlatformOrder create: default order_type to renewal when from subscription
|
2026-03-15 02:15:48 +00:00 |
|
萝卜
|
bdea18c976
|
PlatformOrder store: require subscription for renewal orders
|
2026-03-15 02:03:04 +00:00 |
|
萝卜
|
6bb3c843dd
|
PlatformOrder views: use model orderTypeLabel mapping
|
2026-03-15 01:43:50 +00:00 |
|
萝卜
|
4773c2a8c7
|
PlatformOrder show: render order_type label with code
|
2026-03-15 01:29:09 +00:00 |
|