4.4 KiB
4.4 KiB
schema, ticket, title, consumer, change_type, author, backend_status, gateway_status, frontend_status, frontend_owner, frontend_ref, target_release, verified_at, status_note, updated_at, base, generated
| schema | ticket | title | consumer | change_type | author | backend_status | gateway_status | frontend_status | frontend_owner | frontend_ref | target_release | verified_at | status_note | updated_at | base | generated |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| hl-changelog/v2 | 5586 | 投保成功出单后司机档案保险状态自动同步为有保(INSURED回调兜底重绑) | admin | 修改接口 | wx(GIT) | deployed | verified | not_required | 后端完成:PR #5587 已合并 dev-v3 并部署 TEST;网关实测 bindAnnual=false 投保(档案 none)→ INSURED 回调 → 档案自动兜底重绑 annual+保单号;退保→解绑→再投保闭环正常。纯后端数据同步修复,无前端契约变更。 | 2026-08-06 | dev-v3 | 2026-08-06T11:58:00+08:00 |
投保成功出单后司机档案保险状态自动同步为有保(INSURED回调兜底重绑)
背景
协调台实测(2026-08-06 11:14):司机"菜单师傅"(2073742230014644225)真实保游投保成功出单(insurance_order 2085202532040155138,INSURED,保单号 11209006600507258063,¥3),但 fleet_driver.insurance_type 仍 none、policy_no 空——投保成功→司机档案保险状态同步链路未闭合。#5558 已修"投保 bindAnnual 缺省绑定全年保险"(受理即绑),但档案无保(投保受理绑定缺失,或 FAILED/CANCELLED 通知先于 INSURED 乱序到达把绑定解掉后未重绑)时,INSURED 回调仍被"绑定一致性/来源守卫"提前跳过。
变更接口
| 方法 | 路径 | 来源 | 变更 |
|---|---|---|---|
POST |
/internal/fleet/drivers/insurance/annual-policy-status |
InternalDriverInsuranceController(fleet) |
语义变更:INSURED 通知在 CAS 补填未命中且档案无保(none/空)时兜底重绑年保(type=annual+保单号+保费+保障起止+insurance_order_id+source=baoyou) |
字段结构不变,仅通知处理语义调整。行为矩阵:
| 档案状态 | INSURED 通知 | FAILED/CANCELLED 通知 |
|---|---|---|
| 绑该单(annual+baoyou+orderId 匹配) | CAS 补填保单号(原行为) | CAS 解绑回 none(原行为) |
| 档案无保(none/空,orderId=null) | 兜底重绑年保(#5586 新增) | 解绑 CAS 短路(affectedRows=0,静默) |
| 绑别的单 / perTrip / manual 台账年保 | 跳过(不覆盖换绑与手动语义) | 跳过 |
前端/调用方动作
- 无需前端改动(纯后端数据同步修复,接口字段不变)。
- 司机详情"投保"后刷新即可看到档案有保(保险 Tab 展示源=档案 insurance 字段 + 保单列表)。
验证证据
- 定向测试:DriverServiceTest 147/147(+3:档案 none+INSURED→兜底重绑 / perTrip 档案→不动 / 缺保障起止→跳过);既有守卫测试(绑定不一致/source 非 baoyou/FAILED 解绑/INSURED 补填)保持通过;DriverInsuranceServiceTest 25/25、DriverPolicyStatusOutboxEffectServiceTest 2/2。
- fleet 全量
mvn -pl hl-fleet-service -am verify:BUILD SUCCESS(3168 tests,0 failures,0 errors,4 skipped,含 spotless)。 - 网关验证(TEST,司机=菜单师傅):① bindAnnual=true 投保→受理即绑 annual→INSURED 回调补填保单号;② 退保→保单 CANCELLED→档案解绑回 none;③ bindAnnual=false 投保(档案保持 none)→ INSURED 回调→档案自动兜底重绑(type=annual、policyNo=11209006600507256613、orderId=2085211341932400641、source=baoyou);④ 司机详情"有保"显示与 insurance_order 一致。
- 历史数据批量同步 SOP:internal 端点幂等重放 INSURED 通知(档案 none 自动兜底重绑);本环境 Nacos 断连期间无法经网关直达 internal 端点(403 属正常,Feign LB 直连),重放由 Nacos 可达环境执行。
关联/联系人
链接
- 后端工单 #5586
- 后端 PR #5587
- Merge commit: df0c5d2c7
- 关联:#5558 投保缺省绑定全年保险、#3760 保游年险绑定
联系人
- 后端负责人: @wx
- 前端消费: 无需改动