name: order-ops description: 订单操作:查看订单、修改状态、退单
订单操作
查看订单
-- 全部订单
SELECT * FROM orders ORDER BY created_at DESC LIMIT 20;
-- 按状态过滤
SELECT * FROM orders WHERE status = 'pending' ORDER BY created_at DESC;
-- 按桌号查询
SELECT * FROM orders WHERE table_no = ? ORDER BY created_at DESC;
items 字段是 JSON 数组,解析后展示菜品详情。
修改订单状态
状态流转:pending → cooking → done → paid
UPDATE orders SET status = '新状态' WHERE id = ?;
结账
-- 计算订单总额(从 items JSON)后插入账单
INSERT INTO bills (order_id, total, payment_status, paid_at)
VALUES (?, 总额, 'paid', datetime('now'));
-- 同时更新订单状态
UPDATE orders SET status = 'paid' WHERE id = ?;
退单
退单需要谨慎:
- 确认订单 ID 和内容
- 如果已结账,需要同时删除对应的 bill 记录
- 将订单状态改为 cancelled
UPDATE orders SET status = 'cancelled' WHERE id = ?;
DELETE FROM bills WHERE order_id = ?;
注意
- 退单操作前先用 backup_create 创建备份
- 结账前确认订单金额
- 状态只能前进,不能回退(除非退单)