docs(changelog): 车务全量API审计批量修复6项

这个提交包含在:
API Changelog Bot 2026-06-16 12:02:45 +08:00
父节点 09ac87b11c
当前提交 75be110438

查看文件

@ -0,0 +1,33 @@
# 【批量修复·车务】全量 API 审计修复 6 项隐藏问题(含 2 项前端可感知)
> 端hl-ui 管理后台(车务)+ H5 司机入职 | 服务hl-fleet-service | PR #3864 | 已合并 dev-v3 + 部署测试服双实例 + 只读冒烟无回归 | 2026-06-16
## ⚠️ 关键说明
对车务现有全部接口做了一轮全量审计(静态深审 + 活体只读验证 + 对抗复核),确认并修复 6 个隐藏问题。其中 **2 项前端可感知**,其余为后端健壮性加固(接口契约/路径/出入参均不变,前端无需改)。
## 1. 前端可感知(请知悉)
### 1.1 存量「驾照已过期」司机现在能正常编辑了(管理后台)
- **现象(修复前)**:某司机驾照有效期已过期(如 2022 年),但仍在 2026 赛季在册。车管点「编辑」想改个姓名/标签/附件,**保存直接报 600201「驾照已过期」整单失败**——因为编辑表单回显了真实的过期日期并原样回传,后端无条件拦了。
- **修复后**:只有当**本次真的把有效期改成了一个过期日**才拦;**没动有效期(回显原值)则放行**。前端无需改,原来保存失败的场景现在能存了。
### 1.2 H5 驳回重提改「是否自带车」不再残留脏数据H5
- **现象(修复前)**:司机首次提交选了「有自带车」并填了车牌/车型/行驶证等,被驳回后第二次重提改成「无自带车」(不再传车辆块),后端旧车辆信息**残留没清**,审核时看到「无自带车却车辆信息齐全」的矛盾数据。紧急联系人同理。
- **修复后**:重提为「无自带车」/未传紧急联系人时,后端按全量提交语义**显式清空**这些字段。前端无需改。
## 2. 后端健壮性加固(接口无变化,前端无需关注)
3. **续签审核通过补搬新驾照照片**:司机续签上传了新驾照照片、审核通过后,新照片现在会按 driver_license 类目覆盖进司机附件表(修复前只更新有效期、照片仍是旧的)。编辑抽屉附件区会显示新驾照图。
4. **车牌并发唯一性加锁**:车辆新增/编辑补车牌维度分布式锁,堵并发插入重复车牌的窗口。
5. **附件保留项排序修正**:附件编辑时保留项的排序计算改用库内类目,消除极端情况下的排序错位。
6. **H5 提交端点补限流**submit/new、submit/renew 免登录写端点补 @RateLimiter 防刷。
## 验证
- fleet 269 单测全绿(新增 5 个覆盖过期驾照放行/拦截、续签换照覆盖等)。
- 合并部署测试服双实例8087/8187均 Started,车务读接口冒烟全 200 无回归。
> 注:审计另发现「保险接口降级返通用 500 而非 605601」一项——根因是 order-v3 当前因循环依赖启动失败(后端在修),保险接口暂时超时/500 属上游不可用,order-v3 恢复后即正常,非车务代码缺陷。