99 lines
3.5 KiB
Markdown
99 lines
3.5 KiB
Markdown
# 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#五投票`
|