diff --git a/changelogs-v2/2026-08/06_5596_派单预校验证件到期强提醒不拦截-修改接口-管理后台.md b/changelogs-v2/2026-08/06_5596_派单预校验证件到期强提醒不拦截-修改接口-管理后台.md new file mode 100644 index 0000000..319be70 --- /dev/null +++ b/changelogs-v2/2026-08/06_5596_派单预校验证件到期强提醒不拦截-修改接口-管理后台.md @@ -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 通过