订单模块说明
1. 概述
订单域由 OrdersBundle 承载,关联售后(AftersalesBundle)、支付(PaymentBundle)、供应商(SupplierBundle)。
核心表:orders_normal_orders、orders_normal_orders_items、trade。
2. 相关 Bundle
| Bundle | 职责 |
|---|---|
| OrdersBundle | 订单、购物车、交易单、发货、运费模板 |
| AftersalesBundle | 售后、退款 |
| PaymentBundle | 支付抽象与回调 |
| DepositBundle | 定金/预售 |
| ReservationBundle | 预约类订单 |
| CrossBorderBundle | 跨境订单 |
3. 核心文件结构
src/OrdersBundle/
├── Http/Api/V1/Action/Order.php
├── Http/Api/V1/Action/Trade.php
├── Http/FrontApi/V1/Action/WxappOrder.php
├── Http/FrontApi/V1/Action/CartController.php
├── Services/OrderService.php
├── Services/TradeService.php
├── Services/CartService.php
├── Entities/NormalOrders.php
├── Entities/Trade.php
├── Events/TradeFinishEvent.php
├── Events/NormalOrderAddEvent.php
├── Events/NormalOrderCancelEvent.php
├── Listeners/(40+ 订单 Listener)
└── Jobs/InvoiceCreateJob.php4. 路由与代表性 API
商户端
| 文件 | 方法 | 路径 | Action |
|---|---|---|---|
routes/api/trade.php | GET | /api/orders | Order@getOrderList |
| POST | /api/delivery | Order@delivery | |
| GET | /api/trade | Trade@getTradelist | |
routes/api/order.php | GET | /api/shipping/templates/list | ShippingTemplate@getShippingTemplatesList |
C 端(routes/frontapi/orders.php)
| 方法 | 路径 | Action |
|---|---|---|
| POST | /api/h5app/wxapp/order | WxappOrder@createOrder |
| GET | /api/h5app/wxapp/orders | WxappOrder@getOrderList |
5. 订单状态(实体单)
orders_normal_orders.order_status 常见值(以 Entity comment 为准):
NOTPAY、PAYED、DONE、CANCEL、WAIT_BUYER_CONFIRM、WAIT_GROUPS_SUCCESS 等。
支付状态 pay_status:NOTPAY、PAYED、ADVANCE_PAY、TAIL_PAY 等。
6. 核心事件链
NormalOrderAddEvent → 供应商拆单
PaySuccessEvent → 企业购等场景
TradeFinishEvent → 统计/分润/短信/ERP/发票/清关/企微(20+ Listener)
NormalOrderCancelEvent → 取消联动、名额释放等
OrderProcessLogEvent → 流程日志