hl-api-changelog/changelogs-v2/2026-06/13_3793_全年保险保单号改下拉关联保游网保单-行为变更-管理后台.md

2.3 KiB

【行为变更·管理后台】编辑司机·全年保险「保单号」从手填改为下拉关联该司机已出的保游网保单

服务:hl-fleet-service(8087/8187) | 分支:dev-v3 | PR:#3793 | 已部署测试服(下拉数据源端点 200 实测可达,完整投保流待前端联调)(2026-06-13) 背景:wx 反馈编辑司机弹窗「保险配置·全年保险」的保单号是手填输入框,应改为从该司机已出的保游网保单里下拉选择关联。wx 拍板:改下拉关联,保留手填兜底。

⚠️ 关键说明(前端动作)

  1. 编辑弹窗「保单号」输入框 → 下拉/搜索选择器:
    • 下拉数据源 = GET /admin/fleet/drivers/{driverId}/insurance/policies(司机「我的保单」,已有端点);仅 status=INSURED(已承保)/INSURING(在途出单中)可选
    • 选中某保单后,把该保单的 insuranceOrderId 放进保存入参 insurance.insuranceOrderId 提交。
    • 选中后保单号/年保费/保障起止改为只读回显(由后端按保单真值回填),前端不再手敲这四项。
  2. 保存入参 DriverInsuranceVO.insuranceOrderId 已放开(原「入参忽略」):
    • insurance.type=annual 且传 insuranceOrderId → 后端按司机维度反查该保单,回填保单号/保费/起止 + 落 annualSource=baoyou + 关联 insurance_order_id
    • 横向越权守卫:传入的保单不属于该司机 / 状态不可关联 → 返 600209「关联的保游网保单不存在、不属于该司机或状态不可关联」。前端正常从该司机下拉选不会触发。
  3. 手填路径保留兜底(二选一,insuranceOrderId 优先):不传 insuranceOrderId、仅手填 policyNo+保费+起止时,仍走原手填路径(annualSource=manual,行为零变化),用于线下买的、保游网没有的保单。

实测(测试服)

下拉数据源端点 /insurance/policies code=200 可达;反查回填 + 600209 越权路径由单测覆盖(DriverServiceTest+4 / DriverAnnualPolicyLookupImplTest 5,fleet 全套 714 绿);完整「选保单→回填→保存」端到端需前端接入后联调。

影响面

错误码新增 600209;零新增 Feign/DTO/order-v3 端点/Flyway/网关路由(复用现有按司机查保单 Feign);后端架构用 driver 子域端口 + insurance 子域实现解环。