8a2d83b3cd
司机 driving_vehicle 与车辆表 plate_no 之间没有外键,只有文本关联,且库中存在 间隔符/横线/大小写差异,一个字段还可能并列多辆车。认证提交的越权校验 (只能操作本人绑定车辆)依赖这套匹配:漏判会让司机改不了自己的车, 误判会让司机改到别人的车,故先把规则集中并锁住行为。 - 新增 VehiclePlateSupport:splitPlates / normalize / isBound; isBound 对空值一律判不绑定(不能因为双方都为空就放行,那等于越权)。 - DriverAppServiceImpl 原先自己实现了一份 splitPlates/normalizePlate, 改为委托同一个实现,避免两处口径分叉。 - 6 个用例覆盖分隔符变体、去重、规范化、脏数据与绑定判定。 可离线执行:mvn -o test -pl blade-service/blade-transport -am