# 供应商 — 订单（移动端 / 小程序）

## 1. 概述

| 项 | 说明 |
| --- | --- |
| 交易订单 Base Path | `/app/supplier/order` |
| 待结算 Base Path | `/app/supplier/settlement` |
| 鉴权 | 需登录；供应商账号须绑定 `biz_supplier.sys_user_id` |
| 界面参考 | [Snipaste_2026-06-01_22-03-24.jpg](./Snipaste_2026-06-01_22-03-24.jpg) |
| 模块索引 | [README.md](./README.md) |

订单页四个 Tab 与接口对应：

| 界面 Tab | 接口 |
| --- | --- |
| 全部订单 | `GET /app/supplier/order/list?statusTab=ALL` |
| 待支付 | `GET /app/supplier/order/list?statusTab=PENDING` |
| 待结算 | `GET /app/supplier/settlement/list` |
| 已完成 | `GET /app/supplier/order/list?statusTab=COMPLETED` |

## 2. 交易订单分页列表

`GET /app/supplier/order/list`

### 2.1 请求

| 参数 | 必填 | 说明 |
| --- | --- | --- |
| `statusTab` | 否 | `ALL`（默认）/ `PENDING` / `COMPLETED` |
| `pageNum` | 否 | 页码，默认 1 |
| `pageSize` | 否 | 每页条数，默认 10 |

### 2.2 筛选

- 数据范围：`biz_trade_order.supplier_id` = 当前供应商，`del_flag = 0`。
- `PENDING`：`order_status = 0`（待支付）。
- `COMPLETED`：`order_status = 1`（已支付/已完成）。
- `ALL`：不按订单状态过滤。

### 2.3 响应

标准 `TableDataInfo`：`rows` 为订单数组，每项含 **主表字段** + **`lineList`**（`biz_trade_order_line` 明细）。

**主表**（含关联展示）：`id`、`orderNo`、`supplierId`、`supplierName`、`distributorId`、`distributorName`、`totalHeads`、`totalAmount`、`orderStatus`、`orderStatusName`、`payVoucherUrl`、`payVoucherPath`、`finishTime`（订单支付时间）、`settlementId`、`settlementNo`、`settlementStatus`、`settlementStatusName`、`settleFinishTime`（订单结算时间，来自关联结算单）、`createTime`、`remark` 等。

**明细 `lineList[]`**：`id`、`orderId`、`supplierId`、`earTag`、`weight`、`amount`、`gradeCode`、`gradeName`。

排序：`create_time` 降序。

## 3. 交易订单详情

`GET /app/supplier/order/{id}`

仅可查看 **本供应商** 订单；否则返回「订单不存在或无权查看」。

响应 `data` 结构同列表单条（主表 + `lineList`）。

## 4. 待结算单分页列表

`GET /app/supplier/settlement/list`

### 4.1 请求

| 参数 | 必填 | 说明 |
| --- | --- | --- |
| `pageNum` | 否 | 页码 |
| `pageSize` | 否 | 每页条数 |

### 4.2 筛选

- `biz_supplier_settlement.supplier_id` = 当前供应商。
- `settlement_status = 0`（待结算）。
- `del_flag = 0`。

### 4.3 响应

`rows` 为结算单数组，每项含 **结算主表字段** + **`lineList`**（关联 `order_id` 的 `biz_trade_order_line` 明细）。

**主表**：`id`、`settlementNo`、`orderId`、`orderNo`、`supplierId`、`supplierName`、`totalHeads`、`totalAmount`、`feeMethod`、`feeStandard`、`transactionFeeRate`、`managementFeeRate`、`serviceFeeAmount`、`payableAmount`、`settlementStatus`、`settlementStatusName`、`settleVoucherUrl`、`settleVoucherPath`、`settleFinishTime`、`createTime`、`remark` 等。

**明细 `lineList[]`**：同交易订单明细字段。

排序：`create_time` 降序。

## 5. 待结算单详情

`GET /app/supplier/settlement/{id}`

仅可查看 **本供应商** 且 **待结算** 的结算单；否则返回「结算单不存在或无权查看」。

响应 `data` 结构同列表单条（主表 + `lineList`）。

## 6. 常见失败

| 场景 | `msg` |
| --- | --- |
| 未绑定供应商 | 当前账号未绑定供应商，无法查看首页统计 |
| 订单无权 | 订单不存在或无权查看 |
| 结算单无权 | 结算单不存在或无权查看 |
| 非法 statusTab | 订单状态筛选仅支持 ALL、PENDING、COMPLETED |
