# Plan — VR 演唱会票务小程序 Round 2 技术评估 > 版本:v2.0 | 日期:2026-05-26 | Agent:council/BackendArchitect > 任务:Round 1 评估 — Phase 4 Tree API、SeatMapService/seatmap API、seatSpecMap 注入、CartSave extension_data --- ## 评估范围 - Phase 4 Tree API 设计文档完整性 + 可行性 - SeatMapService + `/seatmap` API 完整性 - seatSpecMap 注入商品详情 API 的实现方案 - CartSave extension_data 多座位存储链路 - 后端下一步优先级建议 --- ## 现状快照 ### Phase 4 Tree API - **设计文档**:无独立 Phase 4 设计文档(仅有 `06_SEAT_MAP_INTEGRATION.md` 作为 Phase 3 参考) - **代码实现**:`shopxo/app/plugins/vr_ticket/api/` 目录不存在,Tree API 无任何代码 - **状态**:📋 设计阶段(commit 存在,代码为零) ### SeatMapService + seatmap API - `index/Index.php::soldSeats()` — ⚠️ 存在但断裂(调用了不存在的方法) - `SeatSkuService::getSoldSeats()` — **❌ 方法缺失** - 完整 `/seatmap` API — **❌ 不存在** - `BatchGenerate()` — ✅ 完成 - `GetGoodsViewData()` — ✅ 完成 ### seatSpecMap 注入商品详情 - Hook `plugins_service_goods_data` — **❌ 未注册** - `vr_goods_config` 字段 — ✅ 已存在于 sxo_goods - seatSpecMap 在返回数据中 — **❌ 不存在** ### CartSave extension_data - `GoodsCartService.php` 中 extension_data — **❌ 不存在** - 多座位下单链路 — **❌ 断裂** - ShopXO sxo_cart 表无 extension_data 字段 --- ## BackendArchitect 评估任务 | Task | 内容 | 状态 | |------|------|------| | B1 | Phase 4 Tree API 设计文档评估 | [Done: council/BackendArchitect] | | B2 | SeatMapService + seatmap API 完整性检查 | [Done: council/BackendArchitect] | | B3 | seatSpecMap 注入方案设计 | [Done: council/BackendArchitect] | | B4 | CartSave extension_data 多座位链路分析 | [Done: council/BackendArchitect] | | B5 | 输出评估报告 + 投票 | [Done: council/BackendArchitect] | --- ## 阶段划分 | Round | 内容 | 产出 | |-------|------|------| | Round 1(当前) | 独立评估,输出报告 | `docs/council-eval-backendarchitect.md` + plan.md | | Round 2 | 合并各成员评估,协调者汇总 | 等待 FrontendDeveloper/SecurityEngineer/PerformanceBenchmarker | | Round 3 | 执行 P0 修复(getSoldSeats + Hook + CartSave 决策) | 代码变更 | | Round 4 | 最终 Review + Consensus | `[CONSENSUS: YES]` | --- ## 待执行任务(P0 → P1 排序) ### P0 — 立即修复 | Task | 内容 | 依赖 | 状态 | |------|------|------|------| | P0-1 | 实现 `SeatSkuService::getSoldSeats()` | 无 | [To Claim] | | P0-2 | 注册 `plugins_service_goods_data` Hook | 无 | [To Claim] | | P0-3 | 实现 `TicketService::InjectGoodsDetailData()` | P0-2 | [To Claim] | | P0-4 | 决策 CartSave 路径(建议:绕过购物车直购) | 无 | [To Claim] | ### P1 — 短期完善 | Task | 内容 | 依赖 | 状态 | |------|------|------|------| | P1-1 | 实现完整 `/seatmap` API | P0-1 | [To Claim] | | P1-2 | 完善 Phase 4 Tree API 设计文档 | 无 | [To Claim] | | P1-3 | 扩展 Admin.php 支持 seatSpecMap 管理 | P0-3 | [To Claim] | ### P2 — 可延后 | Task | 内容 | 依赖 | 状态 | |------|------|------|------| | P2-1 | Phase 4 Tree API 实现 | P1-2 | [To Claim] | | P2-2 | 实时座位锁定机制(SKIP LOCKED 已部分实现) | P1-1 | [To Claim] | --- ## 输出 - 评估报告:`docs/council-eval-backendarchitect.md` - 投票:`docs/council-eval-backendarchitect.md#五投票`