changelog(v2): 派单预校验证件到期强提醒不拦截——驾照/年检/保险过期 warning + 候选驾照过期标记(#5596)
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s

这个提交包含在:
API Changelog Bot 2026-08-06 18:13:52 +08:00
父节点 be67501c86
当前提交 1662671ff6

查看文件

@ -0,0 +1,83 @@
---
schema: "hl-changelog/v2"
ticket: "5596"
title: "派单预校验增加驾照/年检/车辆保险到期强提醒(不拦截,车务人工判断)"
consumer: "admin"
author: "wx(GIT)"
change_type: "修改接口"
backend_status: "deployed"
gateway_status: "verified"
frontend_status: "pending"
frontend_owner: ""
frontend_ref: ""
target_release: ""
verified_at: ""
status_note: "后端完成PR #5617 已合并 dev-v3 并部署 TEST,网关验证通过。派单 precheck 与司机候选对证件到期给出强提醒 warning不阻断派单,车务人工判断;司机候选列表新增驾照过期标记字段,前端候选/派单页可醒目提示「驾照已过期」。"
updated_at: "2026-08-06"
base: "dev-v3"
generated: "2026-08-06T18:30:00+08:00"
---
# 派单预校验增加驾照/年检/车辆保险到期强提醒(不拦截)
> 后端完成PR #5617 已合并 dev-v3 并部署 TEST,网关验证通过。
## 关联 / 联系人
### 链接
- **Issue**: [#5596](https://git.1814.love:8443/wx/HL/issues/5596)
- **PR**: [#5617](https://git.1814.love:8443/wx/HL/pulls/5617)
- **Merge commit**: [f846361f](https://git.1814.love:8443/wx/HL/commit/f846361f)
### 联系人
- **后端负责人**: @wx
## 背景
协调台实测:司机王信驾照 **2022-02-05 已过期 4 年**,但派单 precheck 无驾照到期校验——仅提示档期冲突/跨常驻,过期司机仍可正常派单(安全合规隐患)。
**口径wx 定)**:驾照/证件到期**不拦截,强提醒即可**——车务人工判断是否派单。
## 变更接口
### `POST /admin/fleet/assignments/precheck`(修改响应)
`warnings` 数组新增 3 个非阻断强提醒类型(只进 warnings、不影响 `conflict` 阻断判定):
| type | 触发条件 | 文案示例 |
|---|---|---|
| `license_expired` | 司机驾照到期日早于本单服务结束日 | 司机驾照已于 2022-02-05 过期(本单服务期间证件失效),请人工确认是否派单 |
| `veh_inspect_expired` | 车辆年检(行驶证)到期日早于本单服务结束日 | 车辆年检已于 2025-01-01 过期(本单服务期间证件失效),请人工确认是否派单 |
| `veh_insure_expired` | 车辆保险到期日早于本单服务结束日 | 车辆保险已于 2025-06-01 过期(本单服务期间无保险保障),请人工确认是否派单 |
判定基准取**服务结束日**(行程期间任一天证件失效都提醒),无结束日回退开始日;证件到期日为空不提示。
### `POST /admin/fleet/assignments/candidates`(修改响应)
`drivers.records[]`(司机候选)新增字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| `licenseExpire` | string(date) | 驾照到期日;未填为空 |
| `licenseExpired` | boolean | 驾照是否已过期(相对请求服务日期;候选页醒目提示用) |
| `licenseExpiredMessage` | string | 醒目提示文案,如「司机驾照已于 2022-02-05 过期,请人工确认」;未过期为空 |
## 行为变化
- **过期司机派单不再无感放行**precheck 对驾照/年检/保险过期的车、司机给出强提醒 warning,弹窗醒目展示「驾照已过期」,但**不拦截**——车务人工判断是否派单
- **候选页醒目提示**:司机候选列表直接透出 `licenseExpired` 标记与文案,前端可标红「驾照已过期」
- **不改变既有阻断逻辑**:证件到期不影响 `conflict`/`conflicts`,档期冲突、资源不可用、跨常驻等既有判定不变
- 写接口create/change**不新增拦截**,与口径一致(人说的算)
## 前端/调用方动作
- **派单弹窗precheck**warnings 出现 `license_expired` / `veh_inspect_expired` / `veh_insure_expired` 时醒目展示(红色警示样式),确认后仍可正常提交派单
- **候选页**:司机候选 `licenseExpired=true` 时展示「驾照已过期」醒目标签(可用 `licenseExpiredMessage` 直接展示),不限制选择
## 验证证据
- 定向测试 572 项全绿AssignmentServiceTest 378新增 2 例:过期证件强提醒不阻断 conflict=false、证件未过期无提示、AssignmentCandidateServiceTest 47新增 2 例候选驾照过期标记与文案、有效驾照不标记、DriverServiceTest 147
- fleet 全量 verify 3203 项,仅 ReleaseEMixedBinaryHarnessTest 2 个 Windows 进程时序用例 flaky 失败(单独重跑 23/23 全绿、干净基线同样全绿、失败用例每次不同=并行负载竞争,与本次改动无关;MySQL 8.0.33 集成 12/12 单独复跑全绿;spotless 通过
- 网关验证TEST,18:10 部署后):① precheck 过期司机王信+有效车 → HTTP 200、conflict=false不阻断、warnings 含 `license_expired`「司机驾照已于 2022-02-05 过期(本单服务期间证件失效),请人工确认是否派单」;② 对照有效驾照司机 → 无任何证件到期提醒;③ 候选接口王信 `licenseExpired=true``licenseExpiredMessage`「司机驾照已于 2022-02-05 过期,请人工确认」;共 10/10 通过