docs(order-v3): #8414 订单侧三个死端点下线(车辆候选/车辆派车/酒店派车)删除接口
changelog-filename-gate / validate (push) Failing after 2s

这个提交包含在:
lc
2026-09-28 12:18:02 +08:00
父节点 11f4cd3de5
当前提交 617c16d0db
@@ -0,0 +1,330 @@
---
schema: "hl-changelog/v2"
ticket: "8414"
title: "订单侧三个死端点下线:车辆候选 / 车辆派车 / 酒店派车"
consumer: "admin"
author: "lc(GIT)"
change_type: "删除接口"
backend_status: "deployed"
gateway_status: "verified"
frontend_status: "not_required"
frontend_owner: ""
frontend_ref: ""
target_release: ""
verified_at: ""
status_note: "已部署 TEST 并经 Gateway 实测:三条路径各 8 次均返回 HTTP 200 + code 404「接口不存在」。三口改前恒返空页 / 恒抛 582108 / 恒抛 582107,均不落写;hl-ui 全部远程分支零调用(发布前复核 master/v1/v2/v2.1@681518ec),前端无需改动。"
updated_at: "2026-09-28"
base: "dev-v3"
---
# order-v3:订单侧三个死端点下线(管理后台)
> **服务**: hl-order-service-v3
> **PR**: #8467
> **Issue**: #8414
> **日期**: 2026-09-28
> **影响范围**: 管理后台无调用方,前端无需改动
---
## ⚠️ 关键变化
以下三个接口已删除,调用返回 HTTP 200 + `code: 404`「接口不存在: <METHOD> <path>」:
- `GET /v3/admin/order/vehicle-requirement/{requirementId}/candidates`(原恒返空分页)
- `POST /v3/admin/order/vehicle-requirement/{requirementId}/assign`(原恒抛 582108)
- `POST /v3/admin/order/hotel-requirement/{requirementId}/assign`(原恒抛 582107)
错误码 582107、582108 随之删除,号位保留不复用。配车走 fleet `/admin/fleet/assignments`,配房走 API-SPEC-HOUSE §2.2。
---
## 一、背景
三口早已不干活:候选口恒返空页且无角色门,两个提交口只回「已迁移」错误码、不写库。hl-ui 全部远程分支零调用,按 #8387 / #8389 先例物理删除。
---
## 二、变更接口清单
| # | 接口 | 方法 | 路径 | 变更类型 | 说明 |
|---|------|------|------|----------|------|
| 1 | 车控配车候选(订单侧) | GET | `/v3/admin/order/vehicle-requirement/{requirementId}/candidates` | 删除 | 路由已删,返回 code 404 |
| 2 | 车控提交配车(订单侧) | POST | `/v3/admin/order/vehicle-requirement/{requirementId}/assign` | 删除 | 路由已删,返回 code 404;582108 删除 |
| 3 | 房控提交配房(订单侧旧版) | POST | `/v3/admin/order/hotel-requirement/{requirementId}/assign` | 删除 | 路由已删,返回 code 404;582107 删除 |
---
## 三、接口详情
### 1. 车控配车候选 `GET /v3/admin/order/vehicle-requirement/{requirementId}/candidates`
**VO**: `已删除`
**状态**:已删除,返回 code 404。
#### 使用场景
该接口已删除。车辆候选改用 fleet `POST /admin/fleet/assignments/candidates`。
#### 入参字段表
| 字段 | 位置 | 类型 | 必填 | 约束 | 说明 |
|------|------|------|------|------|------|
| — | — | — | — | — | 已删除 |
#### 出参字段表
| 字段 | 类型 | 说明 |
|------|------|------|
| — | — | 已删除 |
#### 请求示例
```http
GET /v3/admin/order/vehicle-requirement/999999999999999999/candidates?page=1&pageSize=10 HTTP/1.1
Host: api.test.1814.love
Authorization: Bearer <admin token>
```
#### 响应示例
HTTP 状态码 **200**,业务码 404:
```json
{
"code": 404,
"message": "接口不存在: GET /v3/admin/order/vehicle-requirement/999999999999999999/candidates",
"data": null
}
```
#### 空数据 / 降级响应
不适用。只判 `code`,不依赖 HTTP 状态码。
#### 错误响应
```json
{
"code": 404,
"message": "接口不存在: GET /v3/admin/order/vehicle-requirement/999999999999999999/candidates",
"data": null
}
```
#### 业务边界
- 路由已删除,任何请求返回 HTTP 200 + `code: 404`。
- 改前恒返空分页,从未返回过候选数据。
---
### 2. 车控提交配车 `POST /v3/admin/order/vehicle-requirement/{requirementId}/assign`
**VO**: `已删除`
**状态**:已删除,返回 code 404。
#### 使用场景
该接口已删除。派车改用 fleet `POST /admin/fleet/assignments` 或 `POST /admin/fleet/assignments/batch`。
#### 入参字段表
| 字段 | 位置 | 类型 | 必填 | 约束 | 说明 |
|------|------|------|------|------|------|
| — | — | — | — | — | 已删除 |
#### 出参字段表
| 字段 | 类型 | 说明 |
|------|------|------|
| — | — | 已删除 |
#### 请求示例
```http
POST /v3/admin/order/vehicle-requirement/999999999999999999/assign HTTP/1.1
Host: api.test.1814.love
Authorization: Bearer <admin token>
Content-Type: application/json
{"assignments":[{"vehicleId":"x","vehicleCount":1}]}
```
#### 响应示例
HTTP 状态码 **200**,业务码 404:
```json
{
"code": 404,
"message": "接口不存在: POST /v3/admin/order/vehicle-requirement/999999999999999999/assign",
"data": null
}
```
#### 空数据 / 降级响应
不适用。只判 `code`,不依赖 HTTP 状态码。
#### 错误响应
```json
{
"code": 404,
"message": "接口不存在: POST /v3/admin/order/vehicle-requirement/999999999999999999/assign",
"data": null
}
```
#### 业务边界
- 路由已删除,任何请求返回 HTTP 200 + `code: 404`;错误码 582108 不再出现。
- 改前恒抛 582108,从未写入过配车。
---
### 3. 房控提交配房(旧版) `POST /v3/admin/order/hotel-requirement/{requirementId}/assign`
**VO**: `已删除`
**状态**:已删除,返回 code 404。
#### 使用场景
该接口已删除。配房提交改用 `POST /v3/admin/order/hotel-requirements/{requirementId}/assignments`(API-SPEC-HOUSE §2.2)。
#### 入参字段表
| 字段 | 位置 | 类型 | 必填 | 约束 | 说明 |
|------|------|------|------|------|------|
| — | — | — | — | — | 已删除 |
#### 出参字段表
| 字段 | 类型 | 说明 |
|------|------|------|
| — | — | 已删除 |
#### 请求示例
```http
POST /v3/admin/order/hotel-requirement/999999999999999999/assign HTTP/1.1
Host: api.test.1814.love
Authorization: Bearer <admin token>
Content-Type: application/json
{"assignments":[{"dayNumber":1,"stayDate":"2026-10-01","hotelId":1,"roomType":"STANDARD","protoPrice":100,"settlementPrice":80}]}
```
#### 响应示例
HTTP 状态码 **200**,业务码 404:
```json
{
"code": 404,
"message": "接口不存在: POST /v3/admin/order/hotel-requirement/999999999999999999/assign",
"data": null
}
```
#### 空数据 / 降级响应
不适用。只判 `code`,不依赖 HTTP 状态码。
#### 错误响应
```json
{
"code": 404,
"message": "接口不存在: POST /v3/admin/order/hotel-requirement/999999999999999999/assign",
"data": null
}
```
#### 业务边界
- 路由已删除,任何请求返回 HTTP 200 + `code: 404`;错误码 582107 不再出现。
- 改前恒抛 582107,从未写入过配房。
---
## 四、契约约束与正确调用方式
| 场景 | 改前 | 改后 |
|------|------|------|
| 查车辆候选 | 订单侧 `GET .../vehicle-requirement/{requirementId}/candidates`(恒空页) | fleet `POST /admin/fleet/assignments/candidates` |
| 提交派车 | 订单侧 `POST .../vehicle-requirement/{requirementId}/assign`(恒抛 582108) | fleet `POST /admin/fleet/assignments`、`POST /admin/fleet/assignments/batch` |
| 提交配房 | 订单侧 `POST .../hotel-requirement/{requirementId}/assign`(恒抛 582107) | `POST /v3/admin/order/hotel-requirements/{requirementId}/assignments`(API-SPEC-HOUSE §2.2) |
---
## 五、数据库行为
无变更、无 Flyway。两个提交口改前改后都不写库。
---
## 六、边界行为
| 场景 | 行为 |
|---|---|
| 调用三条已删路径(任意参数、任意请求体) | HTTP 200 + `code: 404`「接口不存在: <METHOD> <path>」 |
| 同 Controller 其余接口(dispatch / reject / urgent 等) | 不变 |
## 六.6、修改前后对比
| 接口 | 改前 | 改后 |
|------|------|------|
| GET candidates | code 200,恒空分页 | code 404 接口不存在 |
| POST vehicle assign | 请求体合法时 code 582108,不合法时 code 400 | code 404 接口不存在 |
| POST hotel assign | 请求体合法时 code 582107,不合法时 code 400 | code 404 接口不存在 |
## 六.7、影响评估
- **兼容性**:hl-ui 全部远程分支零调用;三口改前都没有成功结果,不存在「原本成功、现在失败」。
- **数据影响**:零。
- **其它服务**:fleet、house、网关不变。
---
## 七、不影响范围
- fleet `/admin/fleet/assignments` 全部接口及其 `VehicleCandidateVO`:不变。
- house 域配房接口(API-SPEC-HOUSE §2):不变。
- 用车 / 用房需求其余接口(提交、dispatch、reject、urgent):不变。
- 网关配置:不变。
---
## 八、测试环境已验证
部署:TEST hl-order-service-v3 `fe023b0ed`(Deploy Panel 任务 ac208584,双实例健康)。网关 `api.test.1814.love`,requirementId 用 `999999999999999999`。
| # | 场景 | 实测结果 |
|---|---|---|
| 1 | `GET .../vehicle-requirement/{id}/candidates` × 8 | 全部 HTTP 200 + code 404「接口不存在: GET …」 |
| 2 | `POST .../vehicle-requirement/{id}/assign` × 8 | 全部 HTTP 200 + code 404「接口不存在: POST …」 |
| 3 | `POST .../hotel-requirement/{id}/assign` × 8 | 全部 HTTP 200 + code 404「接口不存在: POST …」 |
| 4 | 阳性对照 `POST .../vehicle-requirement/{id}/urgent` | code 582080「用车需求不存在或已失效」(路由在) |
| 5 | 阳性对照 fleet `POST /admin/fleet/assignments/candidates` | code 400 参数校验(路由在) |
| 6 | 改前对照(部署前同样三条 × 8) | code 200 空页 / 582108 / 582107 |
---
## 十、相关文档
- Issue:https://git.1814.love/wx/HL/issues/8414
- PR:https://git.1814.love/wx/HL/pulls/8467
- API-SPEC §4.3 / §4.4、API-SPEC-HOUSE §8.5 已标下线;`docs/order-v3/CHANGELOG.md` v6.3.31
---
## 关联 / 联系人
### 联系人
- **后端负责人**: @lc