docs: 同步订单用车座位校验收口
这个提交包含在:
父节点
f2c9864c02
当前提交
aea6b4091d
@ -0,0 +1,86 @@
|
||||
# 【前端对接·管理后台】订单用车座位校验事务边界收口
|
||||
|
||||
> 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 <admin-token>
|
||||
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`,证明校验发生在订单查找和写库之前。
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户