vr-shopxo-plugin/plan.md

99 lines
3.5 KiB
Markdown
Raw Normal View History

# Plan — VR 演唱会票务小程序 Round 2 技术评估
> 版本v2.0 | 日期2026-05-26 | Agentcouncil/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#五投票`