--- 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 通过