# 管理端订单车辆/酒店分配独立 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>`: | 字段 | 类型 | 说明 | | --- | --- | --- | | `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>`: | 字段 | 类型 | 说明 | | --- | --- | --- | | `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)