docs(changelog): 司机投保下拉空-后端端点全已存在(fleet 4端点+order打标),A方案运营标注,缺前端接线+打标UI [前端通知]

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
这个提交包含在:
API Changelog Bot 2026-06-15 09:22:54 +08:00
父节点 09cfc2f644
当前提交 ac303c9d49

查看文件

@ -0,0 +1,43 @@
# 【前端接线 + 缺打标UI·管理后台】司机投保「保险计划」下拉空——后端端点全已存在,缺①计划没打「司机可用」标②前端没接对端点③缺打标入口UI
> 服务hl-fleet-serviceDriverInsuranceController,§13.7+ hl-order-service-v3计划打标| 无 PR端点全已存在,后端零改动| 测试服实测2026-06-15
> 背景wx 在「保险管理→保险订单→投保下单→人员类型=司机」选了司机后,「保险计划」下拉「无数据」,且找不到哪里能给计划设「司机可用」。wx 拍板:保险订单页 + 司机档案页**两个入口都要能给司机投保**。
## ⚠️ 关键判定不是后端缺接口,是①没数据②前端没接对③缺一个打标UI
司机投保的 admin 端点**早已全部存在**fleet DriverInsuranceController,base `/admin/fleet/drivers`)。**保险订单页和司机档案页用同一套 fleet 端点即可**(端点注释里已写明「保险订单页人员类型=司机路径传 bindAnnual=true」
| 用途 | 现成端点(直接接,无需后端补)| 关键参数 |
|---|---|---|
| **司机可选计划下拉** | `GET /admin/fleet/drivers/insurance/plan-options` | 无参;只返 usageCategory=DRIVER/BOTH 的计划;返回 planId/planName/productName |
| **司机险投保** | `POST /admin/fleet/drivers/{driverId}/insurance/purchase` | bodyplanId(必填,下拉取)/coverageStartDate/coverageEndDate(必填)/remark(可选)/**bindAnnual**(保险订单页传 true=出单后自动绑为司机全年保险;档案页缺省 false)。**被保人后端按司机档案自动组装,前端不传** |
| 司机保单列表 | `GET /admin/fleet/drivers/{driverId}/insurance/policies` | 按司机列全部保单 |
| 司机险退保 | `POST /admin/fleet/drivers/{driverId}/insurance/policies/{insuranceOrderId}/cancel` | 仅人工误投手动退 |
## 为什么下拉空:一个计划都没被标「司机可用」
- 保险计划默认 `usageCategory=CUSTOMER`(客人用),司机下拉**只列 DRIVER/BOTH** 的(安全侧,防误投客人计划)。
- 实测:测试库 17 个计划**全是 CUSTOMER**,0 个司机可用 → 下拉必然空。
- 本次已**临时标 2 个意外险计划为 DRIVER 作可测样本**(「平安…专属意外险·计划一」+「山河令·10万计划」,现 `plan-options` 实测返 2 条。**正式哪些计划算司机可用应由运营自己定/标**(不是这 2 个写死)。
## 前端要做 3 件事
1. **保险订单页「人员类型=司机」**:「保险计划」下拉改调 `GET /admin/fleet/drivers/insurance/plan-options`(不要调 order 的 `/v3/admin/insurance/...`,那边没有司机专用下拉);「确认投保」改调 `POST /admin/fleet/drivers/{driverId}/insurance/purchase` 并传 `bindAnnual=true`;被保人列表那块**不用填**(后端按司机档案自动组装)。
2. **司机档案页投保**:同样调上面两个端点,`bindAnnual` 缺省 false行为不变
3. 🆕 **加「设为司机可用」打标入口**(这是当前唯一缺的 UI在「保险管理→保险产品/计划」页,每个计划加一个「使用分类」开关/下拉(客人 CUSTOMER / 司机 DRIVER / 通用 BOTH,调现成端点
- `PUT /v3/admin/insurance/plans/{planId}/usage-category`,body `{"usageCategory":"DRIVER"}`(白名单 CUSTOMER/DRIVER/BOTH,非法返 540223
- 计划当前分类在产品详情 `GET /v3/admin/insurance/products/all``plans[].usageCategory` 里可读,用于回显。
- 标好后司机下拉就有数据,运营无需找后端。
## 实测(测试服网关 9443
```
PUT /v3/admin/insurance/plans/2054773833342451714/usage-category {"usageCategory":"DRIVER"} → 200 成功
GET /admin/fleet/drivers/insurance/plan-options → code=200, 2 条
[{planId:2054773828716134401, planName:"计划一", productName:"平安…专属意外险(海拉尔)", usageCategory:"DRIVER"},
{planId:2054773833342451714, planName:"10万计划", productName:"山河令(太保山东新)", usageCategory:"DRIVER"}]
```
## 结论
后端**零改动**:司机投保 4 端点 + 计划打标端点全已存在并实测可用。缺口是**前端接线(下拉/投保改调 fleet 端点)+ 新增一个计划打标 UI**。投保正向流程会真扣保游账户余额,联调请只打到防御层(如未标计划计划 540031、重叠保障期 540032,勿真出单。