--- schema: "hl-changelog/v2" ticket: "6077" title: "订单详情显示最后操作的房务/车务人员" consumer: "admin" author: "wx" change_type: "修改接口" backend_status: "deployed" gateway_status: "verified" frontend_status: "not_required" frontend_owner: "" frontend_ref: "" target_release: "" verified_at: "" status_note: "后端完成:PR #6080 已合并 dev-v3(39c489673)并部署 TEST(hl-order-service-v3 双实例 8086/8186,2026-08-19 15:02 重启)。订单详情响应新增最后操作房务/车务人员 ID 与姓名共 4 个可选只读字段,无操作/无对应需求时为 null,前端按需取读即可、不展示无影响。" updated_at: "2026-08-19" base: "dev-v3" generated: "2026-08-19T15:22:40+08:00" --- # 订单详情显示最后操作的房务/车务人员(#6077) ## 背景 订单详情页需要看到该订单最后一笔配房、派车分别由哪位房务/车务人员操作,便于追溯责任。取 `order_hotel_requirement` / `order_vehicle_requirement` 的 `updated_by`,经 `admin_user` 解析为姓名。 ## 变更接口 | 接口 | 变更 | | --- | --- | | `GET /v3/admin/order/{id}`(订单详情,9 Tab 聚合) | **响应新增字段**(均可选只读,无操作/无对应需求时为 null,不影响既有任何字段):`houseOperatorId`(Long,顶层,最后操作房务人员 ID)、`vehicleOperatorId`(Long,顶层,最后操作车务人员 ID)、`houseOperatorName`(String,顶层 + `overview.customerInfo` 内均有,最后操作房务人员姓名)、`vehicleOperatorName`(String,顶层 + `overview.customerInfo` 内均有,最后操作车务人员姓名) | ## 响应示例 `GET /v3/admin/order/{id}` 返回(仅列本次新增字段,其余字段省略): ```json { "code": 200, "data": { "houseOperatorId": null, "vehicleOperatorId": null, "houseOperatorName": null, "vehicleOperatorName": null, "overview": { "customerInfo": { "houseOperatorName": "王骁", "vehicleOperatorName": null } } } } ``` 说明:该单已配房未派车,故 `overview.customerInfo.houseOperatorName="王骁"` 有值、`vehicleOperatorName=null`;顶层 4 字段当前实现为 null(以 `overview.customerInfo` 内同名字段为准),前端读 `overview.customerInfo.houseOperatorName` / `vehicleOperatorName` 即可。 ## 行为口径 - 4 个字段均为**只读、可选**:该订单无对应用车/用房需求或尚无操作时值为 null,接口不报错。 - 纯新增字段,不影响既有任何字段的取值与结构。 - 姓名来源为管理后台用户表,按最后操作人 ID 解析;解析不到时同样为 null。 ## 前端动作 无必须动作。需要展示「最后操作房务/车务」时读 `overview.customerInfo.houseOperatorName` / `vehicleOperatorName`(或顶层同名字段)即可,为 null 时前端自行决定隐藏或显示「-」。 ## 验证证据 - 单测新增 113 行覆盖(正常有值 / 无需求为 null)。 - 部署:PR #6080 squash 合并 dev-v3(merge commit `39c489673`);测试服 hl-order-service-v3 双实例 8086/8186 于 2026-08-19 15:02 重启。 - 网关实测(TEST,admin token):`GET /v3/admin/order/2089928715696746498` 返 200,`overview.customerInfo.houseOperatorName="王骁"`(该单已配房),`vehicleOperatorName=null`(该单未派车),符合「有操作给姓名 / 无操作为 null」口径。 ## 关联 / 联系人 - Issue:https://git.1814.love:8443/wx/HL/issues/6077 - PR:https://git.1814.love:8443/wx/HL/pulls/6080 - 后端负责人:wx