--- 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`「接口不存在: 」: - `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 ``` #### 响应示例 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 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 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`「接口不存在: 」 | | 同 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