所有检测均成功
changelog-filename-gate / validate (push) Successful in 1s
修改原因:保单在线查看与槽位候选请求契约已完成管理后台交付。 修改内容:回写 implemented、v2.1 业务提交引用和验证日期。 实际验证:pnpm checkpoint 全量通过。 Changelog:#5558、#5573 对应 source 文档。
69 行
3.4 KiB
Markdown
69 行
3.4 KiB
Markdown
---
|
||
schema: "hl-changelog/v2"
|
||
ticket: "5573"
|
||
title: "派车候选按槽位座位需求校验(SUV槽5座不再误标座位不足)"
|
||
consumer: "admin"
|
||
author: "wx(GIT)"
|
||
change_type: "修改接口"
|
||
backend_status: "deployed"
|
||
gateway_status: "verified"
|
||
frontend_status: "implemented"
|
||
frontend_owner: "pi-main-session"
|
||
frontend_ref: "hl-admin@3e535fe3ad6a406529eb95d7787cefe11b9584cd"
|
||
target_release: "v2.1"
|
||
verified_at: "2026-08-06"
|
||
status_note: "后端完成:PR #5578 已合并 dev-v3 并部署 TEST;网关验证通过(商务槽 7 座/SUV 槽 5 座在整单 10-12 人下不再误标座位不足,车型匹配保留)。候选接口字段无变化,前端零改动;需确认派车弹窗仍传 fleetItemIndex/requiredVehicleType。"
|
||
updated_at: "2026-08-06"
|
||
base: "dev-v3"
|
||
generated: "2026-08-06T01:05:02+08:00"
|
||
---
|
||
|
||
# 派车候选按槽位座位需求校验(SUV槽5座不再误标座位不足)
|
||
|
||
> 后端完成:PR #5578 已合并 dev-v3 并部署 TEST,网关验证 4/4 通过。
|
||
|
||
## 关联 / 联系人
|
||
|
||
### 链接
|
||
|
||
- **Issue**: [#5573](https://git.1814.love:8443/wx/HL/issues/5573)
|
||
- **PR**: [#5578](https://git.1814.love:8443/wx/HL/pulls/5578)
|
||
- **Merge commit**: [49e0331fe](https://git.1814.love:8443/wx/HL/commit/49e0331fe)
|
||
|
||
### 联系人
|
||
|
||
- **后端负责人**: @wx
|
||
|
||
## 背景
|
||
|
||
26-4220(乘客 10 人,SUV 槽 5 座 + 商务槽 7 座)派车:候选面板此前按**整单 headcount**(10 人)校验每辆候选车,SUV 槽所有 SUV(5-7 座)误标"需求不匹配·座位不足"(可选但误导),考斯特 19 座也被标不匹配。
|
||
|
||
## 口径
|
||
|
||
槽位级派车按**槽位座位需求**校验:SUV 槽 5 座 → 车辆座位数 ≥ 5 即匹配;乘客分配跨槽(SUV 载 4 + 商务载 6 = 10)。车型匹配保留(SUV 槽优先 SUV,其他车型仍标不匹配原因)。
|
||
|
||
## 变更接口
|
||
|
||
| 方法 | 路径 | 来源 |
|
||
|---|---|---|
|
||
| `POST` | `/admin/fleet/assignments/candidates` | `AssignmentController`(fleet) |
|
||
|
||
路径前缀 `/admin/fleet/**` 已由网关登录/角色校验收口,无需新增网关规则。**请求/响应字段无变化**:后端从 order-v3 当前需求按 `fleetItemIndex`(count 展开定位)推导槽位要求座位数;推导不到(缺 orderId/fleetItemIndex 或需求不可达)时回退整单 `headcount` 旧行为。
|
||
|
||
## 行为变化
|
||
|
||
- `seatsEnough` / `requirementMatched` 的座位维度:有槽位座位需求时按"车辆座位数 ≥ 槽位要求座位数"判定(不再用整单 headcount)
|
||
- 车型匹配(`requiredVehicleType` vs 车辆车型 key)逻辑不变
|
||
- `headcount` 参数保留(展示/回退用),无字段删除
|
||
|
||
## 前端/调用方动作
|
||
|
||
1. 派车弹窗**保持传 `fleetItemIndex`(当前槽位序号)与 `requiredVehicleType`(槽位车型)**——修复依赖这两个参数定位槽位座位需求
|
||
2. 展示逻辑不变:`seatsEnough=false` 才标"座位不足",`requirementMatched=false` 才标"需求不匹配"
|
||
|
||
## 验证证据
|
||
|
||
- 定向测试:AssignmentCandidateServiceTest 43/43(+2:槽位 5 座配 10-12 人订单不误标 / 无槽位序号回退 headcount);fleet verify 3143 用例全绿
|
||
- 网关验证(TEST):商务槽 7 座(headcount=10)7 座车 seatsEnough=true;SUV 槽 5 座(headcount=12)SUV 5-7 座 seatsEnough=true;mpv 车在 suv 槽仍 requirementMatched=false(车型不匹配正确标注)
|
||
- 兼容性结论:无契约变化;未传 fleetItemIndex 的旧调用保持原 headcount 校验
|