# Implementation Plan: 扫码桌号点餐 **Branch**: `004-qr-table-order` | **Date**: 2026-04-30 | **Spec**: [spec.md](spec.md) ## Summary 在已有餐桌码功能(spec 002)基础上,完成扫码到下单的串联:订单新增 tableId 字段关联餐桌码记录,下单时校验码有效性并以码记录中的桌号为权威来源。改动量极小(加字段 + 加校验)。 ## Technical Context **Language/Version**: Java 21 **Primary Dependencies**: Spring Boot 3.3.5, MyBatis-Plus 3.0.3, RuoYi framework **Storage**: MySQL 8.2.0 **Testing**: 手动测试(项目无自动化测试体系) **Target Platform**: APP + 商家管理后台 **Project Type**: Web service (REST API) **Scale/Scope**: 小改动,涉及 4-5 个文件 ## Constitution Check Constitution 为模板默认状态,无具体约束。本需求改动范围小且直接,无违反。 ## Project Structure ### Documentation (this feature) ```text specs/004-qr-table-order/ ├── spec.md ├── plan.md └── tasks.md ``` ### Source Code (affected files) ```text ruoyi-system/src/main/java/com/ruoyi/system/domain/ ├── PosOrder.java # 新增 tableId 字段 └── OrderParent.java # 新增 tableId 字段(如存在) ruoyi-admin/src/main/java/com/ruoyi/app/order/ ├── dto/OrderCreateInput.java # 新增 tableId 字段 └── UserOrderController.java # 设置 tableId + 校验逻辑 sql/ └── (新增迁移脚本或手动执行 ALTER TABLE) ``` **Structure Decision**: 在现有 RuoYi 多模块结构中修改,不新增模块。