vr-shopxo-plugin/plan.md

99 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 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#五投票`