保险选择性投保+线下投保备注API
这个提交包含在:
父节点
73b26667c8
当前提交
8ab76d33f7
@ -0,0 +1,113 @@
|
|||||||
|
# 保险选择性投保 + 出行人线下投保备注
|
||||||
|
|
||||||
|
> 自动投保失败时(如婴儿不满1岁),支持选择部分出行人在线投保,并为不可投保的出行人添加线下投保备注。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 一、新增接口
|
||||||
|
|
||||||
|
### 1.1 选择部分出行人投保
|
||||||
|
|
||||||
|
```
|
||||||
|
POST /admin/insurance/order/{orderId}/selective-purchase
|
||||||
|
```
|
||||||
|
|
||||||
|
**请求体**:
|
||||||
|
| 字段 | 类型 | 必填 | 说明 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| schemeId | Long | 是 | 保险方案ID |
|
||||||
|
| travelerIds | Long[] | 是 | 要投保的出行人ID列表 |
|
||||||
|
|
||||||
|
**响应**:同 `AutoPurchaseResultVO`(success, purchasedCount, failedCount, failureReason)
|
||||||
|
|
||||||
|
**使用场景**:自动投保失败后,排除不满1岁的婴儿,只选能投保的出行人。
|
||||||
|
|
||||||
|
### 1.2 添加出行人保险备注
|
||||||
|
|
||||||
|
```
|
||||||
|
POST /admin/insurance/order/{orderId}/traveler-note
|
||||||
|
```
|
||||||
|
|
||||||
|
**请求体**:
|
||||||
|
| 字段 | 类型 | 必填 | 说明 |
|
||||||
|
|------|------|------|------|
|
||||||
|
| travelerId | Long | 是 | 出行人ID |
|
||||||
|
| travelerName | String | 否 | 出行人姓名 |
|
||||||
|
| noteType | String | 是 | OFFLINE=线下投保, SKIP=跳过, OTHER=其他 |
|
||||||
|
| remark | String | 否 | 备注说明,如"不满1岁,线下购买太平洋保险" |
|
||||||
|
|
||||||
|
**响应**:InsuranceTravelerNote 对象
|
||||||
|
|
||||||
|
**注意**:同一出行人重复调用会更新已有备注(upsert)。
|
||||||
|
|
||||||
|
### 1.3 删除出行人保险备注
|
||||||
|
|
||||||
|
```
|
||||||
|
DELETE /admin/insurance/order/{orderId}/traveler-note/{noteId}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 1.4 查询出行人保险覆盖状态
|
||||||
|
|
||||||
|
```
|
||||||
|
GET /admin/insurance/order/{orderId}/traveler-coverage
|
||||||
|
```
|
||||||
|
|
||||||
|
**响应**:
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
{
|
||||||
|
"travelerId": "123",
|
||||||
|
"name": "张三",
|
||||||
|
"birthday": "1990-01-01",
|
||||||
|
"age": 36,
|
||||||
|
"travelerType": "ADULT",
|
||||||
|
"coverageStatus": "ONLINE_INSURED",
|
||||||
|
"policies": [{ "policyNo": "xxx", "startDate": "2026-04-29", "endDate": "2026-05-04" }]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"travelerId": "456",
|
||||||
|
"name": "小宝宝",
|
||||||
|
"birthday": "2025-10-01",
|
||||||
|
"age": 0,
|
||||||
|
"travelerType": "CHILD",
|
||||||
|
"coverageStatus": "OFFLINE_NOTED",
|
||||||
|
"noteId": "789",
|
||||||
|
"noteType": "OFFLINE",
|
||||||
|
"noteRemark": "不满1岁,线下购买太平洋保险"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"travelerId": "789",
|
||||||
|
"name": "李四",
|
||||||
|
"coverageStatus": "NOT_COVERED"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
**coverageStatus 枚举**:
|
||||||
|
| 值 | 说明 |
|
||||||
|
|----|------|
|
||||||
|
| ONLINE_INSURED | 在线已投保(含保单详情) |
|
||||||
|
| OFFLINE_NOTED | 线下已备注(含备注内容) |
|
||||||
|
| NOT_COVERED | 未投保 |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 二、使用流程
|
||||||
|
|
||||||
|
```
|
||||||
|
1. 自动投保失败(如有不满1岁婴儿)
|
||||||
|
2. 调用 GET /traveler-coverage 查看每个出行人状态
|
||||||
|
3. 对能投保的出行人:POST /selective-purchase(传 travelerIds)
|
||||||
|
4. 对不能投保的出行人:POST /traveler-note(noteType=OFFLINE + remark)
|
||||||
|
5. 再次调用 /traveler-coverage 确认全部覆盖
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 三、涉及服务
|
||||||
|
|
||||||
|
需重启:**hl-insurance-service**
|
||||||
|
|
||||||
|
## 四、数据库变更
|
||||||
|
|
||||||
|
新增表 `insurance_traveler_note`(DDL: `sql/insurance_traveler_note.sql`),测试环境已执行。
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户