萝卜
|
09c8aeca2a
|
SubscriptionActivationService: guard against merchant mismatch
|
2026-03-15 02:56:31 +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 |
|
萝卜
|
c81c5a1f39
|
PlatformOrder: add orderTypeLabel helper
|
2026-03-15 01:40:09 +00:00 |
|
萝卜
|
4773c2a8c7
|
PlatformOrder show: render order_type label with code
|
2026-03-15 01:29:09 +00:00 |
|
萝卜
|
9a38fa84f3
|
PlatformOrder create: default renewal remark from subscription
|
2026-03-15 01:21:50 +00:00 |
|
萝卜
|
652d4134f7
|
PlatformOrder create: autofill merchant/plan from subscription defaults
|
2026-03-15 01:13:56 +00:00 |
|
萝卜
|
6c5705443d
|
Site subscriptions: add status toggle action on index
|
2026-03-14 23:34:31 +00:00 |
|
萝卜
|
bfd8f7784c
|
Plans: add publish toggle action and UI
|
2026-03-14 23:21:59 +00:00 |
|
萝卜
|
69edd4261d
|
Plans: unify back sanitize via BackUrl helper
|
2026-03-14 22:52:48 +00:00 |
|
萝卜
|
2d824d29dd
|
PlatformOrders: unify back sanitize via BackUrl
|
2026-03-14 22:45:46 +00:00 |
|
萝卜
|
ffc88feede
|
fix(backurl): avoid double fragment in withBackFirstAndFragment
|
2026-03-14 21:51:17 +00:00 |
|
萝卜
|
ee85e63340
|
fix(backurl): avoid double fragment when using withBackAndFragment
|
2026-03-14 21:33:32 +00:00 |
|
萝卜
|
4e741b92a1
|
security(backurl): re-sanitize back inside helpers
|
2026-03-14 21:27:52 +00:00 |
|
萝卜
|
e854d94578
|
feat(backurl): preserve existing fragment when appending back
|
2026-03-14 21:20:26 +00:00 |
|
萝卜
|
84e860e403
|
fix(backurl): avoid duplicating back query when already present
|
2026-03-14 21:17:02 +00:00 |
|
萝卜
|
9107d4af4a
|
fix(backurl): stabilize query append and support back-first links
|
2026-03-14 21:02:25 +00:00 |
|
萝卜
|
1b6476f2a4
|
refactor(back): add withBackAndFragment helper and use on platform_orders index
|
2026-03-14 19:06:32 +00:00 |
|
萝卜
|
956e177544
|
refactor: BackUrl::selfWithoutBack 统一 selfWithoutBack 构造并修复 currentQuery 依赖
|
2026-03-14 18:52:28 +00:00 |
|
萝卜
|
b759a87a57
|
refactor: BackUrl::withBack 统一 allUrl 生成(清空筛选但保留 back)
|
2026-03-14 18:46:18 +00:00 |
|
萝卜
|
0f8bc04020
|
refactor: BackUrl 增加 currentPathQuickFilter 并复用到收费闭环列表页
|
2026-03-14 18:37:47 +00:00 |
|
萝卜
|
7632b1d215
|
refactor: BackUrl 增加 currentPathWithQuery 并复用到订单列表
|
2026-03-14 18:25:35 +00:00 |
|
萝卜
|
3ffc87f78c
|
refactor: 抽出 BackUrl::sanitizeForLinks 统一 back 安全护栏
|
2026-03-14 18:23:00 +00:00 |
|
萝卜
|
98073f2b71
|
平台订单:补齐 BMPA 单订单清理入口(路由+控制器+详情页按钮+测试)
|
2026-03-14 14:13:30 +00:00 |
|
萝卜
|
f91be76e08
|
platform_orders: add clear single sync_error action from show page
|
2026-03-14 13:58:36 +00:00 |
|
萝卜
|
722f4a1f44
|
Harden products batch return_url: reject quotes and nested back
|
2026-03-14 10:41:48 +00:00 |
|
萝卜
|
41e3246381
|
fix: block batch sync when receipt_status=none
|
2026-03-14 06:26:44 +00:00 |
|
萝卜
|
fcabedff08
|
fix: block BMPA when governance filters present
|
2026-03-14 06:20:17 +00:00 |
|
萝卜
|
43311fd3d4
|
Platform orders export: include lead_id column
|
2026-03-14 05:53:44 +00:00 |
|
萝卜
|
8cf28184bd
|
Platform orders: batch actions include lead_id filter
|
2026-03-14 05:43:55 +00:00 |
|
萝卜
|
893b4c85ce
|
Platform orders: batch sync respects lead_id filter
|
2026-03-14 05:33:42 +00:00 |
|
萝卜
|
3dbea4e070
|
feat(admin): 开通线索列表支持按 lead_id 精确筛选
|
2026-03-14 04:29:40 +00:00 |
|
萝卜
|
19abd26dd9
|
fix(platform): 平台订单创建页透传 lead_id 以维持线索联动
|
2026-03-14 04:17:14 +00:00 |
|
萝卜
|
b6d6b06593
|
feat(platform): 线索可查看关联订单(platform_orders 按 lead_id 筛选)
|
2026-03-14 04:05:11 +00:00 |
|
萝卜
|
35200e4803
|
feat(platform): 从开通线索创建订单时自动回写线索为已转化
|
2026-03-14 03:54:30 +00:00 |
|
萝卜
|
e632d2c504
|
feat(admin): 开通线索支持状态流转(set-status)
|
2026-03-14 03:44:52 +00:00 |
|
萝卜
|
e9fba11785
|
feat(config): autoload system_configs into config() for governance
|
2026-03-14 03:21:51 +00:00 |
|
萝卜
|
f24a50f137
|
feat(admin): 开通线索 PlatformLead 总台列表页(只读)
|
2026-03-14 02:52:26 +00:00 |
|
萝卜
|
249ffb3aba
|
feat(front): 官网套餐页提交开通意向线索(PlatformLead)
|
2026-03-14 02:31:28 +00:00 |
|
萝卜
|
8c373b52dc
|
feat(platform): 新增对外平台入口 /platform(首页+套餐展示)
|
2026-03-14 02:20:28 +00:00 |
|
萝卜
|
56bf040252
|
fix(back): 拒绝 nested back 参数避免回退 URL 膨胀(plans/platform-orders)
|
2026-03-14 02:07:04 +00:00 |
|
萝卜
|
c4b3769458
|
fix(back): platform-orders/create back 预清洗 + 表单 hidden back 条件渲染护栏
|
2026-03-14 01:35:28 +00:00 |
|
萝卜
|
8f5db9cc24
|
fix(back): PlanController back 校验增强(拒绝引号/尖括号)
|
2026-03-14 01:25:42 +00:00 |
|
萝卜
|
a286e19e08
|
fix(back): 平台订单 store 透传 back 增强校验(拒绝引号/尖括号)
|
2026-03-14 01:22:53 +00:00 |
|
萝卜
|
8841238fb6
|
平台订单列表:锁定订阅ID时显示上下文提示
|
2026-03-13 23:33:44 +00:00 |
|
萝卜
|
e6d3dfaa98
|
feat: plans export require download=1 safety valve
|
2026-03-13 22:55:48 +00:00 |
|
萝卜
|
f37ff15e0d
|
feat: site subscriptions export require download=1 safety valve
|
2026-03-13 22:52:55 +00:00 |
|