# Quickstart: 订单状态四字段分离 ## 前置条件 1. 数据库执行 `updatesql/sql.md` 中的 ALTER TABLE 语句添加三个新列 2. 历史订单数据手动清空(系统未正式使用) ## 实施顺序 ### Step 1: 数据库 & 实体层 - SQL 脚本写入 `updatesql/sql.md` - PosOrder.java 新增 3 个字段 - PosOrderMapper.xml resultMap + insert/update 添加新字段 ### Step 2: 订单创建 & 支付回调 - UserOrderController.createOrder() 设置新字段初始值 - 支付回调中更新 payStatus ### Step 3: 商家操作改造 - 接单:state 0→1 - 出餐:state 1→2,外送额外设 deliveryStatus=0 - 完成(自取/堂食):state 2→3 + payStatus 0→1 ### Step 4: 骑手操作改造 - acceptOrder:deliveryStatus=1 - pickupOrder:deliveryStatus=2 - deliverOrder:deliveryStatus=3 + state=3 ### Step 5: 订单取消 - OrderAppealController 改造取消逻辑:state→4 ### Step 6: 定时任务改造 - TestTask.java 使用新字段条件 ### Step 7: 新列表接口(三端) - 用户端 UserOrderController.orderList() - 商家端 PosOrderShOprateController.orderList() - 骑手端 PosOrderQsOprateController.orderList() ### Step 8: 骑手约束逻辑 - RiderPositionMapper 条件更新 ### Step 9: 平台管理端前端 - foodie-admin-vue 订单列表页改造 ## 验证方式 每个 Step 完成后: 1. 启动服务确认无编译错误 2. 用 Postman/curl 测试相关接口 3. 检查数据库字段值正确