diff --git a/changelogs-v2/2026-09/28_8414_下线订单侧三个死端点-删除接口-管理后台.md b/changelogs-v2/2026-09/28_8414_下线订单侧三个死端点-删除接口-管理后台.md new file mode 100644 index 00000000..37b13258 --- /dev/null +++ b/changelogs-v2/2026-09/28_8414_下线订单侧三个死端点-删除接口-管理后台.md @@ -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`「接口不存在: 」: + +- `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