3595 行
148 KiB
Markdown
3595 行
148 KiB
Markdown
# 订单服务 API 文档
|
||
|
||
**服务**: `hl-order-service`
|
||
**接口总数**: 90
|
||
|
||
## 目录
|
||
|
||
- **工单管理** (8 个接口)
|
||
- **早鸟优惠计划管理** (6 个接口)
|
||
- **管理端相册接口** (10 个接口)
|
||
- **管理端订单接口** (24 个接口)
|
||
- **管理端订单行程编辑** (18 个接口)
|
||
- **订单待办接口** (7 个接口)
|
||
- **订单配置接口** (2 个接口)
|
||
- **退款政策管理** (6 个接口)
|
||
- **退款管理** (9 个接口)
|
||
|
||
---
|
||
|
||
## 工单管理
|
||
|
||
### `POST` /admin/order/work-order
|
||
|
||
**创建工单**
|
||
|
||
创建旅途中的变更工单,需关联订单ID。
|
||
可指定处理人,未指定则进入待分配状态。可附带差价信息和资源详情JSON
|
||
|
||
【关联字典】
|
||
- 请求参数 type → 字典:work_order_type(工单类型)
|
||
- 请求参数 priority → 字典:work_order_priority(工单优先级)
|
||
- 返回字段 status → 字典:work_order_status(工单状态)
|
||
- 返回字段 type → 字典:work_order_type(工单类型)
|
||
- 返回字段 priority → 字典:work_order_priority(工单优先级)
|
||
|
||
**请求体** `CreateWorkOrderRequest`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `assigneeAdminId` | `long` | | 指定处理人ID |
|
||
| `assigneeName` | `string` | | 指定处理人姓名 |
|
||
| `attachmentUrls` | `string` | | 附件URL(JSON数组) |
|
||
| `costDifference` | `number` | | 差价(正数=客户需补差价, 负数=需退费给客户) |
|
||
| `description` | `string` | 是 | 问题描述 |
|
||
| `orderId` | `long` | 是 | 关联订单ID |
|
||
| `priority` | `string` | 是 | 优先级: URGENT(紧急,如当天出发需处理)/NORMAL(普通) |
|
||
| `resourceDetail` | `string` | | 资源详情JSON(酒店/车辆/景点信息) |
|
||
| `type` | `string` | 是 | 工单类型: ROOM_CHANGE(换房)/ROOM_ADD(加房)/CHECKOUT_CHANGE(改退房日期)/HOTEL_ISSUE(酒店问题)/VEHICLE_CHANGE(换车)/SCENIC_ADD(加景点)/SCENIC_REMOVE(减景点)/OTHER(其他) |
|
||
|
||
**响应** `统一响应结果«WorkOrderVO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `WorkOrderVO` | | 响应数据 |
|
||
| `assigneeAdminId` | `string` | | 处理人ID |
|
||
| `assigneeName` | `string` | | 处理人姓名 |
|
||
| `attachmentUrls` | `string` | | 附件URL(JSON数组) |
|
||
| `costDifference` | `number` | | 差价 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `creatorAdminId` | `string` | | 发起人ID |
|
||
| `creatorName` | `string` | | 发起人姓名 |
|
||
| `description` | `string` | | 问题描述 |
|
||
| `logs` | `工单操作日志VO[]` | | 操作日志列表 |
|
||
| `action` | `string` | | 操作动作 |
|
||
| `actionLabel` | `string` | | 操作动作标签 |
|
||
| `content` | `string` | | 操作内容 |
|
||
| `createdAt` | `string` | | 操作时间 |
|
||
| `logId` | `string` | | 日志ID |
|
||
| `operatorName` | `string` | | 操作人姓名 |
|
||
| `orderId` | `string` | | 关联订单ID |
|
||
| `orderNo` | `string` | | 关联订单编号 |
|
||
| `priority` | `string` | | 优先级 |
|
||
| `priorityLabel` | `string` | | 优先级标签 |
|
||
| `rejectReason` | `string` | | 驳回原因 |
|
||
| `resolution` | `string` | | 处理结果 |
|
||
| `resolvedAt` | `string` | | 处理完成时间 |
|
||
| `resourceDetail` | `string` | | 资源详情JSON |
|
||
| `status` | `string` | | 状态 |
|
||
| `statusLabel` | `string` | | 状态标签 |
|
||
| `type` | `string` | | 工单类型 |
|
||
| `typeLabel` | `string` | | 工单类型标签 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `workOrderId` | `string` | | 工单ID |
|
||
| `workOrderNo` | `string` | | 工单编号 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/work-order/count-by-order/{orderId}
|
||
|
||
**按订单查工单数量**
|
||
|
||
返回指定订单关联的工单总数,用于订单详情页展示工单角标
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**响应** `统一响应结果«int»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `int` | | 响应数据 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/work-order/list
|
||
|
||
**工单列表**
|
||
|
||
分页查询工单,支持按状态/类型/优先级/订单编号/处理人筛选。
|
||
工单用于处理旅行中的突发变更需求(如换房、换车、加景点等)
|
||
|
||
【关联字典】
|
||
- 筛选参数 status → 字典:work_order_status(工单状态)
|
||
- 筛选参数 type → 字典:work_order_type(工单类型)
|
||
- 筛选参数 priority → 字典:work_order_priority(工单优先级)
|
||
- 返回字段 status → 字典:work_order_status(工单状态)
|
||
- 返回字段 type → 字典:work_order_type(工单类型)
|
||
- 返回字段 priority → 字典:work_order_priority(工单优先级)
|
||
|
||
**查询参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 | 示例 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `assigneeAdminId` | `integer(int64)` | | 处理人ID | |
|
||
| `orderNo` | `string` | | 订单编号(模糊) | |
|
||
| `page` | `integer(int32)` | | 页码 | |
|
||
| `pageSize` | `integer(int32)` | | 每页条数 | |
|
||
| `priority` | `string` | | 优先级: URGENT/NORMAL | |
|
||
| `status` | `string` | | 状态: PENDING/PROCESSING/RESOLVED/REJECTED | |
|
||
| `type` | `string` | | 类型: ROOM_CHANGE/ROOM_ADD/CHECKOUT_CHANGE/HOTEL_ISSUE/VEHICLE_CHANGE/SCENIC_ADD/SCENIC_REMOVE/OTHER | |
|
||
|
||
**响应** `统一响应结果«分页结果«WorkOrderVO»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `分页结果«WorkOrderVO»` | | 响应数据 |
|
||
| `page` | `int` | | 当前页码 |
|
||
| `pageSize` | `int` | | 每页条数 |
|
||
| `records` | `WorkOrderVO[]` | | 数据列表 |
|
||
| `assigneeAdminId` | `string` | | 处理人ID |
|
||
| `assigneeName` | `string` | | 处理人姓名 |
|
||
| `attachmentUrls` | `string` | | 附件URL(JSON数组) |
|
||
| `costDifference` | `number` | | 差价 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `creatorAdminId` | `string` | | 发起人ID |
|
||
| `creatorName` | `string` | | 发起人姓名 |
|
||
| `description` | `string` | | 问题描述 |
|
||
| `logs` | `工单操作日志VO[]` | | 操作日志列表 |
|
||
| `orderId` | `string` | | 关联订单ID |
|
||
| `orderNo` | `string` | | 关联订单编号 |
|
||
| `priority` | `string` | | 优先级 |
|
||
| `priorityLabel` | `string` | | 优先级标签 |
|
||
| `rejectReason` | `string` | | 驳回原因 |
|
||
| `resolution` | `string` | | 处理结果 |
|
||
| `resolvedAt` | `string` | | 处理完成时间 |
|
||
| `resourceDetail` | `string` | | 资源详情JSON |
|
||
| `status` | `string` | | 状态 |
|
||
| `statusLabel` | `string` | | 状态标签 |
|
||
| `type` | `string` | | 工单类型 |
|
||
| `typeLabel` | `string` | | 工单类型标签 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `workOrderId` | `string` | | 工单ID |
|
||
| `workOrderNo` | `string` | | 工单编号 |
|
||
| `total` | `int` | | 总记录数 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/work-order/stats
|
||
|
||
**工单统计**
|
||
|
||
返回各状态的工单数量和紧急工单数,用于工单管理页面顶部统计卡片
|
||
|
||
【关联字典】
|
||
- 返回字段中的状态key → 字典:work_order_status(工单状态)
|
||
|
||
**响应** `统一响应结果«Map«string,object»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `object` | | 响应数据 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/work-order/{workOrderId}
|
||
|
||
**工单详情**
|
||
|
||
返回工单完整信息,包括关联订单、资源详情、处理记录和备注列表
|
||
|
||
【关联字典】
|
||
- 返回字段 status → 字典:work_order_status(工单状态)
|
||
- 返回字段 type → 字典:work_order_type(工单类型)
|
||
- 返回字段 priority → 字典:work_order_priority(工单优先级)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `workOrderId` | `integer` | | 工单ID |
|
||
|
||
**响应** `统一响应结果«WorkOrderVO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `WorkOrderVO` | | 响应数据 |
|
||
| `assigneeAdminId` | `string` | | 处理人ID |
|
||
| `assigneeName` | `string` | | 处理人姓名 |
|
||
| `attachmentUrls` | `string` | | 附件URL(JSON数组) |
|
||
| `costDifference` | `number` | | 差价 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `creatorAdminId` | `string` | | 发起人ID |
|
||
| `creatorName` | `string` | | 发起人姓名 |
|
||
| `description` | `string` | | 问题描述 |
|
||
| `logs` | `工单操作日志VO[]` | | 操作日志列表 |
|
||
| `action` | `string` | | 操作动作 |
|
||
| `actionLabel` | `string` | | 操作动作标签 |
|
||
| `content` | `string` | | 操作内容 |
|
||
| `createdAt` | `string` | | 操作时间 |
|
||
| `logId` | `string` | | 日志ID |
|
||
| `operatorName` | `string` | | 操作人姓名 |
|
||
| `orderId` | `string` | | 关联订单ID |
|
||
| `orderNo` | `string` | | 关联订单编号 |
|
||
| `priority` | `string` | | 优先级 |
|
||
| `priorityLabel` | `string` | | 优先级标签 |
|
||
| `rejectReason` | `string` | | 驳回原因 |
|
||
| `resolution` | `string` | | 处理结果 |
|
||
| `resolvedAt` | `string` | | 处理完成时间 |
|
||
| `resourceDetail` | `string` | | 资源详情JSON |
|
||
| `status` | `string` | | 状态 |
|
||
| `statusLabel` | `string` | | 状态标签 |
|
||
| `type` | `string` | | 工单类型 |
|
||
| `typeLabel` | `string` | | 工单类型标签 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `workOrderId` | `string` | | 工单ID |
|
||
| `workOrderNo` | `string` | | 工单编号 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/work-order/{workOrderId}/assign
|
||
|
||
**指派工单**
|
||
|
||
将工单分配给指定管理员处理。被指派人将在待办列表中看到该工单
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `workOrderId` | `integer` | | 工单ID |
|
||
|
||
**查询参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 | 示例 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `assigneeId` | `integer(int64)` | | 处理人ID | |
|
||
| `assigneeName` | `string` | | 处理人姓名 | |
|
||
|
||
**响应** `统一响应结果«WorkOrderVO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `WorkOrderVO` | | 响应数据 |
|
||
| `assigneeAdminId` | `string` | | 处理人ID |
|
||
| `assigneeName` | `string` | | 处理人姓名 |
|
||
| `attachmentUrls` | `string` | | 附件URL(JSON数组) |
|
||
| `costDifference` | `number` | | 差价 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `creatorAdminId` | `string` | | 发起人ID |
|
||
| `creatorName` | `string` | | 发起人姓名 |
|
||
| `description` | `string` | | 问题描述 |
|
||
| `logs` | `工单操作日志VO[]` | | 操作日志列表 |
|
||
| `action` | `string` | | 操作动作 |
|
||
| `actionLabel` | `string` | | 操作动作标签 |
|
||
| `content` | `string` | | 操作内容 |
|
||
| `createdAt` | `string` | | 操作时间 |
|
||
| `logId` | `string` | | 日志ID |
|
||
| `operatorName` | `string` | | 操作人姓名 |
|
||
| `orderId` | `string` | | 关联订单ID |
|
||
| `orderNo` | `string` | | 关联订单编号 |
|
||
| `priority` | `string` | | 优先级 |
|
||
| `priorityLabel` | `string` | | 优先级标签 |
|
||
| `rejectReason` | `string` | | 驳回原因 |
|
||
| `resolution` | `string` | | 处理结果 |
|
||
| `resolvedAt` | `string` | | 处理完成时间 |
|
||
| `resourceDetail` | `string` | | 资源详情JSON |
|
||
| `status` | `string` | | 状态 |
|
||
| `statusLabel` | `string` | | 状态标签 |
|
||
| `type` | `string` | | 工单类型 |
|
||
| `typeLabel` | `string` | | 工单类型标签 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `workOrderId` | `string` | | 工单ID |
|
||
| `workOrderNo` | `string` | | 工单编号 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/work-order/{workOrderId}/comment
|
||
|
||
**添加工单备注**
|
||
|
||
在工单中追加备注信息,用于内部沟通和处理过程记录
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `workOrderId` | `integer` | | 工单ID |
|
||
|
||
**请求体** `object`
|
||
|
||
**响应** `统一响应结果«WorkOrderVO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `WorkOrderVO` | | 响应数据 |
|
||
| `assigneeAdminId` | `string` | | 处理人ID |
|
||
| `assigneeName` | `string` | | 处理人姓名 |
|
||
| `attachmentUrls` | `string` | | 附件URL(JSON数组) |
|
||
| `costDifference` | `number` | | 差价 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `creatorAdminId` | `string` | | 发起人ID |
|
||
| `creatorName` | `string` | | 发起人姓名 |
|
||
| `description` | `string` | | 问题描述 |
|
||
| `logs` | `工单操作日志VO[]` | | 操作日志列表 |
|
||
| `action` | `string` | | 操作动作 |
|
||
| `actionLabel` | `string` | | 操作动作标签 |
|
||
| `content` | `string` | | 操作内容 |
|
||
| `createdAt` | `string` | | 操作时间 |
|
||
| `logId` | `string` | | 日志ID |
|
||
| `operatorName` | `string` | | 操作人姓名 |
|
||
| `orderId` | `string` | | 关联订单ID |
|
||
| `orderNo` | `string` | | 关联订单编号 |
|
||
| `priority` | `string` | | 优先级 |
|
||
| `priorityLabel` | `string` | | 优先级标签 |
|
||
| `rejectReason` | `string` | | 驳回原因 |
|
||
| `resolution` | `string` | | 处理结果 |
|
||
| `resolvedAt` | `string` | | 处理完成时间 |
|
||
| `resourceDetail` | `string` | | 资源详情JSON |
|
||
| `status` | `string` | | 状态 |
|
||
| `statusLabel` | `string` | | 状态标签 |
|
||
| `type` | `string` | | 工单类型 |
|
||
| `typeLabel` | `string` | | 工单类型标签 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `workOrderId` | `string` | | 工单ID |
|
||
| `workOrderNo` | `string` | | 工单编号 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/work-order/{workOrderId}/process
|
||
|
||
**处理工单(解决/驳回)**
|
||
|
||
解决时需填写处理结果(resolution),驳回时需填写驳回原因(rejectReason)。
|
||
可调整差价(costDifference),正数表示加价,负数表示退费
|
||
|
||
【关联字典】
|
||
- 返回字段 status → 字典:work_order_status(工单状态)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `workOrderId` | `integer` | | 工单ID |
|
||
|
||
**请求体** `ProcessWorkOrderRequest`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `action` | `string` | 是 | 操作: RESOLVE(解决) / REJECT(驳回) |
|
||
| `costDifference` | `number` | | 调整后差价 |
|
||
| `rejectReason` | `string` | | 驳回原因(驳回时填写) |
|
||
| `resolution` | `string` | | 处理结果(解决时填写) |
|
||
|
||
**响应** `统一响应结果«WorkOrderVO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `WorkOrderVO` | | 响应数据 |
|
||
| `assigneeAdminId` | `string` | | 处理人ID |
|
||
| `assigneeName` | `string` | | 处理人姓名 |
|
||
| `attachmentUrls` | `string` | | 附件URL(JSON数组) |
|
||
| `costDifference` | `number` | | 差价 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `creatorAdminId` | `string` | | 发起人ID |
|
||
| `creatorName` | `string` | | 发起人姓名 |
|
||
| `description` | `string` | | 问题描述 |
|
||
| `logs` | `工单操作日志VO[]` | | 操作日志列表 |
|
||
| `action` | `string` | | 操作动作 |
|
||
| `actionLabel` | `string` | | 操作动作标签 |
|
||
| `content` | `string` | | 操作内容 |
|
||
| `createdAt` | `string` | | 操作时间 |
|
||
| `logId` | `string` | | 日志ID |
|
||
| `operatorName` | `string` | | 操作人姓名 |
|
||
| `orderId` | `string` | | 关联订单ID |
|
||
| `orderNo` | `string` | | 关联订单编号 |
|
||
| `priority` | `string` | | 优先级 |
|
||
| `priorityLabel` | `string` | | 优先级标签 |
|
||
| `rejectReason` | `string` | | 驳回原因 |
|
||
| `resolution` | `string` | | 处理结果 |
|
||
| `resolvedAt` | `string` | | 处理完成时间 |
|
||
| `resourceDetail` | `string` | | 资源详情JSON |
|
||
| `status` | `string` | | 状态 |
|
||
| `statusLabel` | `string` | | 状态标签 |
|
||
| `type` | `string` | | 工单类型 |
|
||
| `typeLabel` | `string` | | 工单类型标签 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `workOrderId` | `string` | | 工单ID |
|
||
| `workOrderNo` | `string` | | 工单编号 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
## 早鸟优惠计划管理
|
||
|
||
### `POST` /admin/order/early-bird
|
||
|
||
**创建早鸟优惠计划**
|
||
|
||
创建一个早鸟优惠计划,在指定日期范围内下单且满足最低人数条件的订单可享受优惠。
|
||
下单时系统自动匹配最优的早鸟计划。权限:仅超级管理员(SUPER_ADMIN)
|
||
|
||
**请求体** `早鸟优惠计划请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `discountAmount` | `number` | 是 | 优惠金额(从订单总价中扣减的固定金额) |
|
||
| `endDate` | `string` | 是 | 生效结束日期 |
|
||
| `minPeople` | `int` | 是 | 最低出行人数(含成人+儿童),订单人数>=此值才能享受优惠 |
|
||
| `planName` | `string` | 是 | 计划名称 |
|
||
| `remark` | `string` | | 备注 |
|
||
| `startDate` | `string` | 是 | 生效开始日期 |
|
||
|
||
**响应** `统一响应结果«早鸟优惠计划VO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `早鸟优惠计划VO` | | 响应数据 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `createdBy` | `long` | | 创建人ID |
|
||
| `discountAmount` | `number` | | 优惠金额 |
|
||
| `enabled` | `boolean` | | 是否启用 |
|
||
| `endDate` | `string` | | 生效结束日期 |
|
||
| `minPeople` | `int` | | 最低人数 |
|
||
| `planId` | `long` | | 计划ID |
|
||
| `planName` | `string` | | 计划名称 |
|
||
| `remark` | `string` | | 备注 |
|
||
| `startDate` | `string` | | 生效开始日期 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/early-bird/list
|
||
|
||
**早鸟优惠计划列表**
|
||
|
||
分页查询所有早鸟优惠计划。权限:仅超级管理员(SUPER_ADMIN)
|
||
|
||
**查询参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 | 示例 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `page` | `integer(int32)` | | 页码 | |
|
||
| `pageSize` | `integer(int32)` | | 每页条数 | |
|
||
|
||
**响应** `统一响应结果«分页结果«早鸟优惠计划VO»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `分页结果«早鸟优惠计划VO»` | | 响应数据 |
|
||
| `page` | `int` | | 当前页码 |
|
||
| `pageSize` | `int` | | 每页条数 |
|
||
| `records` | `早鸟优惠计划VO[]` | | 数据列表 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `createdBy` | `long` | | 创建人ID |
|
||
| `discountAmount` | `number` | | 优惠金额 |
|
||
| `enabled` | `boolean` | | 是否启用 |
|
||
| `endDate` | `string` | | 生效结束日期 |
|
||
| `minPeople` | `int` | | 最低人数 |
|
||
| `planId` | `long` | | 计划ID |
|
||
| `planName` | `string` | | 计划名称 |
|
||
| `remark` | `string` | | 备注 |
|
||
| `startDate` | `string` | | 生效开始日期 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `total` | `int` | | 总记录数 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/early-bird/{planId}
|
||
|
||
**早鸟优惠计划详情**
|
||
|
||
权限:仅超级管理员(SUPER_ADMIN)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `planId` | `integer` | | 早鸟计划ID |
|
||
|
||
**响应** `统一响应结果«早鸟优惠计划VO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `早鸟优惠计划VO` | | 响应数据 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `createdBy` | `long` | | 创建人ID |
|
||
| `discountAmount` | `number` | | 优惠金额 |
|
||
| `enabled` | `boolean` | | 是否启用 |
|
||
| `endDate` | `string` | | 生效结束日期 |
|
||
| `minPeople` | `int` | | 最低人数 |
|
||
| `planId` | `long` | | 计划ID |
|
||
| `planName` | `string` | | 计划名称 |
|
||
| `remark` | `string` | | 备注 |
|
||
| `startDate` | `string` | | 生效开始日期 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/early-bird/{planId}
|
||
|
||
**修改早鸟优惠计划**
|
||
|
||
权限:仅超级管理员(SUPER_ADMIN)。修改不影响已下单的订单优惠
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `planId` | `integer` | | 早鸟计划ID |
|
||
|
||
**请求体** `早鸟优惠计划请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `discountAmount` | `number` | 是 | 优惠金额(从订单总价中扣减的固定金额) |
|
||
| `endDate` | `string` | 是 | 生效结束日期 |
|
||
| `minPeople` | `int` | 是 | 最低出行人数(含成人+儿童),订单人数>=此值才能享受优惠 |
|
||
| `planName` | `string` | 是 | 计划名称 |
|
||
| `remark` | `string` | | 备注 |
|
||
| `startDate` | `string` | 是 | 生效开始日期 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `DELETE` /admin/order/early-bird/{planId}
|
||
|
||
**删除早鸟优惠计划**
|
||
|
||
权限:仅超级管理员(SUPER_ADMIN)。删除不影响已下单的订单优惠
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `planId` | `integer` | | 早鸟计划ID |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/early-bird/{planId}/toggle
|
||
|
||
**启用/禁用早鸟优惠计划**
|
||
|
||
禁用后该计划不再参与自动匹配。权限:仅超级管理员(SUPER_ADMIN)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `planId` | `integer` | | 早鸟计划ID |
|
||
|
||
**查询参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 | 示例 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `enabled` | `boolean` | | 是否启用 | |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
## 管理端相册接口
|
||
|
||
### `PUT` /admin/order/album/file/{albumFileId}
|
||
|
||
**编辑文件信息**
|
||
|
||
**关联字典**:
|
||
- album_file_type(文件类型,返回字段fileType):IMAGE=图片, VIDEO=视频
|
||
- album_location_type(地点类型,返回字段locationType):RESOURCE=关联资源, CUSTOM=自定义地点
|
||
- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `albumFileId` | `integer` | | 相册文件ID |
|
||
|
||
**请求体** `AlbumFileUpdateRequest`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `customLocation` | `string` | | 自定义地点文本 |
|
||
| `description` | `string` | | 文件描述 |
|
||
| `locationType` | `string` | | 地点类型: RESOURCE/CUSTOM |
|
||
| `resourceId` | `long` | | 资源ID |
|
||
| `resourceName` | `string` | | 资源名称 |
|
||
| `resourceType` | `string` | | 资源类型 |
|
||
| `sortOrder` | `int` | | 排序号 |
|
||
|
||
**响应** `统一响应结果«AlbumFileVO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `AlbumFileVO` | | 响应数据 |
|
||
| `albumFileId` | `long` | | 相册文件ID |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `createdBy` | `long` | | 上传人ID |
|
||
| `customLocation` | `string` | | 自定义地点文本 |
|
||
| `description` | `string` | | 文件描述 |
|
||
| `fileId` | `long` | | 文件ID |
|
||
| `fileType` | `string` | | 文件类型: IMAGE/VIDEO |
|
||
| `folderId` | `long` | | 所属文件夹ID |
|
||
| `locationText` | `string` | | 地点显示文本 |
|
||
| `locationType` | `string` | | 地点类型: RESOURCE/CUSTOM |
|
||
| `ossUrl` | `string` | | 文件访问URL |
|
||
| `resourceId` | `long` | | 资源ID |
|
||
| `resourceName` | `string` | | 资源名称 |
|
||
| `resourceType` | `string` | | 资源类型 |
|
||
| `sortOrder` | `int` | | 排序号 |
|
||
| `thumbnailUrl` | `string` | | 缩略图URL |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `DELETE` /admin/order/album/file/{albumFileId}
|
||
|
||
**删除文件**
|
||
|
||
删除相册中的单个文件(照片/视频)。仅上传者或超级管理员可操作,删除后C端用户不再可见。
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `albumFileId` | `integer` | | 相册文件ID |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/album/folder/{folderId}
|
||
|
||
**编辑相册文件夹**
|
||
|
||
修改文件夹名称或描述。仅创建者或超级管理员可操作
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `folderId` | `integer` | | 文件夹ID |
|
||
|
||
**请求体** `AlbumFolderRequest`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `folderName` | `string` | | 文件夹名称 |
|
||
| `sortOrder` | `int` | | 排序号 |
|
||
|
||
**响应** `统一响应结果«AlbumFolderVO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `AlbumFolderVO` | | 响应数据 |
|
||
| `coverThumbnailUrl` | `string` | | 封面缩略图URL |
|
||
| `coverUrl` | `string` | | 封面文件URL |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `createdBy` | `long` | | 创建人ID |
|
||
| `fileCount` | `int` | | 文件数量 |
|
||
| `folderId` | `long` | | 文件夹ID |
|
||
| `folderName` | `string` | | 文件夹名称 |
|
||
| `orderId` | `long` | | 关联订单ID |
|
||
| `sortOrder` | `int` | | 排序号 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `DELETE` /admin/order/album/folder/{folderId}
|
||
|
||
**删除相册文件夹**
|
||
|
||
删除文件夹及其下所有文件。仅创建者或超级管理员可操作。删除后C端用户不再可见
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `folderId` | `integer` | | 文件夹ID |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/album/folder/{folderId}/cover
|
||
|
||
**设置文件夹封面**
|
||
|
||
将文件夹中的指定文件设为封面图,封面图会在文件夹列表中展示。仅上传者或超级管理员可操作。
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `folderId` | `integer` | | 文件夹ID |
|
||
|
||
**查询参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 | 示例 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `albumFileId` | `integer(int64)` | | 相册文件ID | |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/album/folder/{folderId}/files
|
||
|
||
**查询文件夹下的文件列表**
|
||
|
||
**关联字典**:
|
||
- album_file_type(文件类型,返回字段fileType):IMAGE=图片, VIDEO=视频
|
||
- album_location_type(地点类型,返回字段locationType):RESOURCE=关联资源, CUSTOM=自定义地点
|
||
- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `folderId` | `integer` | | 文件夹ID |
|
||
|
||
**查询参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 | 示例 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `page` | `integer(int32)` | | 页码 | |
|
||
| `size` | `integer(int32)` | | 每页数量 | |
|
||
|
||
**响应** `统一响应结果«分页结果«AlbumFileVO»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `分页结果«AlbumFileVO»` | | 响应数据 |
|
||
| `page` | `int` | | 当前页码 |
|
||
| `pageSize` | `int` | | 每页条数 |
|
||
| `records` | `AlbumFileVO[]` | | 数据列表 |
|
||
| `albumFileId` | `long` | | 相册文件ID |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `createdBy` | `long` | | 上传人ID |
|
||
| `customLocation` | `string` | | 自定义地点文本 |
|
||
| `description` | `string` | | 文件描述 |
|
||
| `fileId` | `long` | | 文件ID |
|
||
| `fileType` | `string` | | 文件类型: IMAGE/VIDEO |
|
||
| `folderId` | `long` | | 所属文件夹ID |
|
||
| `locationText` | `string` | | 地点显示文本 |
|
||
| `locationType` | `string` | | 地点类型: RESOURCE/CUSTOM |
|
||
| `ossUrl` | `string` | | 文件访问URL |
|
||
| `resourceId` | `long` | | 资源ID |
|
||
| `resourceName` | `string` | | 资源名称 |
|
||
| `resourceType` | `string` | | 资源类型 |
|
||
| `sortOrder` | `int` | | 排序号 |
|
||
| `thumbnailUrl` | `string` | | 缩略图URL |
|
||
| `total` | `int` | | 总记录数 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/album/folder/{folderId}/files
|
||
|
||
**批量添加文件到文件夹**
|
||
|
||
一次添加多个照片/视频到指定文件夹。文件需先通过文件服务上传获取OSS URL
|
||
|
||
**关联字典**:
|
||
- album_file_type(文件类型,返回字段fileType):IMAGE=图片, VIDEO=视频
|
||
- album_location_type(地点类型,返回字段locationType):RESOURCE=关联资源, CUSTOM=自定义地点
|
||
- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `folderId` | `integer` | | 文件夹ID |
|
||
|
||
**请求体** `AlbumFileBatchAddRequest`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `files` | `AlbumFileAddRequest[]` | | 文件列表 |
|
||
| `customLocation` | `string` | | 自定义地点文本(地点类型为CUSTOM时) |
|
||
| `description` | `string` | | 文件描述 |
|
||
| `fileId` | `long` | | 文件ID(来自file_info) |
|
||
| `fileType` | `string` | | 文件类型: IMAGE/VIDEO |
|
||
| `locationType` | `string` | | 地点类型: RESOURCE/CUSTOM |
|
||
| `ossUrl` | `string` | | 文件访问URL |
|
||
| `resourceId` | `long` | | 资源ID(地点类型为RESOURCE时) |
|
||
| `resourceName` | `string` | | 资源名称(地点类型为RESOURCE时) |
|
||
| `resourceType` | `string` | | 资源类型(地点类型为RESOURCE时) |
|
||
| `sortOrder` | `int` | | 排序号 |
|
||
| `thumbnailUrl` | `string` | | 缩略图URL |
|
||
|
||
**响应** `统一响应结果«List«AlbumFileVO»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `AlbumFileVO[]` | | 响应数据 |
|
||
| `albumFileId` | `long` | | 相册文件ID |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `createdBy` | `long` | | 上传人ID |
|
||
| `customLocation` | `string` | | 自定义地点文本 |
|
||
| `description` | `string` | | 文件描述 |
|
||
| `fileId` | `long` | | 文件ID |
|
||
| `fileType` | `string` | | 文件类型: IMAGE/VIDEO |
|
||
| `folderId` | `long` | | 所属文件夹ID |
|
||
| `locationText` | `string` | | 地点显示文本 |
|
||
| `locationType` | `string` | | 地点类型: RESOURCE/CUSTOM |
|
||
| `ossUrl` | `string` | | 文件访问URL |
|
||
| `resourceId` | `long` | | 资源ID |
|
||
| `resourceName` | `string` | | 资源名称 |
|
||
| `resourceType` | `string` | | 资源类型 |
|
||
| `sortOrder` | `int` | | 排序号 |
|
||
| `thumbnailUrl` | `string` | | 缩略图URL |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/album/my-uploads
|
||
|
||
**我的上传**
|
||
|
||
查询当前管理员上传的所有相册文件(跨订单),方便管理自己上传的内容
|
||
|
||
**关联字典**:
|
||
- album_file_type(文件类型,返回字段fileType):IMAGE=图片, VIDEO=视频
|
||
- album_location_type(地点类型,返回字段locationType):RESOURCE=关联资源, CUSTOM=自定义地点
|
||
- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆
|
||
|
||
**查询参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 | 示例 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `page` | `integer(int32)` | | 页码 | |
|
||
| `size` | `integer(int32)` | | 每页数量 | |
|
||
|
||
**响应** `统一响应结果«分页结果«AlbumFileVO»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `分页结果«AlbumFileVO»` | | 响应数据 |
|
||
| `page` | `int` | | 当前页码 |
|
||
| `pageSize` | `int` | | 每页条数 |
|
||
| `records` | `AlbumFileVO[]` | | 数据列表 |
|
||
| `albumFileId` | `long` | | 相册文件ID |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `createdBy` | `long` | | 上传人ID |
|
||
| `customLocation` | `string` | | 自定义地点文本 |
|
||
| `description` | `string` | | 文件描述 |
|
||
| `fileId` | `long` | | 文件ID |
|
||
| `fileType` | `string` | | 文件类型: IMAGE/VIDEO |
|
||
| `folderId` | `long` | | 所属文件夹ID |
|
||
| `locationText` | `string` | | 地点显示文本 |
|
||
| `locationType` | `string` | | 地点类型: RESOURCE/CUSTOM |
|
||
| `ossUrl` | `string` | | 文件访问URL |
|
||
| `resourceId` | `long` | | 资源ID |
|
||
| `resourceName` | `string` | | 资源名称 |
|
||
| `resourceType` | `string` | | 资源类型 |
|
||
| `sortOrder` | `int` | | 排序号 |
|
||
| `thumbnailUrl` | `string` | | 缩略图URL |
|
||
| `total` | `int` | | 总记录数 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/{orderId}/album/folder
|
||
|
||
**创建相册文件夹**
|
||
|
||
为订单创建旅行相册文件夹(如'第一天风景'、'合影'等),用于组织旅途照片/视频
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `AlbumFolderRequest`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `folderName` | `string` | | 文件夹名称 |
|
||
| `sortOrder` | `int` | | 排序号 |
|
||
|
||
**响应** `统一响应结果«AlbumFolderVO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `AlbumFolderVO` | | 响应数据 |
|
||
| `coverThumbnailUrl` | `string` | | 封面缩略图URL |
|
||
| `coverUrl` | `string` | | 封面文件URL |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `createdBy` | `long` | | 创建人ID |
|
||
| `fileCount` | `int` | | 文件数量 |
|
||
| `folderId` | `long` | | 文件夹ID |
|
||
| `folderName` | `string` | | 文件夹名称 |
|
||
| `orderId` | `long` | | 关联订单ID |
|
||
| `sortOrder` | `int` | | 排序号 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/{orderId}/album/folders
|
||
|
||
**查询订单的文件夹列表**
|
||
|
||
获取指定订单的所有相册文件夹,含文件夹名称、描述、封面图、文件数量等信息。
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**响应** `统一响应结果«List«AlbumFolderVO»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `AlbumFolderVO[]` | | 响应数据 |
|
||
| `coverThumbnailUrl` | `string` | | 封面缩略图URL |
|
||
| `coverUrl` | `string` | | 封面文件URL |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `createdBy` | `long` | | 创建人ID |
|
||
| `fileCount` | `int` | | 文件数量 |
|
||
| `folderId` | `long` | | 文件夹ID |
|
||
| `folderName` | `string` | | 文件夹名称 |
|
||
| `orderId` | `long` | | 关联订单ID |
|
||
| `sortOrder` | `int` | | 排序号 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
## 管理端订单接口
|
||
|
||
### `POST` /admin/order/create
|
||
|
||
**创建订单(定制师代下单)**
|
||
|
||
创建订单流程:选择产品 → 填写联系人和出行人 → 系统计算报价 → 生成订单(PENDING_PAY状态)
|
||
|
||
权限:CUSTOM产品仅创建者可下单,CORE/ROUTE产品所有管理员可下单
|
||
|
||
【关联字典】
|
||
- 请求参数 productType → 字典:product_type(产品类型)
|
||
- 请求参数 travelers[].travelerType → 字典:traveler_type(出行人类型)
|
||
- 请求参数 travelers[].idCardType → 字典:id_card_type(证件类型)
|
||
- 请求参数 travelers[].gender → 字典:gender(性别)
|
||
- 返回字段 status → 字典:order_status(订单状态)
|
||
- 返回字段 processStatus → 字典:order_process_status(订单内部流程状态)
|
||
- 返回字段 productType → 字典:product_type(产品类型)
|
||
- 返回字段 travelers[].travelerType → 字典:traveler_type(出行人类型)
|
||
- 返回字段 travelers[].idCardType → 字典:id_card_type(证件类型)
|
||
- 返回字段 travelers[].gender → 字典:gender(性别)
|
||
|
||
**请求体** `管理员创建订单请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `adultCount` | `int` | | 成人数 |
|
||
| `babyCount` | `int` | | 幼童数 |
|
||
| `childCount` | `int` | | 儿童数 |
|
||
| `childNeedBed` | `boolean` | | 儿童是否需要床位(影响房间分配和报价计算) |
|
||
| `contactName` | `string` | 是 | 联系人姓名 |
|
||
| `contactPhone` | `string` | 是 | 联系人电话 |
|
||
| `customizerId` | `long` | | 定制师ID(可选,默认为创建人) |
|
||
| `departureDate` | `string` | | 出发日期(GROUP产品可不传,从团期获取) |
|
||
| `expiryMinutes` | `int` | | 支付时限(分钟),不传则使用全局默认值。超时未支付订单自动取消 |
|
||
| `groupBatchId` | `long` | | 团期ID(GROUP产品必填) |
|
||
| `productId` | `long` | 是 | 产品ID |
|
||
| `remark` | `string` | | 备注 |
|
||
| `roomCount` | `int` | | 房间数(GROUP产品,默认1) |
|
||
| `travelers` | `出行人信息[]` | | 出行人列表 |
|
||
| `birthday` | `string` | 是 | 出生日期(必填,后端根据此字段自动判断人员类型) |
|
||
| `email` | `string` | | 电子邮箱 |
|
||
| `emergencyContact` | `string` | | 紧急联系人 |
|
||
| `emergencyPhone` | `string` | | 紧急联系电话 |
|
||
| `gender` | `int` | | 性别(字典:gender) |
|
||
| `idCardNo` | `string` | | 证件号码 |
|
||
| `idCardType` | `string` | | 证件类型(字典:id_card_type) |
|
||
| `name` | `string` | 是 | 出行人姓名 |
|
||
| `nationality` | `string` | | 国籍 |
|
||
| `phone` | `string` | | 手机号 |
|
||
| `userPhone` | `string` | | 用户手机号(可选,用于关联C端用户)。如匹配到已注册用户则自动绑定订单 |
|
||
| `youngChildCount` | `int` | | 小童数 |
|
||
|
||
**响应** `统一响应结果«订单详情VO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `订单详情VO` | | 响应数据 |
|
||
| `adultCount` | `int` | | 成人数 |
|
||
| `babyCount` | `int` | | 幼童数 |
|
||
| `balanceAmount` | `number` | | 尾款金额(总售价-定金) |
|
||
| `balancePayMethod` | `string` | | 尾款支付方式: ONLINE=线上微信支付 OFFLINE=线下转账 |
|
||
| `balanceProofUrl` | `string` | | 尾款凭证URL |
|
||
| `cancelReason` | `string` | | 取消原因 |
|
||
| `cancelledAt` | `string` | | 取消时间 |
|
||
| `checklistConfirmed` | `boolean` | | 清单确认状态 |
|
||
| `childCount` | `int` | | 儿童数 |
|
||
| `completedAt` | `string` | | 完成时间 |
|
||
| `confirmedAt` | `string` | | 确认时间 |
|
||
| `contactName` | `string` | | 联系人姓名 |
|
||
| `contactPhone` | `string` | | 联系人电话 |
|
||
| `contracts` | `Map«string,object»[]` | | 合同列表(含signUrl/fileUrl/status等) |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `creatorAdminId` | `long` | | 创建人管理员ID |
|
||
| `creatorName` | `string` | | 创建人姓名 |
|
||
| `customizerId` | `long` | | 定制师ID |
|
||
| `customizerName` | `string` | | 定制师姓名 |
|
||
| `departureDate` | `string` | | 出发日期 |
|
||
| `depositAmount` | `number` | | 定金金额 |
|
||
| `depositRatio` | `int` | | 定金比例 |
|
||
| `discountAmount` | `number` | | 优惠金额 |
|
||
| `discountReason` | `string` | | 优惠原因 |
|
||
| `discounts` | `OrderDiscount[]` | | 优惠列表 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `discountAmount` | `number` | | 优惠金额 |
|
||
| `discountId` | `long` | | 优惠ID |
|
||
| `discountName` | `string` | | 优惠名称 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `displayStatus` | `string` | | 前端显示状态(字典:order_display_status) |
|
||
| `displayStatusLabel` | `string` | | 前端显示状态标签(字典:order_display_status 翻译) |
|
||
| `expiryMinutes` | `int` | | 支付时限(分钟) |
|
||
| `expiryTime` | `string` | | 支付截止时间 |
|
||
| `hotelAssignments` | `string` | | 酒店分配信息JSON |
|
||
| `insurances` | `Map«string,object»[]` | | 保险订单列表(含productName/extPolicyNo/status/startDate/endDate等) |
|
||
| `mchId` | `string` | | 商户号 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderNo` | `string` | | 订单号 |
|
||
| `paidAmount` | `number` | | 已付金额 |
|
||
| `paidAt` | `string` | | 支付时间 |
|
||
| `payMethodLabel` | `string` | | 支付方式标签(如:微信支付、定金微信+尾款线下) |
|
||
| `paymentMode` | `string` | | 支付模式(字典:payment_mode) |
|
||
| `processStatus` | `string` | | 内部流程状态(字典:order_process_status) |
|
||
| `processStatusLabel` | `string` | | 内部流程状态标签(字典:order_process_status 翻译) |
|
||
| `productCoverUrl` | `string` | | 产品封面图URL |
|
||
| `productId` | `long` | | 产品ID |
|
||
| `productName` | `string` | | 产品名称 |
|
||
| `productSnapshot` | `string` | | 产品快照JSON |
|
||
| `productType` | `string` | | 产品类型(字典:product_type) |
|
||
| `readyAt` | `string` | | 就绪时间 |
|
||
| `refundAmount` | `number` | | 退款金额(实退金额) |
|
||
| `remark` | `string` | | 备注 |
|
||
| `returnDate` | `string` | | 返程日期(出发日期 + 行程天数 - 1) |
|
||
| `reviewed` | `boolean` | | 是否已评价 |
|
||
| `roomInfo` | `string` | | 房间信息 |
|
||
| `sharerOpenid` | `string` | | 分享人微信openid |
|
||
| `status` | `string` | | 订单状态(字典:order_status) |
|
||
| `statusLabel` | `string` | | 订单状态标签(字典:order_status 翻译) |
|
||
| `timeline` | `OrderTimeline[]` | | 时间线列表 |
|
||
| `action` | `string` | | 操作动作 |
|
||
| `content` | `string` | | 操作内容 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `operatorId` | `long` | | 操作人ID |
|
||
| `operatorName` | `string` | | 操作人姓名 |
|
||
| `operatorType` | `string` | | 操作人类型:USER=用户 ADMIN=管理员 SYSTEM=系统 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `timelineId` | `long` | | 时间线ID |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `todos` | `OrderTodo[]` | | 待办列表 |
|
||
| `assigneeAdminId` | `long` | | 指派管理员ID |
|
||
| `assigneeRoleKey` | `string` | | 指派角色Key |
|
||
| `completedAt` | `string` | | 完成时间 |
|
||
| `completedBy` | `long` | | 完成人ID |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `lastNotifiedAt` | `string` | | 最后通知时间 |
|
||
| `notificationCount` | `int` | | 通知次数 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderNo` | `string` | | 订单编号 |
|
||
| `sequence` | `int` | | 排序序号 |
|
||
| `status` | `string` | | 待办状态 |
|
||
| `todoId` | `long` | | 待办ID |
|
||
| `todoLabel` | `string` | | 待办标签 |
|
||
| `todoType` | `string` | | 待办类型 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `totalCost` | `number` | | 总成本(仅管理员可见) |
|
||
| `totalPrice` | `number` | | 总售价 |
|
||
| `travelers` | `OrderTraveler[]` | | 出行人列表 |
|
||
| `birthday` | `string` | | 出生日期 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `email` | `string` | | 邮箱地址 |
|
||
| `emergencyContact` | `string` | | 紧急联系人姓名 |
|
||
| `emergencyPhone` | `string` | | 紧急联系人电话(加密存储) |
|
||
| `gender` | `int` | | 性别(字典:gender) |
|
||
| `idCardNo` | `string` | | 证件号码(加密存储) |
|
||
| `idCardType` | `string` | | 证件类型(字典:id_card_type) |
|
||
| `name` | `string` | | 出行人姓名 |
|
||
| `nationality` | `string` | | 国籍 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderTravelerId` | `long` | | 出行人记录ID |
|
||
| `phone` | `string` | | 手机号码(加密存储) |
|
||
| `travelerType` | `string` | | 出行人类型(字典:traveler_type) |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `tripDays` | `int` | | 行程天数 |
|
||
| `tripNights` | `int` | | 行程晚数 |
|
||
| `unlockRequestedAt` | `string` | | 解锁请求时间 |
|
||
| `userId` | `long` | | 用户ID |
|
||
| `vehicleInfo` | `string` | | 车辆信息 |
|
||
| `youngChildCount` | `int` | | 小童数 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/list
|
||
|
||
**订单列表**
|
||
|
||
支持按关键词(订单号/联系人/产品名)、状态、内部流程状态、产品类型筛选。
|
||
支持按创建时间/出发日期/总价排序。
|
||
|
||
返回分页结果,包含订单基本信息、状态、支付信息和产品封面
|
||
|
||
【关联字典】
|
||
- 筛选参数 status → 字典:order_status(订单状态)
|
||
- 筛选参数 processStatus → 字典:order_process_status(订单内部流程状态)
|
||
- 筛选参数 productType → 字典:product_type(产品类型)
|
||
- 返回字段 status → 字典:order_status(订单状态)
|
||
- 返回字段 processStatus → 字典:order_process_status(订单内部流程状态)
|
||
- 返回字段 productType → 字典:product_type(产品类型)
|
||
|
||
**查询参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 | 示例 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `keyword` | `string` | | 搜索关键词(订单号/联系人姓名/产品名称) | HL2026 |
|
||
| `page` | `integer(int32)` | | 页码 | 1 |
|
||
| `pageSize` | `integer(int32)` | | 每页条数 | 20 |
|
||
| `processStatus` | `string` | | 内部流程状态(字典:order_process_status) | PENDING_ROOM |
|
||
| `productType` | `string` | | 产品类型(字典:product_type) | CORE |
|
||
| `sortBy` | `string` | | 排序字段(createTime/departureDate/totalPrice) | createTime |
|
||
| `sortDir` | `string` | | 排序方向(desc/asc) | desc |
|
||
| `status` | `string` | | 订单状态(字典:order_status,支持逗号分隔多状态) | PAID |
|
||
|
||
**响应** `统一响应结果«分页结果«管理员订单列表VO»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `分页结果«管理员订单列表VO»` | | 响应数据 |
|
||
| `page` | `int` | | 当前页码 |
|
||
| `pageSize` | `int` | | 每页条数 |
|
||
| `records` | `管理员订单列表VO[]` | | 数据列表 |
|
||
| `adultCount` | `int` | | 成人数 |
|
||
| `babyCount` | `int` | | 幼童数 |
|
||
| `balanceAmount` | `number` | | 尾款金额(DEPOSIT模式:总售价-定金-优惠) |
|
||
| `childCount` | `int` | | 儿童数 |
|
||
| `contactName` | `string` | | 联系人姓名 |
|
||
| `contactPhone` | `string` | | 联系人电话 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `creatorAdminId` | `long` | | 创建人管理员ID |
|
||
| `customizerName` | `string` | | 定制师名称 |
|
||
| `daysUntilDeparture` | `int` | | 距出发天数(负数表示已出发) |
|
||
| `departureDate` | `string` | | 出发日期 |
|
||
| `depositAmount` | `number` | | 定金金额 |
|
||
| `discountAmount` | `number` | | 优惠金额 |
|
||
| `mchId` | `string` | | 商户号 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderNo` | `string` | | 订单号 |
|
||
| `paidAmount` | `number` | | 已付金额 |
|
||
| `paymentMode` | `string` | | 支付模式(字典:payment_mode) |
|
||
| `processStatus` | `string` | | 内部流程状态(字典:order_process_status) |
|
||
| `processStatusLabel` | `string` | | 内部流程状态标签(字典:order_process_status 翻译) |
|
||
| `productCoverUrl` | `string` | | 产品封面图URL |
|
||
| `productId` | `long` | | 产品ID |
|
||
| `productName` | `string` | | 产品名称 |
|
||
| `productType` | `string` | | 产品类型(字典:product_type) |
|
||
| `status` | `string` | | 订单状态(字典:order_status) |
|
||
| `statusLabel` | `string` | | 订单状态标签(字典:order_status 翻译) |
|
||
| `totalPrice` | `number` | | 总售价 |
|
||
| `tripDays` | `int` | | 行程天数 |
|
||
| `tripNights` | `int` | | 行程晚数 |
|
||
| `userId` | `long` | | 用户ID |
|
||
| `youngChildCount` | `int` | | 小童数 |
|
||
| `total` | `int` | | 总记录数 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/quote
|
||
|
||
**报价预览**
|
||
|
||
根据产品、出发日期、人数组合实时计算报价。
|
||
返回各资源明细价格和合计金额,前端据此展示报价清单。
|
||
|
||
注意:报价仅供参考,最终价格以创建订单时为准(价格日历可能变动)
|
||
|
||
**请求体** `报价预览请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `adultCount` | `int` | | 成人数 |
|
||
| `babyCount` | `int` | | 幼童数 |
|
||
| `childCount` | `int` | | 儿童数 |
|
||
| `childNeedBed` | `boolean` | | 儿童是否需要床位 |
|
||
| `departureDate` | `string` | 是 | 出发日期 |
|
||
| `productId` | `long` | 是 | 产品ID |
|
||
| `youngChildCount` | `int` | | 小童数 |
|
||
|
||
**响应** `统一响应结果«Map«string,object»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `object` | | 响应数据 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/{orderId}
|
||
|
||
**订单详情**
|
||
|
||
返回订单完整信息,包括:基本信息、产品快照、联系人、出行人列表、支付记录、优惠明细、时间线、内部流程状态等
|
||
|
||
【关联字典】
|
||
- 返回字段 status → 字典:order_status(订单状态)
|
||
- 返回字段 processStatus → 字典:order_process_status(订单内部流程状态)
|
||
- 返回字段 productType → 字典:product_type(产品类型)
|
||
- 返回字段 travelers[].travelerType → 字典:traveler_type(出行人类型)
|
||
- 返回字段 travelers[].idCardType → 字典:id_card_type(证件类型)
|
||
- 返回字段 travelers[].gender → 字典:gender(性别)
|
||
- 返回字段 timeline[].action → 字典:order_timeline_action(订单操作类型)
|
||
- 返回字段 todos[].todoType → 字典:order_todo_type(订单待办类型)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**响应** `统一响应结果«订单详情VO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `订单详情VO` | | 响应数据 |
|
||
| `adultCount` | `int` | | 成人数 |
|
||
| `babyCount` | `int` | | 幼童数 |
|
||
| `balanceAmount` | `number` | | 尾款金额(总售价-定金) |
|
||
| `balancePayMethod` | `string` | | 尾款支付方式: ONLINE=线上微信支付 OFFLINE=线下转账 |
|
||
| `balanceProofUrl` | `string` | | 尾款凭证URL |
|
||
| `cancelReason` | `string` | | 取消原因 |
|
||
| `cancelledAt` | `string` | | 取消时间 |
|
||
| `checklistConfirmed` | `boolean` | | 清单确认状态 |
|
||
| `childCount` | `int` | | 儿童数 |
|
||
| `completedAt` | `string` | | 完成时间 |
|
||
| `confirmedAt` | `string` | | 确认时间 |
|
||
| `contactName` | `string` | | 联系人姓名 |
|
||
| `contactPhone` | `string` | | 联系人电话 |
|
||
| `contracts` | `Map«string,object»[]` | | 合同列表(含signUrl/fileUrl/status等) |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `creatorAdminId` | `long` | | 创建人管理员ID |
|
||
| `creatorName` | `string` | | 创建人姓名 |
|
||
| `customizerId` | `long` | | 定制师ID |
|
||
| `customizerName` | `string` | | 定制师姓名 |
|
||
| `departureDate` | `string` | | 出发日期 |
|
||
| `depositAmount` | `number` | | 定金金额 |
|
||
| `depositRatio` | `int` | | 定金比例 |
|
||
| `discountAmount` | `number` | | 优惠金额 |
|
||
| `discountReason` | `string` | | 优惠原因 |
|
||
| `discounts` | `OrderDiscount[]` | | 优惠列表 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `discountAmount` | `number` | | 优惠金额 |
|
||
| `discountId` | `long` | | 优惠ID |
|
||
| `discountName` | `string` | | 优惠名称 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `displayStatus` | `string` | | 前端显示状态(字典:order_display_status) |
|
||
| `displayStatusLabel` | `string` | | 前端显示状态标签(字典:order_display_status 翻译) |
|
||
| `expiryMinutes` | `int` | | 支付时限(分钟) |
|
||
| `expiryTime` | `string` | | 支付截止时间 |
|
||
| `hotelAssignments` | `string` | | 酒店分配信息JSON |
|
||
| `insurances` | `Map«string,object»[]` | | 保险订单列表(含productName/extPolicyNo/status/startDate/endDate等) |
|
||
| `mchId` | `string` | | 商户号 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderNo` | `string` | | 订单号 |
|
||
| `paidAmount` | `number` | | 已付金额 |
|
||
| `paidAt` | `string` | | 支付时间 |
|
||
| `payMethodLabel` | `string` | | 支付方式标签(如:微信支付、定金微信+尾款线下) |
|
||
| `paymentMode` | `string` | | 支付模式(字典:payment_mode) |
|
||
| `processStatus` | `string` | | 内部流程状态(字典:order_process_status) |
|
||
| `processStatusLabel` | `string` | | 内部流程状态标签(字典:order_process_status 翻译) |
|
||
| `productCoverUrl` | `string` | | 产品封面图URL |
|
||
| `productId` | `long` | | 产品ID |
|
||
| `productName` | `string` | | 产品名称 |
|
||
| `productSnapshot` | `string` | | 产品快照JSON |
|
||
| `productType` | `string` | | 产品类型(字典:product_type) |
|
||
| `readyAt` | `string` | | 就绪时间 |
|
||
| `refundAmount` | `number` | | 退款金额(实退金额) |
|
||
| `remark` | `string` | | 备注 |
|
||
| `returnDate` | `string` | | 返程日期(出发日期 + 行程天数 - 1) |
|
||
| `reviewed` | `boolean` | | 是否已评价 |
|
||
| `roomInfo` | `string` | | 房间信息 |
|
||
| `sharerOpenid` | `string` | | 分享人微信openid |
|
||
| `status` | `string` | | 订单状态(字典:order_status) |
|
||
| `statusLabel` | `string` | | 订单状态标签(字典:order_status 翻译) |
|
||
| `timeline` | `OrderTimeline[]` | | 时间线列表 |
|
||
| `action` | `string` | | 操作动作 |
|
||
| `content` | `string` | | 操作内容 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `operatorId` | `long` | | 操作人ID |
|
||
| `operatorName` | `string` | | 操作人姓名 |
|
||
| `operatorType` | `string` | | 操作人类型:USER=用户 ADMIN=管理员 SYSTEM=系统 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `timelineId` | `long` | | 时间线ID |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `todos` | `OrderTodo[]` | | 待办列表 |
|
||
| `assigneeAdminId` | `long` | | 指派管理员ID |
|
||
| `assigneeRoleKey` | `string` | | 指派角色Key |
|
||
| `completedAt` | `string` | | 完成时间 |
|
||
| `completedBy` | `long` | | 完成人ID |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `lastNotifiedAt` | `string` | | 最后通知时间 |
|
||
| `notificationCount` | `int` | | 通知次数 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderNo` | `string` | | 订单编号 |
|
||
| `sequence` | `int` | | 排序序号 |
|
||
| `status` | `string` | | 待办状态 |
|
||
| `todoId` | `long` | | 待办ID |
|
||
| `todoLabel` | `string` | | 待办标签 |
|
||
| `todoType` | `string` | | 待办类型 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `totalCost` | `number` | | 总成本(仅管理员可见) |
|
||
| `totalPrice` | `number` | | 总售价 |
|
||
| `travelers` | `OrderTraveler[]` | | 出行人列表 |
|
||
| `birthday` | `string` | | 出生日期 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `email` | `string` | | 邮箱地址 |
|
||
| `emergencyContact` | `string` | | 紧急联系人姓名 |
|
||
| `emergencyPhone` | `string` | | 紧急联系人电话(加密存储) |
|
||
| `gender` | `int` | | 性别(字典:gender) |
|
||
| `idCardNo` | `string` | | 证件号码(加密存储) |
|
||
| `idCardType` | `string` | | 证件类型(字典:id_card_type) |
|
||
| `name` | `string` | | 出行人姓名 |
|
||
| `nationality` | `string` | | 国籍 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderTravelerId` | `long` | | 出行人记录ID |
|
||
| `phone` | `string` | | 手机号码(加密存储) |
|
||
| `travelerType` | `string` | | 出行人类型(字典:traveler_type) |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `tripDays` | `int` | | 行程天数 |
|
||
| `tripNights` | `int` | | 行程晚数 |
|
||
| `unlockRequestedAt` | `string` | | 解锁请求时间 |
|
||
| `userId` | `long` | | 用户ID |
|
||
| `vehicleInfo` | `string` | | 车辆信息 |
|
||
| `youngChildCount` | `int` | | 小童数 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}
|
||
|
||
**编辑订单**
|
||
|
||
修改订单的联系人、人数、出发日期、售价、成本、备注等信息。
|
||
仅传入需要修改的字段,未传入的字段不会被修改。
|
||
|
||
如果提供了出行人列表(travelers),将替换订单的全部出行人。
|
||
已锁定的订单需先调用'申请修改'接口解锁后才能编辑
|
||
|
||
【关联字典】
|
||
- 请求参数 travelers[].travelerType → 字典:traveler_type(出行人类型)
|
||
- 请求参数 travelers[].idCardType → 字典:id_card_type(证件类型)
|
||
- 请求参数 travelers[].gender → 字典:gender(性别)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `管理员修改订单请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `adultCount` | `int` | | 成人数 |
|
||
| `babyCount` | `int` | | 幼童数 |
|
||
| `childCount` | `int` | | 儿童数 |
|
||
| `contactName` | `string` | | 联系人姓名 |
|
||
| `contactPhone` | `string` | | 联系人电话 |
|
||
| `departureDate` | `string` | | 出发日期 |
|
||
| `depositAmount` | `number` | | 定金金额 |
|
||
| `mchId` | `string` | | 商户号(微信支付商户号,多商户场景使用) |
|
||
| `remark` | `string` | | 备注 |
|
||
| `totalCost` | `number` | | 总成本 |
|
||
| `totalPrice` | `number` | | 总售价 |
|
||
| `travelers` | `出行人信息[]` | | 出行人列表(如提供则替换全部出行人,不传则不修改出行人) |
|
||
| `birthday` | `string` | 是 | 出生日期(必填,后端根据此字段自动判断人员类型) |
|
||
| `email` | `string` | | 电子邮箱 |
|
||
| `emergencyContact` | `string` | | 紧急联系人 |
|
||
| `emergencyPhone` | `string` | | 紧急联系电话 |
|
||
| `gender` | `int` | | 性别(字典:gender) |
|
||
| `idCardNo` | `string` | | 证件号码 |
|
||
| `idCardType` | `string` | | 证件类型(字典:id_card_type) |
|
||
| `name` | `string` | 是 | 出行人姓名 |
|
||
| `nationality` | `string` | | 国籍 |
|
||
| `phone` | `string` | | 手机号 |
|
||
| `youngChildCount` | `int` | | 小童数 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `DELETE` /admin/order/{orderId}
|
||
|
||
**删除订单**
|
||
|
||
仅待支付(PENDING_PAY)状态的订单可删除,其他状态不可删除
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}/balance-pay-method
|
||
|
||
**设置尾款支付方式**
|
||
|
||
设置订单尾款的支付方式。ONLINE=线上微信支付,OFFLINE=线下转账(需管理员手动记录尾款到账)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**查询参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 | 示例 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `balancePayMethod` | `string` | 是 | 支付方式:ONLINE-线上支付, OFFLINE-线下支付 | |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}/cancel
|
||
|
||
**取消订单**
|
||
|
||
管理员可取消的状态:待支付、已付定金、已全额支付、已确认、待付尾款
|
||
|
||
已付款订单取消后需走退款流程
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `管理员取消订单请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `reason` | `string` | 是 | 取消原因 |
|
||
| `refundAmount` | `number` | | 退款金额(可选,不传则按退款政策自动计算;传0表示不退款) |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}/confirm
|
||
|
||
**确认订单**
|
||
|
||
确认订单后进入内部流程:待配房 → 待配车 → 待核算 → 就绪
|
||
|
||
前置条件:订单状态为已全额支付(PAID)或已付定金(DEPOSIT_PAID)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}/deposit
|
||
|
||
**修改定金金额**
|
||
|
||
修改订单的定金金额。仅待支付(PENDING_PAY)状态可修改。
|
||
|
||
定金金额不能超过订单总价,修改后影响用户支付页面显示的应付金额
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `修改定金金额请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `amount` | `number` | 是 | 定金金额 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/{orderId}/discount
|
||
|
||
**添加优惠项**
|
||
|
||
为订单添加手动优惠(如会员折扣、老客优惠等)。
|
||
添加后系统自动重算订单应付金额。一个订单可添加多个优惠项
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `优惠项请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `discountAmount` | `number` | 是 | 优惠金额 |
|
||
| `discountName` | `string` | 是 | 优惠项目名称 |
|
||
|
||
**响应** `统一响应结果«OrderDiscount»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `OrderDiscount` | | 响应数据 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `discountAmount` | `number` | | 优惠金额 |
|
||
| `discountId` | `long` | | 优惠ID |
|
||
| `discountName` | `string` | | 优惠名称 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}/discount/{discountId}
|
||
|
||
**修改优惠项**
|
||
|
||
修改已添加的优惠项名称或金额,修改后自动重算订单应付金额
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `discountId` | `integer` | | 优惠项ID |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `优惠项请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `discountAmount` | `number` | 是 | 优惠金额 |
|
||
| `discountName` | `string` | 是 | 优惠项目名称 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `DELETE` /admin/order/{orderId}/discount/{discountId}
|
||
|
||
**删除优惠项**
|
||
|
||
删除已添加的优惠项,删除后自动重算订单应付金额
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `discountId` | `integer` | | 优惠项ID |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}/hotel-assignment
|
||
|
||
**分配酒店信息**
|
||
|
||
按家庭为订单分配具体的酒店房间(酒店名称、房型、入住/退房日期)。
|
||
每个家庭对应一条分配记录,分配后信息将展示在订单详情和C端行程中
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `酒店分配请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `assignments` | `单项酒店分配[]` | 是 | 酒店分配列表 |
|
||
| `checkInDate` | `string` | 是 | 入住日期(yyyy-MM-dd) |
|
||
| `checkOutDate` | `string` | 是 | 退房日期(yyyy-MM-dd) |
|
||
| `familyIndex` | `int` | 是 | 家庭序号 |
|
||
| `hotelName` | `string` | 是 | 酒店名称 |
|
||
| `roomType` | `string` | 是 | 房型 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}/process-status
|
||
|
||
**推进内部流程**
|
||
|
||
内部流程推进顺序:待配房(PENDING_ROOM) → 待配车(PENDING_VEHICLE) → 待核算(PENDING_FINANCE) → 就绪(READY)
|
||
|
||
仅在订单状态为已确认(CONFIRMED)时有效,每次调用自动推进到下一步
|
||
|
||
【关联字典】
|
||
- 涉及字段 processStatus → 字典:order_process_status(订单内部流程状态)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}/record-balance
|
||
|
||
**记录尾款(线下收取)**
|
||
|
||
管理员确认收到尾款 → 上传凭证。已确认(流程就绪)或待出行状态可操作
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `记录尾款请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `proofUrl` | `string` | | 支付凭证URL |
|
||
| `remark` | `string` | | 备注 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/{orderId}/remark
|
||
|
||
**添加备注**
|
||
|
||
向订单时间线添加一条管理员备注。备注会记录操作人和时间,可用于内部沟通和订单跟踪
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `管理员备注请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `content` | `string` | 是 | 备注内容 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/{orderId}/request-unlock
|
||
|
||
**申请修改(解锁已锁定订单)**
|
||
|
||
清单确认后订单进入锁定状态,如需修改需先申请解锁
|
||
|
||
解锁后可重新编辑订单信息并再次确认清单
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `申请解锁订单请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `reason` | `string` | | 解锁原因 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}/room-info
|
||
|
||
**更新房间信息(仅房务管理员/超级管理员)**
|
||
|
||
更新订单的房间分配信息(房型、房间号、入住安排等)。
|
||
|
||
**权限**:仅ROOM_MANAGER(房务管理员)或SUPER_ADMIN(超级管理员)可操作。
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `房间信息请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `roomInfo` | `string` | 是 | 房间信息 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/{orderId}/room-info/check-diff
|
||
|
||
**检测房型一致性**
|
||
|
||
检测当前房间配置是否与产品快照一致。返回 null 表示一致,否则返回不一致描述
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `string`
|
||
|
||
**响应** `统一响应结果«string»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `string` | | 响应数据 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}/status
|
||
|
||
**更新订单状态**
|
||
|
||
合法状态流转:
|
||
- 待支付 → 已付定金/已全额支付/已取消
|
||
- 已付定金 → 已确认/已取消/售后中
|
||
- 已全额支付 → 已确认/已取消/售后中
|
||
- 已确认 → 待付尾款/待出行/已取消/售后中
|
||
- 待付尾款 → 待出行/已取消/售后中
|
||
- 待出行 → 旅行中/售后中
|
||
- 旅行中 → 已完成
|
||
- 已完成 → 售后中
|
||
- 售后中 → 退款中
|
||
- 退款中 → 已退款
|
||
|
||
【关联字典】
|
||
- 请求参数 status → 字典:order_status(订单状态)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `更新订单状态请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `status` | `string` | 是 | 目标状态。可选值:PENDING_PAY(待支付)/DEPOSIT_PAID(已付定金)/PAID(已全额支付)/CONFIRMED(已确认)/PENDING_BALANCE(待付尾款)/PENDING_DEPARTURE(待出行)/TRAVELLING(旅行中)/COMPLETED(已完成)/AFTER_SALE(售后中)/REFUNDING(退款中)/REFUNDED(已退款)/CANCELLED(已取消) |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}/vehicle-assignment
|
||
|
||
**分配车辆信息**
|
||
|
||
为订单分配具体的车辆和司机信息(车型、品牌、车牌号、司机姓名和电话)。
|
||
分配后信息将展示在订单详情和C端行程中
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `车辆分配请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `driverName` | `string` | | 司机姓名 |
|
||
| `driverPhone` | `string` | | 司机电话 |
|
||
| `plateNumber` | `string` | | 车牌号 |
|
||
| `vehicleBrand` | `string` | 是 | 品牌 |
|
||
| `vehicleModel` | `string` | 是 | 车型 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}/vehicle-info
|
||
|
||
**更新车辆信息(仅车务管理员/超级管理员)**
|
||
|
||
更新订单的车辆分配信息(车型、车牌号、司机等)。
|
||
|
||
**权限**:仅VEHICLE_MANAGER(车务管理员)或SUPER_ADMIN(超级管理员)可操作。
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `车辆信息请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `vehicleInfo` | `string` | 是 | 车辆信息 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/{orderId}/vehicle-info/check-diff
|
||
|
||
**检测车型一致性**
|
||
|
||
检测当前车辆配置是否与产品快照一致。返回 null 表示一致,否则返回不一致描述
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `string`
|
||
|
||
**响应** `统一响应结果«string»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `string` | | 响应数据 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
## 管理端订单行程编辑
|
||
|
||
### `POST` /admin/order/{orderId}/itinerary/add
|
||
|
||
**新增节点**
|
||
|
||
在某一天的行程中新增一个节点
|
||
|
||
**关联字典**:
|
||
- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换
|
||
- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认
|
||
- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `新增行程节点请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `balanceAdjustment` | `number` | | 尾款调整金额(正数=增加尾款,负数=减少尾款) |
|
||
| `dayNumber` | `int` | | 行程天数编号(独立调用时必填,addDay子节点时自动继承) |
|
||
| `description` | `string` | | 节点描述 |
|
||
| `nodeName` | `string` | 是 | 节点名称 |
|
||
| `nodeType` | `string` | 是 | 节点类型:SCENIC/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE/FREE/NOTE |
|
||
| `reason` | `string` | | 修改原因(独立调用时必填,addDay子节点时自动继承) |
|
||
| `resourceId` | `long` | | 关联资源ID |
|
||
| `resourceType` | `string` | | 关联资源类型:SCENIC_SPOT/ACTIVITY/RESTAURANT/HOTEL/VEHICLE |
|
||
| `sortOrder` | `int` | | 排序序号(插入位置,默认追加到末尾) |
|
||
| `startTime` | `string` | | 开始时间 |
|
||
|
||
**响应** `统一响应结果«OrderItineraryEdit»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `OrderItineraryEdit` | | 响应数据 |
|
||
| `action` | `string` | | 操作类型:SKIP/ADD |
|
||
| `balanceAdjustment` | `number` | | 尾款调整金额(正数=增加尾款,负数=减少尾款) |
|
||
| `changeDays` | `int` | | 变更天数 |
|
||
| `changeReasonCode` | `string` | | 变更原因代码(字典项) |
|
||
| `changeReasonLabel` | `string` | | 变更原因标签 |
|
||
| `confirmStatus` | `string` | | 确认状态:PENDING_CONFIRM/CONFIRMED |
|
||
| `confirmedAt` | `string` | | 确认时间 |
|
||
| `confirmedBy` | `long` | | 确认人ID |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `dayNumber` | `int` | | 行程天数编号 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `description` | `string` | | 节点描述(ADD时) |
|
||
| `editId` | `long` | | 编辑ID |
|
||
| `newResourceName` | `string` | | 新资源名称(房型/车型) |
|
||
| `newUnitPrice` | `number` | | 新单价(日均) |
|
||
| `nodeId` | `string` | | 原节点ID(SKIP时必填) |
|
||
| `nodeName` | `string` | | 节点名称(ADD时) |
|
||
| `nodeType` | `string` | | 节点类型(ADD时) |
|
||
| `operatorId` | `long` | | 操作人ID |
|
||
| `operatorName` | `string` | | 操作人姓名 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `originalResourceName` | `string` | | 原资源名称(房型/车型) |
|
||
| `originalUnitPrice` | `number` | | 原单价(日均) |
|
||
| `reason` | `string` | | 修改原因 |
|
||
| `resourceId` | `long` | | 关联资源ID |
|
||
| `resourceType` | `string` | | 关联资源类型:SCENIC_SPOT/ACTIVITY/RESTAURANT/HOTEL/VEHICLE |
|
||
| `sortOrder` | `int` | | 排序序号(ADD时) |
|
||
| `startTime` | `string` | | 开始时间(ADD时) |
|
||
| `suggestedAdjustment` | `number` | | 系统建议差价 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/{orderId}/itinerary/add-day
|
||
|
||
**新增整天行程**
|
||
|
||
在订单行程中新增一整天(含多个节点)
|
||
|
||
**关联字典**:
|
||
- itinerary_edit_action(操作类型,返回字段action):ADD_DAY=新增整天
|
||
- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认
|
||
- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `新增行程天请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `dayNumber` | `int` | 是 | 行程天数编号(插入位置,后续天数自动顺延) |
|
||
| `dayTitle` | `string` | 是 | 天标题 |
|
||
| `nodes` | `新增行程节点请求[]` | | 该天的行程节点列表 |
|
||
| `balanceAdjustment` | `number` | | 尾款调整金额(正数=增加尾款,负数=减少尾款) |
|
||
| `dayNumber` | `int` | | 行程天数编号(独立调用时必填,addDay子节点时自动继承) |
|
||
| `description` | `string` | | 节点描述 |
|
||
| `nodeName` | `string` | 是 | 节点名称 |
|
||
| `nodeType` | `string` | 是 | 节点类型:SCENIC/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE/FREE/NOTE |
|
||
| `reason` | `string` | | 修改原因(独立调用时必填,addDay子节点时自动继承) |
|
||
| `resourceId` | `long` | | 关联资源ID |
|
||
| `resourceType` | `string` | | 关联资源类型:SCENIC_SPOT/ACTIVITY/RESTAURANT/HOTEL/VEHICLE |
|
||
| `sortOrder` | `int` | | 排序序号(插入位置,默认追加到末尾) |
|
||
| `startTime` | `string` | | 开始时间 |
|
||
| `prevDayHotel` | `PrevDayHotel` | | 前一天住宿配置(原最后一天无住宿,新增天数后需配置) |
|
||
| `hotelId` | `long` | | 酒店ID |
|
||
| `hotelName` | `string` | | 酒店名称 |
|
||
| `roomTypeId` | `long` | | 房型ID |
|
||
| `roomTypeName` | `string` | | 房型名称 |
|
||
| `reason` | `string` | 是 | 变更原因 |
|
||
|
||
**响应** `统一响应结果«List«OrderItineraryEdit»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `OrderItineraryEdit[]` | | 响应数据 |
|
||
| `action` | `string` | | 操作类型:SKIP/ADD |
|
||
| `balanceAdjustment` | `number` | | 尾款调整金额(正数=增加尾款,负数=减少尾款) |
|
||
| `changeDays` | `int` | | 变更天数 |
|
||
| `changeReasonCode` | `string` | | 变更原因代码(字典项) |
|
||
| `changeReasonLabel` | `string` | | 变更原因标签 |
|
||
| `confirmStatus` | `string` | | 确认状态:PENDING_CONFIRM/CONFIRMED |
|
||
| `confirmedAt` | `string` | | 确认时间 |
|
||
| `confirmedBy` | `long` | | 确认人ID |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `dayNumber` | `int` | | 行程天数编号 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `description` | `string` | | 节点描述(ADD时) |
|
||
| `editId` | `long` | | 编辑ID |
|
||
| `newResourceName` | `string` | | 新资源名称(房型/车型) |
|
||
| `newUnitPrice` | `number` | | 新单价(日均) |
|
||
| `nodeId` | `string` | | 原节点ID(SKIP时必填) |
|
||
| `nodeName` | `string` | | 节点名称(ADD时) |
|
||
| `nodeType` | `string` | | 节点类型(ADD时) |
|
||
| `operatorId` | `long` | | 操作人ID |
|
||
| `operatorName` | `string` | | 操作人姓名 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `originalResourceName` | `string` | | 原资源名称(房型/车型) |
|
||
| `originalUnitPrice` | `number` | | 原单价(日均) |
|
||
| `reason` | `string` | | 修改原因 |
|
||
| `resourceId` | `long` | | 关联资源ID |
|
||
| `resourceType` | `string` | | 关联资源类型:SCENIC_SPOT/ACTIVITY/RESTAURANT/HOTEL/VEHICLE |
|
||
| `sortOrder` | `int` | | 排序序号(ADD时) |
|
||
| `startTime` | `string` | | 开始时间(ADD时) |
|
||
| `suggestedAdjustment` | `number` | | 系统建议差价 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `DELETE` /admin/order/{orderId}/itinerary/add/{editId}
|
||
|
||
**删除新增的节点**
|
||
|
||
删除通过编辑新增的节点
|
||
|
||
**关联字典**:
|
||
- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换
|
||
- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `editId` | `integer` | | 编辑记录ID |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `撤销行程编辑请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `reason` | `string` | 是 | 撤销原因 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/{orderId}/itinerary/balance-summary
|
||
|
||
**获取尾款调整汇总**
|
||
|
||
返回行程编辑产生的尾款调整明细和总额
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**响应** `统一响应结果«Map«string,object»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `object` | | 响应数据 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/{orderId}/itinerary/confirm-all
|
||
|
||
**批量确认所有待确认修改**
|
||
|
||
确认该订单所有待确认的行程编辑
|
||
|
||
**关联字典**:
|
||
- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**响应** `统一响应结果«int»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `int` | | 响应数据 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/{orderId}/itinerary/confirm/{editId}
|
||
|
||
**确认单条修改**
|
||
|
||
确认一条待确认的行程编辑
|
||
|
||
**关联字典**:
|
||
- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `editId` | `integer` | | 编辑记录ID |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `DELETE` /admin/order/{orderId}/itinerary/day/{editId}
|
||
|
||
**删除新增的整天行程**
|
||
|
||
删除通过新增操作添加的整天行程及其所有子节点,已确认的天不允许删除
|
||
|
||
**关联字典**:
|
||
- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `editId` | `integer` | | ADD_DAY编辑记录ID |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `撤销行程编辑请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `reason` | `string` | 是 | 撤销原因 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}/itinerary/edit/{editId}
|
||
|
||
**修改编辑记录**
|
||
|
||
修改待确认状态的编辑记录(如调整价格、名称等)
|
||
|
||
**关联字典**:
|
||
- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换
|
||
- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认
|
||
- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `editId` | `integer` | | 编辑记录ID |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `object`
|
||
|
||
**响应** `统一响应结果«OrderItineraryEdit»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `OrderItineraryEdit` | | 响应数据 |
|
||
| `action` | `string` | | 操作类型:SKIP/ADD |
|
||
| `balanceAdjustment` | `number` | | 尾款调整金额(正数=增加尾款,负数=减少尾款) |
|
||
| `changeDays` | `int` | | 变更天数 |
|
||
| `changeReasonCode` | `string` | | 变更原因代码(字典项) |
|
||
| `changeReasonLabel` | `string` | | 变更原因标签 |
|
||
| `confirmStatus` | `string` | | 确认状态:PENDING_CONFIRM/CONFIRMED |
|
||
| `confirmedAt` | `string` | | 确认时间 |
|
||
| `confirmedBy` | `long` | | 确认人ID |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `dayNumber` | `int` | | 行程天数编号 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `description` | `string` | | 节点描述(ADD时) |
|
||
| `editId` | `long` | | 编辑ID |
|
||
| `newResourceName` | `string` | | 新资源名称(房型/车型) |
|
||
| `newUnitPrice` | `number` | | 新单价(日均) |
|
||
| `nodeId` | `string` | | 原节点ID(SKIP时必填) |
|
||
| `nodeName` | `string` | | 节点名称(ADD时) |
|
||
| `nodeType` | `string` | | 节点类型(ADD时) |
|
||
| `operatorId` | `long` | | 操作人ID |
|
||
| `operatorName` | `string` | | 操作人姓名 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `originalResourceName` | `string` | | 原资源名称(房型/车型) |
|
||
| `originalUnitPrice` | `number` | | 原单价(日均) |
|
||
| `reason` | `string` | | 修改原因 |
|
||
| `resourceId` | `long` | | 关联资源ID |
|
||
| `resourceType` | `string` | | 关联资源类型:SCENIC_SPOT/ACTIVITY/RESTAURANT/HOTEL/VEHICLE |
|
||
| `sortOrder` | `int` | | 排序序号(ADD时) |
|
||
| `startTime` | `string` | | 开始时间(ADD时) |
|
||
| `suggestedAdjustment` | `number` | | 系统建议差价 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/{orderId}/itinerary/edits
|
||
|
||
**获取行程编辑记录列表**
|
||
|
||
**关联字典**:
|
||
- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换
|
||
- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认
|
||
- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**响应** `统一响应结果«List«OrderItineraryEdit»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `OrderItineraryEdit[]` | | 响应数据 |
|
||
| `action` | `string` | | 操作类型:SKIP/ADD |
|
||
| `balanceAdjustment` | `number` | | 尾款调整金额(正数=增加尾款,负数=减少尾款) |
|
||
| `changeDays` | `int` | | 变更天数 |
|
||
| `changeReasonCode` | `string` | | 变更原因代码(字典项) |
|
||
| `changeReasonLabel` | `string` | | 变更原因标签 |
|
||
| `confirmStatus` | `string` | | 确认状态:PENDING_CONFIRM/CONFIRMED |
|
||
| `confirmedAt` | `string` | | 确认时间 |
|
||
| `confirmedBy` | `long` | | 确认人ID |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `dayNumber` | `int` | | 行程天数编号 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `description` | `string` | | 节点描述(ADD时) |
|
||
| `editId` | `long` | | 编辑ID |
|
||
| `newResourceName` | `string` | | 新资源名称(房型/车型) |
|
||
| `newUnitPrice` | `number` | | 新单价(日均) |
|
||
| `nodeId` | `string` | | 原节点ID(SKIP时必填) |
|
||
| `nodeName` | `string` | | 节点名称(ADD时) |
|
||
| `nodeType` | `string` | | 节点类型(ADD时) |
|
||
| `operatorId` | `long` | | 操作人ID |
|
||
| `operatorName` | `string` | | 操作人姓名 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `originalResourceName` | `string` | | 原资源名称(房型/车型) |
|
||
| `originalUnitPrice` | `number` | | 原单价(日均) |
|
||
| `reason` | `string` | | 修改原因 |
|
||
| `resourceId` | `long` | | 关联资源ID |
|
||
| `resourceType` | `string` | | 关联资源类型:SCENIC_SPOT/ACTIVITY/RESTAURANT/HOTEL/VEHICLE |
|
||
| `sortOrder` | `int` | | 排序序号(ADD时) |
|
||
| `startTime` | `string` | | 开始时间(ADD时) |
|
||
| `suggestedAdjustment` | `number` | | 系统建议差价 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/{orderId}/itinerary/merged
|
||
|
||
**获取合并后的行程(原始+编辑)**
|
||
|
||
**关联字典**:
|
||
- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换
|
||
- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认
|
||
- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**响应** `统一响应结果«List«Map«string,object»»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `Map«string,object»[]` | | 响应数据 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/{orderId}/itinerary/pending-count
|
||
|
||
**获取待确认数量**
|
||
|
||
返回该订单待确认的编辑数量
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**响应** `统一响应结果«long»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `long` | | 响应数据 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `DELETE` /admin/order/{orderId}/itinerary/pending/{editId}
|
||
|
||
**撤回待确认的修改**
|
||
|
||
软删除一条待确认的编辑记录
|
||
|
||
**关联字典**:
|
||
- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `editId` | `integer` | | 编辑记录ID |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `撤销行程编辑请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `reason` | `string` | 是 | 撤销原因 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/{orderId}/itinerary/room-type-change
|
||
|
||
**房型切换**
|
||
|
||
执行房型切换,自动计算差价,创建待确认记录
|
||
|
||
**关联字典**:
|
||
- itinerary_edit_action(操作类型,返回字段action):ROOM_CHANGE=房型切换
|
||
- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认
|
||
- resource_type(资源类型,返回字段resourceType):HOTEL=酒店
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `房型变更请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `balanceAdjustment` | `number` | | 尾款调整金额(可选,覆盖系统建议差价;正数=增加尾款,负数=减少尾款) |
|
||
| `changeReasonCode` | `string` | | 变更原因代码(字典项 order_change_reason) |
|
||
| `dayNumber` | `int` | 是 | 行程天数编号 |
|
||
| `newRoomTypeId` | `long` | 是 | 新房型ID |
|
||
| `originalRoomTypeId` | `long` | 是 | 原房型ID |
|
||
| `reason` | `string` | 是 | 变更原因 |
|
||
| `roomCount` | `int` | | 房间数量 |
|
||
|
||
**响应** `统一响应结果«OrderItineraryEdit»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `OrderItineraryEdit` | | 响应数据 |
|
||
| `action` | `string` | | 操作类型:SKIP/ADD |
|
||
| `balanceAdjustment` | `number` | | 尾款调整金额(正数=增加尾款,负数=减少尾款) |
|
||
| `changeDays` | `int` | | 变更天数 |
|
||
| `changeReasonCode` | `string` | | 变更原因代码(字典项) |
|
||
| `changeReasonLabel` | `string` | | 变更原因标签 |
|
||
| `confirmStatus` | `string` | | 确认状态:PENDING_CONFIRM/CONFIRMED |
|
||
| `confirmedAt` | `string` | | 确认时间 |
|
||
| `confirmedBy` | `long` | | 确认人ID |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `dayNumber` | `int` | | 行程天数编号 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `description` | `string` | | 节点描述(ADD时) |
|
||
| `editId` | `long` | | 编辑ID |
|
||
| `newResourceName` | `string` | | 新资源名称(房型/车型) |
|
||
| `newUnitPrice` | `number` | | 新单价(日均) |
|
||
| `nodeId` | `string` | | 原节点ID(SKIP时必填) |
|
||
| `nodeName` | `string` | | 节点名称(ADD时) |
|
||
| `nodeType` | `string` | | 节点类型(ADD时) |
|
||
| `operatorId` | `long` | | 操作人ID |
|
||
| `operatorName` | `string` | | 操作人姓名 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `originalResourceName` | `string` | | 原资源名称(房型/车型) |
|
||
| `originalUnitPrice` | `number` | | 原单价(日均) |
|
||
| `reason` | `string` | | 修改原因 |
|
||
| `resourceId` | `long` | | 关联资源ID |
|
||
| `resourceType` | `string` | | 关联资源类型:SCENIC_SPOT/ACTIVITY/RESTAURANT/HOTEL/VEHICLE |
|
||
| `sortOrder` | `int` | | 排序序号(ADD时) |
|
||
| `startTime` | `string` | | 开始时间(ADD时) |
|
||
| `suggestedAdjustment` | `number` | | 系统建议差价 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/{orderId}/itinerary/room-type-change/preview
|
||
|
||
**房型切换差价预览**
|
||
|
||
预览房型切换的差价,不创建记录
|
||
|
||
**关联字典**:
|
||
- resource_type(资源类型,返回字段resourceType):HOTEL=酒店
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `房型变更请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `balanceAdjustment` | `number` | | 尾款调整金额(可选,覆盖系统建议差价;正数=增加尾款,负数=减少尾款) |
|
||
| `changeReasonCode` | `string` | | 变更原因代码(字典项 order_change_reason) |
|
||
| `dayNumber` | `int` | 是 | 行程天数编号 |
|
||
| `newRoomTypeId` | `long` | 是 | 新房型ID |
|
||
| `originalRoomTypeId` | `long` | 是 | 原房型ID |
|
||
| `reason` | `string` | 是 | 变更原因 |
|
||
| `roomCount` | `int` | | 房间数量 |
|
||
|
||
**响应** `统一响应结果«差价计算结果»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `差价计算结果` | | 响应数据 |
|
||
| `changeDays` | `int` | | 变更天数 |
|
||
| `description` | `string` | | 差价描述(中文说明) |
|
||
| `direction` | `string` | | 差价方向:UPGRADE=升级加价, DOWNGRADE=降级减价, SAME=价格不变 |
|
||
| `newName` | `string` | | 新资源名称 |
|
||
| `newUnitPrice` | `number` | | 新单价(日均) |
|
||
| `originalName` | `string` | | 原资源名称 |
|
||
| `originalUnitPrice` | `number` | | 原单价(日均) |
|
||
| `priceDiff` | `number` | | 差价金额(正数=需补款,负数=可退款) |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/{orderId}/itinerary/skip
|
||
|
||
**跳过节点**
|
||
|
||
将行程中的某个节点标记为跳过(客户不去)
|
||
|
||
**关联字典**:
|
||
- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换
|
||
- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认
|
||
- resource_type(资源类型,返回字段resourceType):SCENIC_SPOT=景区, ACTIVITY=活动, RESTAURANT=餐厅, HOTEL=酒店, VEHICLE=车辆
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `跳过行程节点请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `balanceAdjustment` | `number` | | 尾款调整金额(正数=增加尾款,负数=减少尾款) |
|
||
| `dayNumber` | `int` | 是 | 行程天数编号 |
|
||
| `nodeId` | `string` | 是 | 节点ID |
|
||
| `nodeName` | `string` | | 节点名称 |
|
||
| `reason` | `string` | 是 | 修改原因 |
|
||
|
||
**响应** `统一响应结果«OrderItineraryEdit»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `OrderItineraryEdit` | | 响应数据 |
|
||
| `action` | `string` | | 操作类型:SKIP/ADD |
|
||
| `balanceAdjustment` | `number` | | 尾款调整金额(正数=增加尾款,负数=减少尾款) |
|
||
| `changeDays` | `int` | | 变更天数 |
|
||
| `changeReasonCode` | `string` | | 变更原因代码(字典项) |
|
||
| `changeReasonLabel` | `string` | | 变更原因标签 |
|
||
| `confirmStatus` | `string` | | 确认状态:PENDING_CONFIRM/CONFIRMED |
|
||
| `confirmedAt` | `string` | | 确认时间 |
|
||
| `confirmedBy` | `long` | | 确认人ID |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `dayNumber` | `int` | | 行程天数编号 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `description` | `string` | | 节点描述(ADD时) |
|
||
| `editId` | `long` | | 编辑ID |
|
||
| `newResourceName` | `string` | | 新资源名称(房型/车型) |
|
||
| `newUnitPrice` | `number` | | 新单价(日均) |
|
||
| `nodeId` | `string` | | 原节点ID(SKIP时必填) |
|
||
| `nodeName` | `string` | | 节点名称(ADD时) |
|
||
| `nodeType` | `string` | | 节点类型(ADD时) |
|
||
| `operatorId` | `long` | | 操作人ID |
|
||
| `operatorName` | `string` | | 操作人姓名 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `originalResourceName` | `string` | | 原资源名称(房型/车型) |
|
||
| `originalUnitPrice` | `number` | | 原单价(日均) |
|
||
| `reason` | `string` | | 修改原因 |
|
||
| `resourceId` | `long` | | 关联资源ID |
|
||
| `resourceType` | `string` | | 关联资源类型:SCENIC_SPOT/ACTIVITY/RESTAURANT/HOTEL/VEHICLE |
|
||
| `sortOrder` | `int` | | 排序序号(ADD时) |
|
||
| `startTime` | `string` | | 开始时间(ADD时) |
|
||
| `suggestedAdjustment` | `number` | | 系统建议差价 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `DELETE` /admin/order/{orderId}/itinerary/skip/{editId}
|
||
|
||
**恢复跳过的节点**
|
||
|
||
取消跳过,恢复为正常状态
|
||
|
||
**关联字典**:
|
||
- itinerary_edit_action(操作类型,返回字段action):SKIP=跳过, ADD=新增节点, ADD_DAY=新增整天, ROOM_CHANGE=房型切换, VEHICLE_CHANGE=车型切换
|
||
- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `editId` | `integer` | | 编辑记录ID |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `撤销行程编辑请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `reason` | `string` | 是 | 撤销原因 |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/{orderId}/itinerary/vehicle-type-change
|
||
|
||
**车型切换**
|
||
|
||
执行车型切换,自动计算差价,创建待确认记录
|
||
|
||
**关联字典**:
|
||
- itinerary_edit_action(操作类型,返回字段action):VEHICLE_CHANGE=车型切换
|
||
- itinerary_confirm_status(确认状态,返回字段confirmStatus):PENDING_CONFIRM=待确认, CONFIRMED=已确认
|
||
- resource_type(资源类型,返回字段resourceType):VEHICLE=车辆
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `车型变更请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `balanceAdjustment` | `number` | | 尾款调整金额(可选,覆盖系统建议差价;正数=增加尾款,负数=减少尾款) |
|
||
| `changeReasonCode` | `string` | | 变更原因代码(字典项 order_change_reason) |
|
||
| `newVehicleId` | `long` | 是 | 新车辆ID |
|
||
| `originalVehicleId` | `long` | 是 | 原车辆ID |
|
||
| `reason` | `string` | 是 | 变更原因 |
|
||
|
||
**响应** `统一响应结果«OrderItineraryEdit»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `OrderItineraryEdit` | | 响应数据 |
|
||
| `action` | `string` | | 操作类型:SKIP/ADD |
|
||
| `balanceAdjustment` | `number` | | 尾款调整金额(正数=增加尾款,负数=减少尾款) |
|
||
| `changeDays` | `int` | | 变更天数 |
|
||
| `changeReasonCode` | `string` | | 变更原因代码(字典项) |
|
||
| `changeReasonLabel` | `string` | | 变更原因标签 |
|
||
| `confirmStatus` | `string` | | 确认状态:PENDING_CONFIRM/CONFIRMED |
|
||
| `confirmedAt` | `string` | | 确认时间 |
|
||
| `confirmedBy` | `long` | | 确认人ID |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `dayNumber` | `int` | | 行程天数编号 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `description` | `string` | | 节点描述(ADD时) |
|
||
| `editId` | `long` | | 编辑ID |
|
||
| `newResourceName` | `string` | | 新资源名称(房型/车型) |
|
||
| `newUnitPrice` | `number` | | 新单价(日均) |
|
||
| `nodeId` | `string` | | 原节点ID(SKIP时必填) |
|
||
| `nodeName` | `string` | | 节点名称(ADD时) |
|
||
| `nodeType` | `string` | | 节点类型(ADD时) |
|
||
| `operatorId` | `long` | | 操作人ID |
|
||
| `operatorName` | `string` | | 操作人姓名 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `originalResourceName` | `string` | | 原资源名称(房型/车型) |
|
||
| `originalUnitPrice` | `number` | | 原单价(日均) |
|
||
| `reason` | `string` | | 修改原因 |
|
||
| `resourceId` | `long` | | 关联资源ID |
|
||
| `resourceType` | `string` | | 关联资源类型:SCENIC_SPOT/ACTIVITY/RESTAURANT/HOTEL/VEHICLE |
|
||
| `sortOrder` | `int` | | 排序序号(ADD时) |
|
||
| `startTime` | `string` | | 开始时间(ADD时) |
|
||
| `suggestedAdjustment` | `number` | | 系统建议差价 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/{orderId}/itinerary/vehicle-type-change/preview
|
||
|
||
**车型切换差价预览**
|
||
|
||
预览车型切换的差价,不创建记录
|
||
|
||
**关联字典**:
|
||
- resource_type(资源类型,返回字段resourceType):VEHICLE=车辆
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `车型变更请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `balanceAdjustment` | `number` | | 尾款调整金额(可选,覆盖系统建议差价;正数=增加尾款,负数=减少尾款) |
|
||
| `changeReasonCode` | `string` | | 变更原因代码(字典项 order_change_reason) |
|
||
| `newVehicleId` | `long` | 是 | 新车辆ID |
|
||
| `originalVehicleId` | `long` | 是 | 原车辆ID |
|
||
| `reason` | `string` | 是 | 变更原因 |
|
||
|
||
**响应** `统一响应结果«差价计算结果»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `差价计算结果` | | 响应数据 |
|
||
| `changeDays` | `int` | | 变更天数 |
|
||
| `description` | `string` | | 差价描述(中文说明) |
|
||
| `direction` | `string` | | 差价方向:UPGRADE=升级加价, DOWNGRADE=降级减价, SAME=价格不变 |
|
||
| `newName` | `string` | | 新资源名称 |
|
||
| `newUnitPrice` | `number` | | 新单价(日均) |
|
||
| `originalName` | `string` | | 原资源名称 |
|
||
| `originalUnitPrice` | `number` | | 原单价(日均) |
|
||
| `priceDiff` | `number` | | 差价金额(正数=需补款,负数=可退款) |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
## 订单待办接口
|
||
|
||
### `GET` /admin/order/todo/contract-eligible
|
||
|
||
**可签合同订单列表(保险已完成)**
|
||
|
||
查询保险待办已完成、可以进入签合同环节的订单列表。
|
||
用于合同管理页面展示待签合同的订单
|
||
|
||
【关联字典】
|
||
- 返回字段 todoType → 字典:order_todo_type(订单待办类型)
|
||
- 返回字段 orderStatus → 字典:order_status(订单状态)
|
||
|
||
**响应** `统一响应结果«List«订单待办VO»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `订单待办VO[]` | | 响应数据 |
|
||
| `assigneeAdminId` | `long` | | 负责管理员ID |
|
||
| `assigneeRoleKey` | `string` | | 负责角色标识 |
|
||
| `blocked` | `boolean` | | 是否阻塞 |
|
||
| `blockedReason` | `string` | | 阻塞原因 |
|
||
| `completedAt` | `string` | | 完成时间 |
|
||
| `completedBy` | `long` | | 完成人ID |
|
||
| `contactName` | `string` | | 联系人姓名(关联查询) |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `departureDate` | `string` | | 出发日期(关联查询) |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderNo` | `string` | | 订单号 |
|
||
| `orderStatus` | `string` | | 订单状态(关联查询) |
|
||
| `productName` | `string` | | 产品名称(关联查询) |
|
||
| `sequence` | `int` | | 排序序号 |
|
||
| `status` | `string` | | 待办状态 |
|
||
| `todoId` | `long` | | 待办ID |
|
||
| `todoLabel` | `string` | | 待办名称 |
|
||
| `todoType` | `string` | | 待办类型 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/todo/customizer-list
|
||
|
||
**定制师列表**
|
||
|
||
获取所有定制师(CUSTOMIZER角色)的列表,用于更换定制师时选择目标定制师
|
||
|
||
**响应** `统一响应结果«List«管理员基本信息»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `管理员基本信息[]` | | 响应数据 |
|
||
| `adminId` | `long` | | 管理员ID |
|
||
| `avatarUrl` | `string` | | 头像URL |
|
||
| `username` | `string` | | 用户名 |
|
||
| `wechatName` | `string` | | 企微用户名称 |
|
||
| `wechatUserid` | `string` | | 企微用户ID |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/todo/my-count
|
||
|
||
**我的待办数量**
|
||
|
||
返回当前管理员未完成的待办总数,用于首页角标/红点提醒
|
||
|
||
**响应** `统一响应结果«int»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `int` | | 响应数据 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/todo/my-list
|
||
|
||
**我的待办列表**
|
||
|
||
根据当前管理员ID和角色,查询分配给自己的未完成待办。
|
||
超级管理员可看到所有待办,其他角色只能看到对应类型的待办
|
||
|
||
【关联字典】
|
||
- 返回字段 todoType → 字典:order_todo_type(订单待办类型)
|
||
- 返回字段 orderStatus → 字典:order_status(订单状态)
|
||
|
||
**响应** `统一响应结果«List«订单待办VO»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `订单待办VO[]` | | 响应数据 |
|
||
| `assigneeAdminId` | `long` | | 负责管理员ID |
|
||
| `assigneeRoleKey` | `string` | | 负责角色标识 |
|
||
| `blocked` | `boolean` | | 是否阻塞 |
|
||
| `blockedReason` | `string` | | 阻塞原因 |
|
||
| `completedAt` | `string` | | 完成时间 |
|
||
| `completedBy` | `long` | | 完成人ID |
|
||
| `contactName` | `string` | | 联系人姓名(关联查询) |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `departureDate` | `string` | | 出发日期(关联查询) |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderNo` | `string` | | 订单号 |
|
||
| `orderStatus` | `string` | | 订单状态(关联查询) |
|
||
| `productName` | `string` | | 产品名称(关联查询) |
|
||
| `sequence` | `int` | | 排序序号 |
|
||
| `status` | `string` | | 待办状态 |
|
||
| `todoId` | `long` | | 待办ID |
|
||
| `todoLabel` | `string` | | 待办名称 |
|
||
| `todoType` | `string` | | 待办类型 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/todo/{todoId}/complete
|
||
|
||
**完成待办**
|
||
|
||
将指定待办标记为已完成。
|
||
需要对应角色权限:如配房待办需ROOM_MANAGER角色,配车待办需VEHICLE_MANAGER角色。
|
||
|
||
完成后系统自动检查是否所有必要待办已完成,若是则推进内部流程
|
||
|
||
【关联字典】
|
||
- 涉及字段 todoType → 字典:order_todo_type(订单待办类型)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `todoId` | `integer` | | 待办ID |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/{orderId}/customizer
|
||
|
||
**更换定制师**
|
||
|
||
将订单转派给另一位定制师。更换后原定制师的待办自动转移,订单时间线会记录此操作
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**请求体** `更换定制师请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `customizerId` | `long` | 是 | 定制师ID |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/{orderId}/todos
|
||
|
||
**获取订单待办列表**
|
||
|
||
返回指定订单的所有待办项(含已完成和未完成)。
|
||
待办类型包括:配房、配车、签合同、购保险、核算等,随内部流程自动生成
|
||
|
||
【关联字典】
|
||
- 返回字段 todoType → 字典:order_todo_type(订单待办类型)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `orderId` | `integer` | | 订单ID |
|
||
|
||
**响应** `统一响应结果«List«OrderTodo»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `OrderTodo[]` | | 响应数据 |
|
||
| `assigneeAdminId` | `long` | | 指派管理员ID |
|
||
| `assigneeRoleKey` | `string` | | 指派角色Key |
|
||
| `completedAt` | `string` | | 完成时间 |
|
||
| `completedBy` | `long` | | 完成人ID |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `deletedAt` | `string` | | 删除时间(软删除) |
|
||
| `lastNotifiedAt` | `string` | | 最后通知时间 |
|
||
| `notificationCount` | `int` | | 通知次数 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderNo` | `string` | | 订单编号 |
|
||
| `sequence` | `int` | | 排序序号 |
|
||
| `status` | `string` | | 待办状态 |
|
||
| `todoId` | `long` | | 待办ID |
|
||
| `todoLabel` | `string` | | 待办标签 |
|
||
| `todoType` | `string` | | 待办类型 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
## 订单配置接口
|
||
|
||
### `GET` /admin/order/config/expiry-minutes
|
||
|
||
**获取订单过期配置**
|
||
|
||
获取当前的订单未支付自动过期时间(分钟)。
|
||
返回当前值、默认值和配置来源(redis=已自定义, default=使用默认值)
|
||
|
||
**响应** `统一响应结果«Map«string,object»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `object` | | 响应数据 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/config/expiry-minutes
|
||
|
||
**设置订单过期时间(分钟)**
|
||
|
||
修改订单未支付自动取消的等待时间。存储在Redis中,即时生效。
|
||
仅影响新创建的订单,已有订单的过期时间不变
|
||
|
||
**请求体** `修改订单过期时间请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `minutes` | `int` | 是 | 过期时间(分钟) |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
## 退款政策管理
|
||
|
||
### `POST` /admin/order/refund-policy
|
||
|
||
**创建退款政策**
|
||
|
||
退款政策定义按产品类型和距出发天数的退款比例阶梯
|
||
|
||
例如:出发前30天退90%,前15天退70%,前7天退50%,7天内不可退
|
||
|
||
每种产品类型可配置独立的退款政策,用户申请退款时系统自动匹配
|
||
|
||
【关联字典】
|
||
- 请求参数 refundType → 字典:refund_type(退款类型)
|
||
- 请求参数 productType → 字典:product_type(产品类型)
|
||
|
||
**请求体** `退款政策请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `endDate` | `string` | | 生效结束日期 |
|
||
| `isDefault` | `boolean` | | 是否为默认政策 |
|
||
| `policyName` | `string` | 是 | 政策名称 |
|
||
| `refundType` | `string` | 是 | 退款类型 |
|
||
| `remark` | `string` | | 备注 |
|
||
| `rules` | `退款规则项[]` | 是 | 退款规则列表 |
|
||
| `minDays` | `int` | 是 | 距出发最少天数(含当天)。例如:minDays=7表示出发前7天及以上适用此规则 |
|
||
| `refundRatio` | `int` | 是 | 退款比例(百分比,0-100)。例如:80表示退已付金额的80% |
|
||
| `startDate` | `string` | | 生效开始日期 |
|
||
|
||
**响应** `统一响应结果«退款政策VO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `退款政策VO` | | 响应数据 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `createdBy` | `long` | | 创建人ID |
|
||
| `enabled` | `boolean` | | 是否启用 |
|
||
| `endDate` | `string` | | 生效结束日期 |
|
||
| `isDefault` | `boolean` | | 是否为默认政策 |
|
||
| `policyId` | `long` | | 政策ID |
|
||
| `policyName` | `string` | | 政策名称 |
|
||
| `refundType` | `string` | | 退款类型 |
|
||
| `remark` | `string` | | 备注 |
|
||
| `rules` | `退款规则VO[]` | | 退款规则列表 |
|
||
| `minDays` | `int` | | 距出发最少天数 |
|
||
| `refundRatio` | `int` | | 退款比例(百分比) |
|
||
| `ruleId` | `long` | | 规则ID |
|
||
| `startDate` | `string` | | 生效开始日期 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/refund-policy/list
|
||
|
||
**退款政策列表**
|
||
|
||
【关联字典】
|
||
- 返回字段 refundType → 字典:refund_type(退款类型)
|
||
- 返回字段 productType → 字典:product_type(产品类型)
|
||
|
||
**响应** `统一响应结果«List«退款政策VO»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `退款政策VO[]` | | 响应数据 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `createdBy` | `long` | | 创建人ID |
|
||
| `enabled` | `boolean` | | 是否启用 |
|
||
| `endDate` | `string` | | 生效结束日期 |
|
||
| `isDefault` | `boolean` | | 是否为默认政策 |
|
||
| `policyId` | `long` | | 政策ID |
|
||
| `policyName` | `string` | | 政策名称 |
|
||
| `refundType` | `string` | | 退款类型 |
|
||
| `remark` | `string` | | 备注 |
|
||
| `rules` | `退款规则VO[]` | | 退款规则列表 |
|
||
| `minDays` | `int` | | 距出发最少天数 |
|
||
| `refundRatio` | `int` | | 退款比例(百分比) |
|
||
| `ruleId` | `long` | | 规则ID |
|
||
| `startDate` | `string` | | 生效开始日期 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/refund-policy/{policyId}
|
||
|
||
**退款政策详情**
|
||
|
||
【关联字典】
|
||
- 返回字段 refundType → 字典:refund_type(退款类型)
|
||
- 返回字段 productType → 字典:product_type(产品类型)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `policyId` | `integer` | | 退款政策ID |
|
||
|
||
**响应** `统一响应结果«退款政策VO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `退款政策VO` | | 响应数据 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `createdBy` | `long` | | 创建人ID |
|
||
| `enabled` | `boolean` | | 是否启用 |
|
||
| `endDate` | `string` | | 生效结束日期 |
|
||
| `isDefault` | `boolean` | | 是否为默认政策 |
|
||
| `policyId` | `long` | | 政策ID |
|
||
| `policyName` | `string` | | 政策名称 |
|
||
| `refundType` | `string` | | 退款类型 |
|
||
| `remark` | `string` | | 备注 |
|
||
| `rules` | `退款规则VO[]` | | 退款规则列表 |
|
||
| `minDays` | `int` | | 距出发最少天数 |
|
||
| `refundRatio` | `int` | | 退款比例(百分比) |
|
||
| `ruleId` | `long` | | 规则ID |
|
||
| `startDate` | `string` | | 生效开始日期 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/refund-policy/{policyId}
|
||
|
||
**修改退款政策**
|
||
|
||
【关联字典】
|
||
- 请求参数 refundType → 字典:refund_type(退款类型)
|
||
- 请求参数 productType → 字典:product_type(产品类型)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `policyId` | `integer` | | 退款政策ID |
|
||
|
||
**请求体** `退款政策请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `endDate` | `string` | | 生效结束日期 |
|
||
| `isDefault` | `boolean` | | 是否为默认政策 |
|
||
| `policyName` | `string` | 是 | 政策名称 |
|
||
| `refundType` | `string` | 是 | 退款类型 |
|
||
| `remark` | `string` | | 备注 |
|
||
| `rules` | `退款规则项[]` | 是 | 退款规则列表 |
|
||
| `minDays` | `int` | 是 | 距出发最少天数(含当天)。例如:minDays=7表示出发前7天及以上适用此规则 |
|
||
| `refundRatio` | `int` | 是 | 退款比例(百分比,0-100)。例如:80表示退已付金额的80% |
|
||
| `startDate` | `string` | | 生效开始日期 |
|
||
|
||
**响应** `统一响应结果«退款政策VO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `退款政策VO` | | 响应数据 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `createdBy` | `long` | | 创建人ID |
|
||
| `enabled` | `boolean` | | 是否启用 |
|
||
| `endDate` | `string` | | 生效结束日期 |
|
||
| `isDefault` | `boolean` | | 是否为默认政策 |
|
||
| `policyId` | `long` | | 政策ID |
|
||
| `policyName` | `string` | | 政策名称 |
|
||
| `refundType` | `string` | | 退款类型 |
|
||
| `remark` | `string` | | 备注 |
|
||
| `rules` | `退款规则VO[]` | | 退款规则列表 |
|
||
| `minDays` | `int` | | 距出发最少天数 |
|
||
| `refundRatio` | `int` | | 退款比例(百分比) |
|
||
| `ruleId` | `long` | | 规则ID |
|
||
| `startDate` | `string` | | 生效开始日期 |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `DELETE` /admin/order/refund-policy/{policyId}
|
||
|
||
**删除退款政策**
|
||
|
||
软删除退款政策。删除后该产品类型将使用默认退款规则。不影响已使用该政策处理的历史退款申请。
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `policyId` | `integer` | | 退款政策ID |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/refund-policy/{policyId}/toggle
|
||
|
||
**启用/禁用退款政策**
|
||
|
||
禁用后该政策不再参与退款金额计算,对应产品类型将使用默认退款规则
|
||
|
||
同一产品类型仅允许一个启用中的政策
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `policyId` | `integer` | | 退款政策ID |
|
||
|
||
**查询参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 | 示例 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `enabled` | `boolean` | | 是否启用 | |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
## 退款管理
|
||
|
||
### `GET` /admin/order/refund/list
|
||
|
||
**退款申请列表**
|
||
|
||
分页查询退款申请,支持按状态筛选。
|
||
状态包括:PENDING(待审批)、APPROVED(已通过)、REJECTED(已拒绝)、REFUNDING(退款中)、REFUNDED(已退款)、CANCELLED(已撤回)、APPEAL(申诉中)
|
||
|
||
【关联字典】
|
||
- 筛选参数 status → 字典:refund_status(退款状态)
|
||
- 返回字段 status → 字典:refund_status(退款状态)
|
||
|
||
**查询参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 | 示例 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `page` | `integer(int32)` | | 页码 | |
|
||
| `pageSize` | `integer(int32)` | | 每页条数 | |
|
||
| `status` | `string` | | 状态 | |
|
||
|
||
**响应** `统一响应结果«分页结果«退款申请VO»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `分页结果«退款申请VO»` | | 响应数据 |
|
||
| `page` | `int` | | 当前页码 |
|
||
| `pageSize` | `int` | | 每页条数 |
|
||
| `records` | `退款申请VO[]` | | 数据列表 |
|
||
| `actualAmount` | `number` | | 实际退款金额 |
|
||
| `appealAmount` | `number` | | 申诉退款金额 |
|
||
| `appealReason` | `string` | | 申诉原因 |
|
||
| `appealStatus` | `int` | | 申诉状态: 1-处理中 2-通过 3-驳回 |
|
||
| `appealStatusLabel` | `string` | | 申诉状态标签 |
|
||
| `appealedAt` | `string` | | 申诉时间 |
|
||
| `applicantId` | `long` | | 申请人ID |
|
||
| `applicantName` | `string` | | 申请人姓名 |
|
||
| `applicantType` | `string` | | 申请人类型(USER/ADMIN) |
|
||
| `applicationId` | `long` | | 申请ID |
|
||
| `approvalNo` | `string` | | 审批编号 |
|
||
| `calculatedAmount` | `number` | | 计算退款金额 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `daysBeforeDept` | `int` | | 距出发天数 |
|
||
| `departureDate` | `string` | | 出发日期 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderNo` | `string` | | 订单号 |
|
||
| `paidAmount` | `number` | | 已付金额 |
|
||
| `policyId` | `long` | | 退款政策ID |
|
||
| `policyName` | `string` | | 退款政策名称 |
|
||
| `productName` | `string` | | 产品名称 |
|
||
| `reasonDetail` | `string` | | 补充说明 |
|
||
| `reasonId` | `long` | | 退款原因ID |
|
||
| `reasonText` | `string` | | 退款原因 |
|
||
| `refundRatio` | `int` | | 退款比例(百分比) |
|
||
| `refundType` | `string` | | 退款类型(字典:refund_type) |
|
||
| `refundTypeLabel` | `string` | | 退款类型标签(字典:refund_type 翻译) |
|
||
| `refundedAt` | `string` | | 退款完成时间 |
|
||
| `reviewAdminId` | `long` | | 审批管理员ID |
|
||
| `reviewAdminName` | `string` | | 审批管理员姓名 |
|
||
| `reviewRemark` | `string` | | 审批备注 |
|
||
| `reviewedAt` | `string` | | 审批时间 |
|
||
| `status` | `string` | | 退款状态(字典:refund_status) |
|
||
| `statusLabel` | `string` | | 退款状态标签(字典:refund_status 翻译) |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `total` | `int` | | 总记录数 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `POST` /admin/order/refund/reason
|
||
|
||
**创建退款原因**
|
||
|
||
新增退款原因选项,C端用户申请退款时可选择。按sortOrder排序展示
|
||
|
||
【关联字典】
|
||
- 请求参数 category → 字典:refund_reason_category(退款原因分类)
|
||
|
||
**请求体** `创建退款原因请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `category` | `string` | | 分类 |
|
||
| `reasonText` | `string` | 是 | 退款原因文本 |
|
||
| `sortOrder` | `int` | | 排序号 |
|
||
|
||
**响应** `统一响应结果«退款原因VO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `退款原因VO` | | 响应数据 |
|
||
| `category` | `string` | | 原因分类 |
|
||
| `enabled` | `boolean` | | 是否启用 |
|
||
| `reasonId` | `long` | | 原因ID |
|
||
| `reasonText` | `string` | | 原因描述 |
|
||
| `sortOrder` | `int` | | 排序序号 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/refund/reason/list
|
||
|
||
**退款原因列表**
|
||
|
||
获取所有退款原因选项(含禁用的),用于退款原因管理页面
|
||
|
||
【关联字典】
|
||
- 返回字段 category → 字典:refund_reason_category(退款原因分类)
|
||
|
||
**响应** `统一响应结果«List«退款原因VO»»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `退款原因VO[]` | | 响应数据 |
|
||
| `category` | `string` | | 原因分类 |
|
||
| `enabled` | `boolean` | | 是否启用 |
|
||
| `reasonId` | `long` | | 原因ID |
|
||
| `reasonText` | `string` | | 原因描述 |
|
||
| `sortOrder` | `int` | | 排序序号 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/refund/reason/{reasonId}
|
||
|
||
**修改退款原因**
|
||
|
||
修改退款原因的文本、分类或排序,不影响已使用该原因的历史退款申请
|
||
|
||
【关联字典】
|
||
- 请求参数 category → 字典:refund_reason_category(退款原因分类)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `reasonId` | `integer` | | 退款原因ID |
|
||
|
||
**请求体** `修改退款原因请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `category` | `string` | | 分类 |
|
||
| `reasonText` | `string` | | 退款原因文本 |
|
||
| `sortOrder` | `int` | | 排序号 |
|
||
|
||
**响应** `统一响应结果«退款原因VO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `退款原因VO` | | 响应数据 |
|
||
| `category` | `string` | | 原因分类 |
|
||
| `enabled` | `boolean` | | 是否启用 |
|
||
| `reasonId` | `long` | | 原因ID |
|
||
| `reasonText` | `string` | | 原因描述 |
|
||
| `sortOrder` | `int` | | 排序序号 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `DELETE` /admin/order/refund/reason/{reasonId}
|
||
|
||
**删除退款原因**
|
||
|
||
软删除退款原因,删除后C端不再展示。不影响已使用该原因的历史退款申请
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `reasonId` | `integer` | | 退款原因ID |
|
||
|
||
**响应** `统一响应结果«Void»`
|
||
|
||
---
|
||
|
||
### `GET` /admin/order/refund/{applicationId}
|
||
|
||
**退款申请详情**
|
||
|
||
返回退款申请的完整信息,包括退款原因、申请金额、实退金额、审批记录、申诉信息等
|
||
|
||
【关联字典】
|
||
- 返回字段 status → 字典:refund_status(退款状态)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `applicationId` | `integer` | | 退款申请ID |
|
||
|
||
**响应** `统一响应结果«退款申请VO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `退款申请VO` | | 响应数据 |
|
||
| `actualAmount` | `number` | | 实际退款金额 |
|
||
| `appealAmount` | `number` | | 申诉退款金额 |
|
||
| `appealReason` | `string` | | 申诉原因 |
|
||
| `appealStatus` | `int` | | 申诉状态: 1-处理中 2-通过 3-驳回 |
|
||
| `appealStatusLabel` | `string` | | 申诉状态标签 |
|
||
| `appealedAt` | `string` | | 申诉时间 |
|
||
| `applicantId` | `long` | | 申请人ID |
|
||
| `applicantName` | `string` | | 申请人姓名 |
|
||
| `applicantType` | `string` | | 申请人类型(USER/ADMIN) |
|
||
| `applicationId` | `long` | | 申请ID |
|
||
| `approvalNo` | `string` | | 审批编号 |
|
||
| `calculatedAmount` | `number` | | 计算退款金额 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `daysBeforeDept` | `int` | | 距出发天数 |
|
||
| `departureDate` | `string` | | 出发日期 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderNo` | `string` | | 订单号 |
|
||
| `paidAmount` | `number` | | 已付金额 |
|
||
| `policyId` | `long` | | 退款政策ID |
|
||
| `policyName` | `string` | | 退款政策名称 |
|
||
| `productName` | `string` | | 产品名称 |
|
||
| `reasonDetail` | `string` | | 补充说明 |
|
||
| `reasonId` | `long` | | 退款原因ID |
|
||
| `reasonText` | `string` | | 退款原因 |
|
||
| `refundRatio` | `int` | | 退款比例(百分比) |
|
||
| `refundType` | `string` | | 退款类型(字典:refund_type) |
|
||
| `refundTypeLabel` | `string` | | 退款类型标签(字典:refund_type 翻译) |
|
||
| `refundedAt` | `string` | | 退款完成时间 |
|
||
| `reviewAdminId` | `long` | | 审批管理员ID |
|
||
| `reviewAdminName` | `string` | | 审批管理员姓名 |
|
||
| `reviewRemark` | `string` | | 审批备注 |
|
||
| `reviewedAt` | `string` | | 审批时间 |
|
||
| `status` | `string` | | 退款状态(字典:refund_status) |
|
||
| `statusLabel` | `string` | | 退款状态标签(字典:refund_status 翻译) |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/refund/{applicationId}/complete
|
||
|
||
**手动完成退款**
|
||
|
||
用于测试订单或线下退款场景。将处于'退款中'状态的退款申请直接标记为'已退款'
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `applicationId` | `integer` | | 退款申请ID |
|
||
|
||
**响应** `统一响应结果«退款申请VO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `退款申请VO` | | 响应数据 |
|
||
| `actualAmount` | `number` | | 实际退款金额 |
|
||
| `appealAmount` | `number` | | 申诉退款金额 |
|
||
| `appealReason` | `string` | | 申诉原因 |
|
||
| `appealStatus` | `int` | | 申诉状态: 1-处理中 2-通过 3-驳回 |
|
||
| `appealStatusLabel` | `string` | | 申诉状态标签 |
|
||
| `appealedAt` | `string` | | 申诉时间 |
|
||
| `applicantId` | `long` | | 申请人ID |
|
||
| `applicantName` | `string` | | 申请人姓名 |
|
||
| `applicantType` | `string` | | 申请人类型(USER/ADMIN) |
|
||
| `applicationId` | `long` | | 申请ID |
|
||
| `approvalNo` | `string` | | 审批编号 |
|
||
| `calculatedAmount` | `number` | | 计算退款金额 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `daysBeforeDept` | `int` | | 距出发天数 |
|
||
| `departureDate` | `string` | | 出发日期 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderNo` | `string` | | 订单号 |
|
||
| `paidAmount` | `number` | | 已付金额 |
|
||
| `policyId` | `long` | | 退款政策ID |
|
||
| `policyName` | `string` | | 退款政策名称 |
|
||
| `productName` | `string` | | 产品名称 |
|
||
| `reasonDetail` | `string` | | 补充说明 |
|
||
| `reasonId` | `long` | | 退款原因ID |
|
||
| `reasonText` | `string` | | 退款原因 |
|
||
| `refundRatio` | `int` | | 退款比例(百分比) |
|
||
| `refundType` | `string` | | 退款类型(字典:refund_type) |
|
||
| `refundTypeLabel` | `string` | | 退款类型标签(字典:refund_type 翻译) |
|
||
| `refundedAt` | `string` | | 退款完成时间 |
|
||
| `reviewAdminId` | `long` | | 审批管理员ID |
|
||
| `reviewAdminName` | `string` | | 审批管理员姓名 |
|
||
| `reviewRemark` | `string` | | 审批备注 |
|
||
| `reviewedAt` | `string` | | 审批时间 |
|
||
| `status` | `string` | | 退款状态(字典:refund_status) |
|
||
| `statusLabel` | `string` | | 退款状态标签(字典:refund_status 翻译) |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/refund/{applicationId}/execute-appeal
|
||
|
||
**申诉通过后执行退款**
|
||
|
||
申诉退款流程:用户发起申诉 → 企微OA审批 → 审批通过后管理员确认实退金额 → 调起微信退款
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `applicationId` | `integer` | | 退款申请ID |
|
||
|
||
**请求体** `申诉退款执行请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `actualAmount` | `number` | 是 | 实际退款金额 |
|
||
| `remark` | `string` | | 备注 |
|
||
|
||
**响应** `统一响应结果«退款申请VO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `退款申请VO` | | 响应数据 |
|
||
| `actualAmount` | `number` | | 实际退款金额 |
|
||
| `appealAmount` | `number` | | 申诉退款金额 |
|
||
| `appealReason` | `string` | | 申诉原因 |
|
||
| `appealStatus` | `int` | | 申诉状态: 1-处理中 2-通过 3-驳回 |
|
||
| `appealStatusLabel` | `string` | | 申诉状态标签 |
|
||
| `appealedAt` | `string` | | 申诉时间 |
|
||
| `applicantId` | `long` | | 申请人ID |
|
||
| `applicantName` | `string` | | 申请人姓名 |
|
||
| `applicantType` | `string` | | 申请人类型(USER/ADMIN) |
|
||
| `applicationId` | `long` | | 申请ID |
|
||
| `approvalNo` | `string` | | 审批编号 |
|
||
| `calculatedAmount` | `number` | | 计算退款金额 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `daysBeforeDept` | `int` | | 距出发天数 |
|
||
| `departureDate` | `string` | | 出发日期 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderNo` | `string` | | 订单号 |
|
||
| `paidAmount` | `number` | | 已付金额 |
|
||
| `policyId` | `long` | | 退款政策ID |
|
||
| `policyName` | `string` | | 退款政策名称 |
|
||
| `productName` | `string` | | 产品名称 |
|
||
| `reasonDetail` | `string` | | 补充说明 |
|
||
| `reasonId` | `long` | | 退款原因ID |
|
||
| `reasonText` | `string` | | 退款原因 |
|
||
| `refundRatio` | `int` | | 退款比例(百分比) |
|
||
| `refundType` | `string` | | 退款类型(字典:refund_type) |
|
||
| `refundTypeLabel` | `string` | | 退款类型标签(字典:refund_type 翻译) |
|
||
| `refundedAt` | `string` | | 退款完成时间 |
|
||
| `reviewAdminId` | `long` | | 审批管理员ID |
|
||
| `reviewAdminName` | `string` | | 审批管理员姓名 |
|
||
| `reviewRemark` | `string` | | 审批备注 |
|
||
| `reviewedAt` | `string` | | 审批时间 |
|
||
| `status` | `string` | | 退款状态(字典:refund_status) |
|
||
| `statusLabel` | `string` | | 退款状态标签(字典:refund_status 翻译) |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|
||
|
||
### `PUT` /admin/order/refund/{applicationId}/review
|
||
|
||
**审批退款申请**
|
||
|
||
退款审批流程:查看退款申请 → 决定通过/拒绝 → 通过时填写实退金额 → 系统自动调起微信退款
|
||
|
||
拒绝后用户可发起申诉
|
||
|
||
【关联字典】
|
||
- 返回字段 status → 字典:refund_status(退款状态)
|
||
|
||
**路径参数**
|
||
|
||
| 参数 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `applicationId` | `integer` | | 退款申请ID |
|
||
|
||
**请求体** `管理员退款审批请求`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `action` | `string` | 是 | 审批结果:APPROVE=通过(自动调起微信退款)、REJECT=拒绝(用户可发起申诉) |
|
||
| `actualAmount` | `number` | | 实际退款金额(审批通过时可调整,不传则使用申请金额)。不能超过订单已付金额 |
|
||
| `remark` | `string` | | 审批备注 |
|
||
|
||
**响应** `统一响应结果«退款申请VO»`
|
||
|
||
| 字段 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- |
|
||
| `code` | `int` | | 状态码 |
|
||
| `data` | `退款申请VO` | | 响应数据 |
|
||
| `actualAmount` | `number` | | 实际退款金额 |
|
||
| `appealAmount` | `number` | | 申诉退款金额 |
|
||
| `appealReason` | `string` | | 申诉原因 |
|
||
| `appealStatus` | `int` | | 申诉状态: 1-处理中 2-通过 3-驳回 |
|
||
| `appealStatusLabel` | `string` | | 申诉状态标签 |
|
||
| `appealedAt` | `string` | | 申诉时间 |
|
||
| `applicantId` | `long` | | 申请人ID |
|
||
| `applicantName` | `string` | | 申请人姓名 |
|
||
| `applicantType` | `string` | | 申请人类型(USER/ADMIN) |
|
||
| `applicationId` | `long` | | 申请ID |
|
||
| `approvalNo` | `string` | | 审批编号 |
|
||
| `calculatedAmount` | `number` | | 计算退款金额 |
|
||
| `createTime` | `string` | | 创建时间 |
|
||
| `daysBeforeDept` | `int` | | 距出发天数 |
|
||
| `departureDate` | `string` | | 出发日期 |
|
||
| `orderId` | `long` | | 订单ID |
|
||
| `orderNo` | `string` | | 订单号 |
|
||
| `paidAmount` | `number` | | 已付金额 |
|
||
| `policyId` | `long` | | 退款政策ID |
|
||
| `policyName` | `string` | | 退款政策名称 |
|
||
| `productName` | `string` | | 产品名称 |
|
||
| `reasonDetail` | `string` | | 补充说明 |
|
||
| `reasonId` | `long` | | 退款原因ID |
|
||
| `reasonText` | `string` | | 退款原因 |
|
||
| `refundRatio` | `int` | | 退款比例(百分比) |
|
||
| `refundType` | `string` | | 退款类型(字典:refund_type) |
|
||
| `refundTypeLabel` | `string` | | 退款类型标签(字典:refund_type 翻译) |
|
||
| `refundedAt` | `string` | | 退款完成时间 |
|
||
| `reviewAdminId` | `long` | | 审批管理员ID |
|
||
| `reviewAdminName` | `string` | | 审批管理员姓名 |
|
||
| `reviewRemark` | `string` | | 审批备注 |
|
||
| `reviewedAt` | `string` | | 审批时间 |
|
||
| `status` | `string` | | 退款状态(字典:refund_status) |
|
||
| `statusLabel` | `string` | | 退款状态标签(字典:refund_status 翻译) |
|
||
| `updateTime` | `string` | | 更新时间 |
|
||
| `message` | `string` | | 响应消息 |
|
||
|
||
---
|