hl-api-changelog/changelogs-v2/2026-08/06_5586_投保成功出单后司机档案保险状态自动同步为有保(INSURED回调兜底重绑)-修改接口-管理后台.md
API Changelog Bot b85c4bd5aa
所有检测均成功
changelog-filename-gate / validate (push) Successful in 2s
changelog(5586): 投保成功出单后司机档案保险状态自动同步为有保(INSURED回调兜底重绑)
2026-08-06 11:54:23 +08:00

71 行
4.4 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

---
schema: "hl-changelog/v2"
ticket: "5586"
title: "投保成功出单后司机档案保险状态自动同步为有保INSURED回调兜底重绑"
consumer: "admin"
change_type: "修改接口"
author: "wx(GIT)"
backend_status: "deployed"
gateway_status: "verified"
frontend_status: "not_required"
frontend_owner: ""
frontend_ref: ""
target_release: ""
verified_at: ""
status_note: "后端完成PR #5587 已合并 dev-v3 并部署 TEST;网关实测 bindAnnual=false 投保(档案 none→ INSURED 回调 → 档案自动兜底重绑 annual+保单号;退保→解绑→再投保闭环正常。纯后端数据同步修复,无前端契约变更。"
updated_at: "2026-08-06"
base: "dev-v3"
generated: "2026-08-06T11:58:00+08:00"
---
# 投保成功出单后司机档案保险状态自动同步为有保INSURED回调兜底重绑
> **服务**: hl-fleet-service
> **PR**: [#5587](https://git.1814.love:8443/wx/HL/pulls/5587)
> **Issue**: [#5586](https://git.1814.love:8443/wx/HL/issues/5586)
> **日期**: 2026-08-06
## 背景
协调台实测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 SUCCESS3168 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 一致。
- 历史数据批量同步 SOPinternal 端点幂等重放 INSURED 通知(档案 none 自动兜底重绑);本环境 Nacos 断连期间无法经网关直达 internal 端点403 属正常,Feign LB 直连),重放由 Nacos 可达环境执行。
## 关联/联系人
### 链接
- [后端工单 #5586](https://git.1814.love:8443/wx/HL/issues/5586)
- [后端 PR #5587](https://git.1814.love:8443/wx/HL/pulls/5587)
- Merge commit: [df0c5d2c7](https://git.1814.love:8443/wx/HL/commit/df0c5d2c7029f19eae85c39ad9c04223faeffc5e)
- 关联:[#5558 投保缺省绑定全年保险](https://git.1814.love:8443/wx/HL/issues/5558)、[#3760 保游年险绑定](https://git.1814.love:8443/wx/HL/issues/3760)
### 联系人
- **后端负责人**: @wx
- **前端消费**: 无需改动