# 【前端对接·管理后台】订单用车座位校验事务边界收口 > Issue: [wx/HL#4858](https://git.1814.love:8443/wx/HL/issues/4858) > PR: [wx/HL#4859](https://git.1814.love:8443/wx/HL/pulls/4859) > 服务: `hl-order-service-v3` > 日期: 2026-07-08 > 影响范围: 订单详情 / 调整订单弹窗 / 车辆安排 ## 1. 结论 - 本次不新增前端字段,不改变请求结构。 - 前端仍按 #4856 文档处理:先选车型大类,再从 `GET /admin/fleet/vehicle-types/list` 的 `seatOptions` 渲染座位数下拉。 - `PUT /v3/admin/order/{id}/vehicle-requirement` 提交前,后端会在事务外只读调用车务车型库校验 `vehicleType + seats`。 - 非法座位数组合继续返回 `582024`,车务车型库不可用继续返回 `582091`。 ## 2. 提交请求保持不变 ```http PUT /v3/admin/order/2074746808742928386/vehicle-requirement Authorization: Bearer Content-Type: application/json ``` ```json { "fleet": [ { "vehicleType": "suv2", "seats": 5, "count": 1 } ], "specialTags": ["儿童安全座椅"], "remark": "需要接机,后备箱放 2 个 28 寸行李箱" } ``` 字段口径: | 字段 | 类型 | 说明 | |------|------|------| | `fleet[].vehicleType` | string | 车型大类 key。前端可传真实 `typeKey`,后端保存前归一为 `suv/mpv/bus/sedan`。 | | `fleet[].seats` | number | 从该大类 `seatOptions` 中选择的座位数。 | | `fleet[].count` | number | 车辆数量,必须大于 0。 | ## 3. 非法座位数组合 请求示例: ```json { "fleet": [ { "vehicleType": "suv", "seats": 99, "count": 1 } ], "specialTags": [], "remark": "negative-seat-check" } ``` 响应示例: ```json { "loginStatus": 200, "requestStatus": 200, "code": 582024, "msg": "座位数不在该车型大类可选座位数中,请检查车型库", "data": null } ``` 前端处理: - 直接展示后端 `msg`。 - 不允许把座位数改成手输。 - 切换车型大类后,如果当前座位数不在新大类 `seatOptions` 内,需要清空座位数并要求重新选择。 ## 4. 验证结果 - 测试环境 `hl-order-service-v3` 已部署成功。 - `8086/8186` 双实例 `/actuator/health` 返回 200。 - 管理端 API 负向实测:非法 `seats=99` 返回 `582024`,证明校验发生在订单查找和写库之前。