hl-api-changelog/changelogs/2026-04/2026-04-20_order-v2_admin-assignment-get.md

138 行
3.9 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# 管理端订单车辆/酒店分配独立 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)