138 行
3.9 KiB
Markdown
138 行
3.9 KiB
Markdown
# 管理端订单车辆/酒店分配独立 GET 接口 — 2026-04-20
|
||
|
||
> **服务** hl-order-service-v2(端口 8094)· **类型** feat · **关联** PR #1009 / #1018
|
||
> **使用场景**:管理端订单详情 · 行程安排 Tab · 懒加载车辆/酒店分配数据
|
||
|
||
---
|
||
|
||
## 一、新增接口(2 个)
|
||
|
||
### 🆕 `GET /admin/order/{orderId}/vehicle-assignment` — 查询车辆分配列表
|
||
|
||
**功能**:行程安排 Tab 懒加载。司机电话默认脱敏返回(如 `138****1234`)。订单不存在返回业务异常。
|
||
|
||
**请求参数**:
|
||
|
||
| 参数 | 位置 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `orderId` | Path | `Long` | ✅ | 订单ID |
|
||
|
||
**返回值** `Result<List<VehicleAssignmentVO>>`:
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
| --- | --- | --- |
|
||
| `assignmentId` | `Long` | 分配ID |
|
||
| `orderId` | `Long` | 订单ID |
|
||
| `vehicleType` | `String` | 车型名称(如"丰田普拉多") |
|
||
| `vehicleCount` | `Integer` | 车辆数 |
|
||
| `plateNumber` | `String` | 车牌号(如"蒙A·A1234") |
|
||
| `driverName` | `String` | 司机姓名 |
|
||
| `driverPhone` | `String` | 司机电话(脱敏,如 `138****1234`) |
|
||
| `remark` | `String` | 备注 |
|
||
| `createTime` | `LocalDateTime` | 创建时间 |
|
||
|
||
**响应示例**:
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"data": [
|
||
{
|
||
"assignmentId": 900001,
|
||
"orderId": 700001,
|
||
"vehicleType": "丰田普拉多",
|
||
"vehicleCount": 1,
|
||
"plateNumber": "蒙A·A1234",
|
||
"driverName": "李师傅",
|
||
"driverPhone": "138****1234",
|
||
"remark": null,
|
||
"createTime": "2026-04-20 10:00:00"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
### 🆕 `GET /admin/order/{orderId}/hotel-assignment` — 查询酒店分配列表
|
||
|
||
**功能**:行程安排 Tab 懒加载。按家庭/日期返回结构化酒店分配。订单不存在返回业务异常。
|
||
|
||
**请求参数**:
|
||
|
||
| 参数 | 位置 | 类型 | 必填 | 说明 |
|
||
| --- | --- | --- | --- | --- |
|
||
| `orderId` | Path | `Long` | ✅ | 订单ID |
|
||
|
||
**返回值** `Result<List<HotelAssignmentDetailVO>>`:
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
| --- | --- | --- |
|
||
| `assignmentId` | `Long` | 分配ID |
|
||
| `orderId` | `Long` | 订单ID |
|
||
| `familyIndex` | `Integer` | 家庭序号(从1开始) |
|
||
| `hotelId` | `Long` | 酒店ID(资源服务) |
|
||
| `hotelName` | `String` | 酒店名称 |
|
||
| `roomTypeId` | `Long` | 房型ID(资源服务) |
|
||
| `roomType` | `String` | 房型名称 |
|
||
| `assignmentDate` | `LocalDate` | 分配日期 |
|
||
| `upgradePrice` | `BigDecimal` | 手动覆盖升级差价(null=使用系统计算) |
|
||
| `remark` | `String` | 备注 |
|
||
|
||
**响应示例**:
|
||
|
||
```json
|
||
{
|
||
"code": 200,
|
||
"data": [
|
||
{
|
||
"assignmentId": 800001,
|
||
"orderId": 700001,
|
||
"familyIndex": 1,
|
||
"hotelId": 500001,
|
||
"hotelName": "海拉尔铂尔曼大酒店",
|
||
"roomTypeId": 500101,
|
||
"roomType": "豪华大床房",
|
||
"assignmentDate": "2026-07-01",
|
||
"upgradePrice": null,
|
||
"remark": null
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## 二、与已有接口关系
|
||
|
||
| 接口 | 作用 | 状态 |
|
||
| --- | --- | --- |
|
||
| `PUT /admin/order/{orderId}/hotel-assignment` | 按天按家庭分配酒店 | 已有(未变) |
|
||
| `POST /admin/order/{orderId}/hotel-assignment/preview` | 升级差价预览 | 已有(未变) |
|
||
| 新增的两个 `GET` | 独立查询,供列表懒加载 | 本期新增 |
|
||
|
||
订单详情接口 `GET /admin/order/{orderId}` 原有 `hotelAssignmentDetails` / `vehicleInfo` 等字段保持不变;新增的独立 GET 用于避免一次性加载全量订单详情时拉取重量级分配数据。
|
||
|
||
---
|
||
|
||
## 三、数据库变更
|
||
|
||
**无**。底层 `order_hotel_assignment` / `order_vehicle_assignment` 表未改。
|
||
|
||
---
|
||
|
||
## 四、错误码
|
||
|
||
HTTP 始终返回 200,错误码在 `Result.code` 中。
|
||
|
||
| code | 触发 | 说明 |
|
||
| --- | --- | --- |
|
||
| 200 | 正常 | 成功(无分配数据返回空列表) |
|
||
| 400 | 订单不存在 | `BusinessException` |
|
||
|
||
---
|
||
|
||
## 五、关联
|
||
|
||
- PR: [wx/HL#1018](https://git.1814.love:8443/wx/HL/pulls/1018)
|