| 项 | 口径 |
|---|---|
| 全国价 | 原价 2880 划线 · 现价 2380 |
| 大会价 | 原价 2380 划线 · 现价 1880 |
| 大会价适用范围 | 只管大会链接进来的首次签约付款;增购/续费一律全国价(将来若要按大会价,另立配置项,本期不做) |
| 开关语义 | 渠道"开启大会专属链接"开关决定付款那一刻取哪套价:开关关→大会链接进来的未付款门店回落全国价;再开→回落大会价;已支付按快照不变 |
| 原价 | 两套各自可配(后台价格管理),前端不再写死常量 |
| 止血 | 大会未开始,长官自己在后台把生产单价改回 2380;原价常量随本 Phase 一起还原,不单独发版 |
service_prices 只有 name/unit_price/default_quantity/is_active/original_price_seats/current_price_seats/updated_by,无原价字段;生产只有 1 行「赵阳智脑」settlement/web/app/admin/minicup/prices/page.tsx 只有改价/上下架,无新增商品接口(后端 service_prices.py 无 POST "")store_service.py:718 store_service_wxpay_price 把全部 is_active 商品列给门店;下单 WxpayPrepayPayload.price_id 由前端指定,payment_orders.py:96 按 id 精确取价 → 若只加一行大会商品而不做场景过滤,全国门店也能看见并选到 1880/store/minicup/signup?t={channel_id.hex}.{HMAC(store-signup:{channel_id})},生成在 store_signup.py:162 generate_store_signup_token,解出的 channel_id 进签约态 JWT claim signup_channel_id,提交建档时写 OrgSignupProfile.channel_idsettlement/web/app/channel/minicup/store-signup-link/page.tsx,二维码前端 qrcode.react 现生成,复制/下载前调 POST /api/channel/share-records 拿 tracked_pathchannels 三类:primary / platform_direct_secondary / subordinate,编辑入口分别在 admin/minicup/channels/[channelId]/page.tsx(一级、平直签)与 channels/page.tsx + [channelId]/subchannels/page.tsx(普通二级)store-wxpay.ts:21 LIST_PRICE_PER_SEAT=2380,被 signup/payment/service 三页引用phase72_000_price_seat_labels;channels 表最后一次迁移 phase66_000_zero_guaranteeservice_prices 加两列:scene(varchar,default|conference,NOT NULL default 'default',与 name 一起唯一)、original_price(Numeric(12,2) NULL,划线原价)channels 加 conference_link_enabled Boolean NOT NULL default falseorg_signup_profiles 加 signup_scene varchar NOT NULL default 'default'(记录该门店是从哪种链接进来的;付款时与开关一起决定取价)service_price_changes 不改(改原价也记一行:old/new 记 original_price,remark 标"原价")generate_store_signup_token(channel_id, scene='default'),签名消息 store-signup:{channel_id}(scene=default 时不变,老链接全部继续有效)/ store-signup:{channel_id}:conference;URL 大会版 /store/minicup/signup?t=...&scene=conference;验签按 scene 重算,篡改 scene 即失效signup_scene;建档时写 OrgSignupProfile.signup_sceneresolve_price_scene(org, biz_type):biz_type != 首次开通 → default;profile.signup_scene == conference and channel.conference_link_enabled → conference;否则 defaultGET /api/store/service/wxpay/price 增加 biz_type 查询参数,只返回该场景的上架商品,并带 original_pricecreate_payment_order 前校验 price.scene == resolve_price_scene(...),不符 400「该价格不适用于当前场景」——服务端守门,前端传什么 price_id 都不采信PATCH /api/admin/channels/{id}/conference-link {enabled};三类渠道通用GET /api/channel/store-signup-link 增返 conference_signup_url(仅开关开时),平台侧同款端点同步PATCH /{price_id} 增加 original_price 可改;列表带 scene/original_priceLIST_PRICE_PER_SEAT,原价改读接口 original_price(null 则不画划线);取价接口带 biz_type;页面不感知场景,后端给什么显示什么web/app/store/minicup(旧重复树)不动┌ 价格管理 ───────────────────────────────────────────────┐
│ 商品 场景 原价(划线) 现价 状态 操作 │
│ 赵阳智脑 全国 2880 2380 上架 编辑 │
│ 赵阳智脑大会专属版 大会 2380 1880 上架 编辑 │
└──────────────────────────────────────────────────────────┘
编辑弹窗:[原价 ____] [现价 ____] (改价二次确认沿用现有守卫) [保存]
│ 公司名称 [__________] │
│ 联系人 [____] 手机号 [___________] │
│ 渠道比例 [__]% 增购 [__]% 续费 [__]% │
│ 大会专属链接 (○ ) 关闭 ← 新增开关;开=该渠道可发大会链接 │
┌ 机构签约链接 ─────────────────────────────┐
│ https://…/store/minicup/signup?t=xxxx │
│ [复制签约链接] [下载二维码] │
└───────────────────────────────────────────┘
┌ 大会专属签约链接 (仅大会现场使用·价 1880) ─┐ ← 新增
│ https://…/signup?t=xxxx&scene=conference │
│ [复制大会专属链接] [下载大会专属二维码] │
└───────────────────────────────────────────┘
全国链接进来: 原价 ¥2880(划线) 现价 ¥2380
大会链接进来: 原价 ¥2380(划线) 现价 ¥1880 (开关关则同全国)
service_prices 两行,scene/original_price 全非空(SQL 真查)LIST_PRICE_PER_SEAT 引用(grep 0 + 对照组)unit_price=2380.00,updated_at 2026-09-02 03:04 UTC)。阶段 2 HTML Demo:docs/superpowers/demos/phase76-conference-signup-link-demo.html。