--- schema: "hl-changelog/v2" ticket: "8389" title: "房务配房:下线 POST /v3/admin/order/assignments/{id}/rooms 家庭维度写接口" consumer: "admin" author: "wx(GIT)" change_type: "删除接口" backend_status: "deployed" gateway_status: "verified" frontend_status: "not_required" frontend_owner: "" frontend_ref: "" target_release: "" verified_at: "" status_note: "house 域家庭维度房间分配写口(POST)已下线,GET 端点由 #8390 补读门。hl-ui 零调用。前端实证(mmg 2026-09-27):POST assignments/{id}/rooms 零调用,not_required 复核确认。" updated_at: "2026-09-26" base: "dev-v3" --- # order-v3:下线家庭维度房间分配写接口(管理后台) **服务**: hl-order-service-v3 **PR**: #8396 **Issue**: #8389 --- ## ⚠️ 关键变化 `POST /v3/admin/order/assignments/{assignmentId}/rooms`(家庭维度房间分配)已删除,连同 `RoomAssignReqVO`/`RoomAssignRespVO` 与错误码 **808132**(入住人数必须 > 0)一并删除,码号不复用。 调用返回 HTTP 200 + `code: 404`(不是 HTTP 404)。GET 端点 `/v3/admin/order/orders/{orderId}/rooms` 由 #8390 补读权限门(ROOM_MANAGER/house_keeper_lead/SUPER_ADMIN 可读;非房务返 808090)。 --- ## 一、背景 该端口对 `rooms[].roomGroupNo` 与 `rooms[].travelerCount` 无出行人校验,会写入脏数据(`F99` 分组、`travelerCount=99` 等)。无调用方,计划下线避免继续钉住问题。 表 `house_room_assignment` 与 GET 端点保留(级联软删仍有效);仅删写接口,该表此后无写入方,GET 端点出参里对新数据 `roomAssignments` 恒为空数组。`house_room_assignment` 只被 `HouseAssignmentService` 读;C 端聚合读的是 #8387 相关的 `order_room_assignment` 表(不同表),两者不要混淆。 --- ## 二、变更接口清单 | # | 接口 | 方法 | 路径 | 变更类型 | 说明 | |---|------|------|------|----------|------| | 1 | 房间分配写 | POST | `/v3/admin/order/assignments/{assignmentId}/rooms` | 删除 | 路由已删,返回 404 | GET 端点 `/v3/admin/order/orders/{orderId}/rooms` 由 #8390 补读门(不在本单)。 --- ## 三、接口详情 ### 1. 房间分配写 `POST /v3/admin/order/assignments/{assignmentId}/rooms` **VO**: `已删除` **状态**:已删除。路由不存在,返回 404。 #### 使用场景 该接口已删除。 #### 入参字段表 | 字段 | 位置 | 类型 | 必填 | 约束 | 说明 | |------|------|------|------|------|------| | — | — | — | — | — | 已删除 | #### 出参字段表 | 字段 | 类型 | 说明 | |------|------|------| | — | — | 已删除 | #### 请求示例 ```http POST /v3/admin/order/assignments/2103126783048245250/rooms HTTP/1.1 Host: api.test.1814.love:9443 Authorization: Bearer Content-Type: application/json {} ``` #### 响应示例 HTTP 状态码 **200**(非 404),业务错误码 404: ```json { "code": 404, "message": "接口不存在: POST /v3/admin/order/assignments/2103126783048245250/rooms", "success": false, "data": null } ``` #### 空数据 / 降级响应 不适用。前端应只判 `code`,不依赖 HTTP 状态码。 #### 错误响应 ```json { "code": 404, "message": "接口不存在: POST /v3/admin/order/assignments/2103126783048245250/rooms", "success": false, "data": null } ``` #### 业务边界 - 接口已删除,路由不存在;调用返回 HTTP 200 + `code: 404`。 - 错误码 808132(入住人数必须 > 0)随本单一并删除,码号不复用。 - hl-ui 零调用;测试网关 nginx 日志窗口内该路径 53 次调用全部是脚本(python-requests / Python-urllib),零浏览器 UA。 --- ## 四、契约约束与正确调用方式 该接口已删除,不可调用。 --- ## 五、数据库行为 无变更、无 Flyway。表 `house_room_assignment` 保留;级联软删仍有效。 --- ## 六、边界行为 | 场景 | 行为 | |---|---| | 调用 POST /assignments/{id}/rooms | 返回 HTTP 200 + code 404 | | 调用 GET /orders/{id}/rooms | 仍在(200);#8390 补读门后,非房务返 808090 | | `house_room_assignment` 表 | 保留,此后无写入方,级联软删仍对存量数据有效 | ## 六.6、修改前后对比 | 维度 | 改前 | 改后 | |------|------|------| | POST 家庭房间 | 路由存在,可写 | 路由删除,返回 404 | ## 六.7、影响评估 - **兼容性**:hl-ui 零调用,无前端迁移。 - **数据影响**:零;表与 GET 保留。 - **其它服务**:无。 --- ## 七、不影响范围 - 房间分配 GET:保留(#8390 补读门)。 - 其他配房写(delete/updatePlacement 等):无改动。 - 级联软删:保留。 --- ## 八、测试环境已验证 部署:测试环境 order-v3 `1f65d7894`(含 e2313790b)。网关 `api.test.1814.love:9443`。 | # | 场景 | 实测结果 | |---|---|---| | 1 | `POST /v3/admin/order/assignments/{assignmentId}/rooms` | HTTP 200 + code 404「接口不存在: …」 | | 2 | `GET /v3/admin/order/orders/{orderId}/rooms` | 200(仍在) | 调用来源:测试网关 nginx 日志窗口内该路径 53 次,全部是脚本(python-requests / Python-urllib),零浏览器 UA。 --- ## 十、相关文档 - Issue:https://git.1814.love/wx/HL/issues/8389 - PR:https://git.1814.love/wx/HL/pulls/8396 - 关联:#8390(补读权限门) --- ## 关联 / 联系人 ### 联系人 - **后端负责人**: @wx