vr-shopxo-plugin/plan.md

3.7 KiB
Raw Blame History

Council Plan — vr-shopxo-plugin Round 1 (Backend)

Round 1 — 2026-04-14 Branch: council/Backend → main 角色: ⚙️ Backend — Hook 可行性与 spec 模板绑定实现评审


Task Overview

对 vr-shopxo-plugin 架构的 4 个关键技术问题做最终决策Backend 视角):

  • Q1: 座位模板与分类的绑定粒度
  • Q2: spec_base_id_map 生成时机
  • Q3: 观演人信息存储位置
  • Q4: spec 绑定方案($vr- 前缀命名空间)

Backend 评审要点

Q1 — 座位模板绑定粒度

  • $vr-场馆 spec_value.name → vr_seat_templates.name 的 name 匹配方案
  • Hook 注入点:在商品详情加载时匹配,无需改 ShopXO 核心

Q2 — spec_base_id_map 时机

  • 插件在 GoodsService 的商品加载 Hook 中一次性构建 seat_map
  • 写入 goods.extension_data.vr.seat_map,所有场次共用

Q3 — 观演人存储

  • 支付成功后写入 vr_tickets已有 DDL
  • extension_data 仅存 ticket_id 绑定关系
  • 不在购票流程中暂存,减少数据一致性风险

Q4 — spec 绑定实现

  • ShopXO spec_value 是 per-goods COPY按 name 匹配是唯一可行方案
  • $vr- 前缀隔离用户 spec插件按前缀过滤
  • 初始化时创建 $vr-场馆 等模板;商家应用后插件按 spec_value.name 查 vr_seat_templates

Task Checklist

  • R1-T1: 确认 plugins_service_goods_index_view_end Hook 的 extension_data 注入时机

    • 读取 docs/01_SHOPXO_TECHNICAL_RESEARCH.md Hook 列表
    • 确认注入点能获取 goods_id 并写入 extension_data
  • R1-T2: 确认支付回调 Hook 名称(plugins_service_buy_order_insert_success

    • 在 ShopXO 源码中定位实际 Hook 名称
    • 更新 docs/03_VERIFICATION_SYSTEM.md 中的 Hook 名称
  • R1-T3: spec_value.name 匹配 vr_seat_templates 的实现路径

    • 确认插件在哪个 Hook 里完成匹配
    • 确认 seat_map 组装逻辑spec_value → seat_template → seat_data
  • R1-T4: 明确 item_type='ticket' 写入机制

    • 插件在哪个时机写 goods.item_type
    • 后台手动 or 插件自动?
  • R1-T5: 补充 vr_events / vr_sessions DDL

    • 基于 ARCHITECTURE.md 中列出的表名,补充完整字段定义

Phase Breakdown

Phase 内容 负责人
Draft R1-T1 ~ T5 调研评审 ⚙️ Backend
Review 提交评审报告到 reviews/Backend-QA-review.md ⚙️ Backend
Finalize 合并结论到 main投票 ⚙️ Backend

评审结论Backend 视角)

问题 结论 Blocking?
Q1 座位模板绑定粒度 $vr-场馆 spec_value.name → seat_template.name 按名字匹配 Non-blocking
Q2 seat_map 时机 商品加载 Hook 中一次性构建,写入 extension_data Non-blocking
Q3 观演人存储 vr_tickets支付后+ extension_data 绑定关系 Non-blocking
Q4 spec 绑定方案 $vr- 前缀命名空间 + 按 name 匹配,是唯一可行方案 Non-blocking
Hook 名称待确认 支付回调 Hook 名称需实测验证 ⚠️ Blocking
vr_events/vr_sessions DDL 缺失,需补充 ⚠️ Non-blocking
item_type 写入机制 需明确(手动/自动) ⚠️ Non-blocking

Dependencies

  • docs/01_SHOPXO_TECHNICAL_RESEARCH.md — Hook 列表(需读取)
  • docs/03_VERIFICATION_SYSTEM.md — 核销 Hook 名称(需更新)
  • docs/06_SEAT_MAP_INTEGRATION.md — 选座集成方案(需读取)
  • ARCHITECTURE.md — 整体架构(需读取)

Voting

Agent Vote 说明
⚙️ Backend TBD Round 1 调研中

[CONSENSUS: NO] — Round 1 尚未完成,需执行 R1-T1 ~ T5 后再投票