# 外卖订单操作入口清单 面向后端维护者的订单接口职责边界。2026-09-29 起明确:**用户、骑手、商家的订单状态流转操作一律走三个专用操作控制器,不使用 `PosOrderController` 的方法**;新增状态流转类功能不得加到 `PosOrderController`。已在四个控制器类注释与 `add`/`edit` 的 `@Deprecated` 标注同步记录。 ## 操作入口(在用) | 角色 | 控制器 | 路由前缀 | 典型操作 | |---|---|---|---| | 用户 | `UserOrderController` | `/system/userOrder` | 下单(createOrder,含支付方式闸门)、用户取消 | | 骑手 | `PosOrderQsOprateController` | `/system/orderQsOprate` | 接单 / 取餐 / 送达(按 `deliveryStatus` 1/2/3) | | 商家 | `PosOrderShOprateController` | `/system/orderShOprate` | **商家端下单(/createOrder)**、出餐(chuCan)、商家取消 | 闪送订单不在本清单内,走 `flashdelivery` 包的独立控制器体系。 ## PosOrderController(/system/order)职责边界 仍在用: | 类别 | 接口 | |---|---| | 查询 | `/getorderlist`、`/getstoreorderlist`、`/getqsorderlist`、`/getqishouorderlist`、`/getorderxq`、`/getorderhout`、`/getuserfootlist`、`/getPsOrdersPosition`、`/list`、`/shlist1`~`/shlist3`、`/export`、`/{id}`、`/{id}/status-context` | | 平台改状态 | `/setorderuzt` | | 平台管理操作 | `/{id}/status`、`/{id}/line-payment/reconcile`、`/{id}/line-refund`、`/{id}/offline-payment/confirm`、`/{id}/offline-refund/confirm`(Spring Security `@PreAuthorize`,操作留痕 `@Log`) | 已废弃(`@Deprecated` 已标注,代码保留备查,勿增量修改): | 接口 | 说明 | |---|---| | `/addorder` | 旧代客外送下单流程(货到付款 + sendHdfkMessage 推送);2026-09-29 确认废弃,商家端下单走 `PosOrderShOprateController /createOrder`。内含 031 支付闸门 `assertUsable` 调用点,随入口一并废弃,勿再以此为基准增量开发 | | `POST /system/order`(`add`) | RuoYi CRUD 新增订单;用户下单走 `UserOrderController.createOrder` | | `PUT /system/order`(`edit`) | 修改订单信息入口不再使用;状态流转已迁出 | | `/testYjsdTime` | 随 `setYjsdTime` 停用(依赖已停用的 Mapbox 接口,见 map-api-usage.md) | ## 新改动规则 1. 状态流转类新功能(改 state / deliveryStatus / payStatus / afterSaleStatus 的操作)一律实现到对应角色控制器,不进 `PosOrderController`。 2. `PosOrderController` 仅维护查询接口、平台管理接口与既有的 `/addorder`、`/setorderuzt`。 3. 废弃方法不做增量修改;排查问题时也不得以其为基准(同 CLAUDE.md 已废弃代码清单约定)。 ## 关联 - `CLAUDE.md` 已废弃代码清单(订单/支付) - `specs/030-unified-order-list/`(统一订单列表,列表查询口径) - `docs/map-api-usage.md`(`/testYjsdTime`、`setYjsdTime` 停用详情)