---
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 校验
