council(draft): BackendArchitect - plan for Phase 2 technical assessment

- Add plan for VR ticket P0-P2 issue evaluation
- Tasks: B1-B5 (BackendArchitect), F1-F4 (FrontendDev), P1-P3 (FirstPrinciples)
- Output: reviews/council-phase2-assessment.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
council/BackendArchitect
Council 2026-04-21 08:32:25 +08:00
parent bed933e8df
commit e5736338bd
1 changed files with 49 additions and 64 deletions

113
plan.md
View File

@ -1,88 +1,73 @@
# Plan — ShopXO 酷炫前端模板实现方案调研 # Plan — VR 演唱会票务小程序 Phase 2 技术评估
> 版本v1.0 | 日期2026-04-20 | Agentcouncil/BackendArchitect > 版本v1.0 | 日期2026-04-21 | Agentcouncil/BackendArchitect
> 任务:调研 Q1-Q4 四个方向,给出可执行结论,输出 council-research-output.md > 任务:评估 4 个已知问题(购物车格式 P0、舞台缩放 P1、spec 加载 P1、商品详情 P2
--- ---
## 调研任务分配 ## Phase 2 评估任务分配
| 问题 | 负责人 | 依赖 | ### BackendArchitect
|------|--------|------|
| Q1: ShopXO 自定义模板最佳实践 | council/FrontendDev | 无 |
| Q2: 单订单多 SKU 支持 | council/BackendArchitect | 无P2 是 Q4 前提) |
| Q3: 第三方无代码构建提示词策略 | council/ProductManager | Q1 完成后 |
| Q4: uni-app 兼容性技术栈选型 | council/FrontendDev | Q1 + Q2 完成后 |
--- | Task | 内容 | 状态 |
|------|------|------|
| B1 | 分析 GoodsCartService::Save 的真实 API 契约(期望参数格式) | [Claimed: council/BackendArchitect] |
| B2 | 验证 ticket_detail.html submit() 的 params 构造是否符合规范 | [Claimed: council/BackendArchitect] |
| B3 | ShopXO spec 加载标准端点调研GoodsSpecDetail 等) | [Claimed: council/BackendArchitect] |
| B4 | 在 ticket_detail.html 中优雅加载规格/库存的方案设计 | [Claimed: council/BackendArchitect] |
| B5 | 整合 BackendArchitect findings → `reviews/BackendArchitect-on-phase2.md` | Pending |
## BackendArchitect 调研任务B1-B3 ### FrontendDev
- [ ] [Claimed: council/BackendArchitect] **Task B1**: Q2 核心调研 — ShopXO 标准订单模型是否支持单订单多 SKU | Task | 内容 | 状态 |
- 分析 `sxo_order_detail` 表结构goods_id + spec_ids 组合) |------|------|------|
- 分析 `OrderService.php` / `Order.php` 中的下单入口参数 | F1 | 修复 .vr-stage 缩放问题方案 | [To Claim: council/FrontendDev] |
- 分析 vr_ticket 插件是否自定义了订单创建逻辑 | F2 | submit() 多座位串行提交逻辑优化分析 | [To Claim: council/FrontendDev] |
- 验证多 SKU 下单的触发条件(购物车 vs 直接购买) | F3 | goods_spec_data 与前端价格联动方案 | [To Claim: council/FrontendDev] |
- [ ] [Claimed: council/BackendArchitect] **Task B2**: Q2 最小改动方案设计 | F4 | 商品图片/详情内容加载现状评估 | [To Claim: council/FrontendDev] |
- 如果不支持:在现有 vr_ticket 插件中如何扩展 OrderService
- 如果支持:直接使用还是需要配置开关
- [ ] [Claimed: council/BackendArchitect] **Task B3**: 整合输出 → `docs/council-research-output.md` 中的 Q2 章节
--- ### FirstPrinciples
## 调研结论模板(每人填写) | Task | 内容 | 状态 |
|------|------|------|
``` | P1 | 多座位提交 API 设计正交性分析 | [To Claim: council/FirstPrinciples] |
## QX 结论 | P2 | spec_base_id_map 设计复杂度评审 | [To Claim: council/FirstPrinciples] |
| P3 | 票务场景是否需要走购物车流程?关键问题识别 | [To Claim: council/FirstPrinciples] |
### 核心答案
(一句话结论)
### 证据来源
- 文件/行号/官方文档
### 最小可行方案
(什么可以先跑起来)
### 理想方案
(完整实现路径)
### 最大风险点
(识别 1-2 个)
### 优先级与依赖
Q2 是 Q4 的前提 → Q1 结论影响 Q3...
```
--- ---
## 阶段划分 ## 阶段划分
| 阶段 | 内容 | 责任人 | | Round | 内容 | 产出 |
|------|------|--------| |-------|------|------|
| Round 1当前 | 各自调研,形成初步结论 | All | | Round 1当前 | 各自调研BackendArchitect 读关键代码 | plan.md 更新 + 各自 findings 文件 |
| Round 2 | 合并到 `docs/council-research-output.md`,交叉 Review | All | | Round 2 | 合并 findings交叉 Review | `reviews/council-phase2-assessment.md` 草稿 |
| Round 3 | 收敛共识FirstPrinciples 拍板未决项 | FirstPrinciples | | Round 3 | 收敛共识,形成修复方案建议 | 完整 assessment 文档 + 可执行 todo |
| Round 4 | 最终 review + 投票 | `[CONSENSUS: YES]` |
--- ---
## 已知关键文件BackendArchitect 参考) ## BackendArchitect 调研计划
| 文件 | 用途 | **关键文件列表**(按优先级):
|------|------|
| `shopxo/app/plugins/vr_ticket/` | vr_ticket 插件全部代码 | 1. `shopxo/app/service/GoodsCartService.php` — Save() 方法签名 + 参数契约
| `shopxo/app/service/GoodsService.php` | 商品规格解析 | 2. `shopxo/app/service/GoodsService.php` — GoodsSpecDetail() 规格加载
| `shopxo/app/service/OrderService.php` | 订单创建入口(关键) | 3. `shopxo/app/plugins/vr_ticket/view/goods/ticket_detail.html` — submit() 函数
| `shopxo/app/model/Order.php` | 订单模型 | 4. `shopxo/app/plugins/vr_ticket/service/SeatSkuService.php` — GetGoodsViewData()
| `shopxo/app/model/Goods.php` | 商品模型 | 5. `docs/VR_GOODS_CONFIG_SPEC.md` — v3.0 配置格式
| `shopxo/app/plugins/vr_ticket/view/goods/ticket_detail.html` | 当前前端模板 | 6. `docs/PHASE2_PLAN.md` — Phase 2 计划文档
| `docs/02_FRONTEND_CUSTOMIZATION.md` | 已有前端调研存档 |
| `docs/12_UNIAPP_FRONTEND_RESEARCH.md` | uni-app 调研存档 | **调研目标**
| `docs/14_TEMPLATE_RENDER_INVESTIGATION.md` | 模板渲染调查 | - B1: 找到 GoodsCartService::Save 的参数期望goods_id, spec_base_id, stock 等字段)
- B2: 对比 ticket_detail.html submit() 当前构造的 params
- B3: 找到 ShopXO spec 数据加载的入口(是否有 API endpoint 可被前端直接调用?)
- B4: 设计 ticket_detail.html 中加载真实库存的最小方案
--- ---
## 输出目标 ## 输出目标
文件:`docs/council-research-output.md` - BackendArchitect findings: `reviews/BackendArchitect-on-phase2.md`
内容Q1-Q4 各自结论 + 优先级矩阵 + 最小可行 vs 理想方案对比 + 风险点 - 最终合并文档: `reviews/council-phase2-assessment.md`
- 每个问题的根因分析 + 前后端修复方案 + API 设计建议 + 第一性原则关键提醒