# 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 多模块结构中修改，不新增模块。
