131 行
4.6 KiB
Markdown
131 行
4.6 KiB
Markdown
# 接口变更记录 — 2026-03-25 12:40
|
||
|
||
> **提交** `6d105cb` · **作者** wx · **时间** 2026-03-25 12:40:43 +0800
|
||
>
|
||
> feat: 保险选择性投保 + 出行人线下投保备注
|
||
|
||
## 变更总览
|
||
|
||
- **保险服务**
|
||
- AdminInsurance (+4)
|
||
- InternalInsurance (+1)
|
||
|
||
---
|
||
|
||
## 保险服务
|
||
|
||
### AdminInsurance
|
||
|
||
> 📖 **接口文档**: [http://192.168.100.236:8098/doc.html](http://192.168.100.236:8098/doc.html) → 标签 **「保险管理」**
|
||
|
||
### 🆕 `POST` /admin/insurance/order/{orderId}/selective-purchase — 选择部分出行人投保
|
||
|
||
> 自动投保失败后,管理员可选择部分出行人手动在线投保(如排除不满1岁婴儿)。
|
||
|
||
**参数**
|
||
|
||
- `{orderId}` (`Long`) — 路径参数:旅行订单ID
|
||
|
||
**响应** `Result<AutoPurchaseResultVO>`
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
| --- | --- | --- |
|
||
| `success` | `boolean` | 是否全部成功 |
|
||
| `purchasedCount` | `int` | 成功投保段数 |
|
||
| `failedCount` | `int` | 失败段数 |
|
||
| `failureReason` | `String` | 失败原因(部分失败或全部失败时返回第一个错误) |
|
||
|
||
### 🆕 `POST` /admin/insurance/order/{orderId}/traveler-note — 添加出行人保险备注
|
||
|
||
> 为不能在线投保的出行人添加备注(如不满1岁婴儿标记为线下投保)。
|
||
|
||
**参数**
|
||
|
||
- `{orderId}` (`Long`) — 路径参数:旅行订单ID
|
||
|
||
### 🆕 `DELETE` /admin/insurance/order/{orderId}/traveler-note/{noteId} — 删除出行人保险备注
|
||
|
||
**参数**
|
||
|
||
- `{orderId}` (`Long`) — 路径参数:旅行订单ID
|
||
- `{noteId}` (`Long`) — 路径参数:备注ID
|
||
|
||
**响应** `Result<Void>`
|
||
|
||
### 🆕 `GET` /admin/insurance/order/{orderId}/traveler-coverage — 查询出行人保险覆盖状态
|
||
|
||
> 返回订单每个出行人的保险状态:
|
||
|
||
**参数**
|
||
|
||
- `{orderId}` (`Long`) — 路径参数:旅行订单ID
|
||
|
||
### InternalInsurance
|
||
|
||
> 📖 **接口文档**: [http://192.168.100.236:8098/doc.html](http://192.168.100.236:8098/doc.html) → 标签 **「【内部接口】保险(Feign调用)」**
|
||
|
||
### 🆕 `GET` /internal/insurance/fully-covered/{orderId} — 检查保险是否全覆盖-含线下备注(内部调用)
|
||
|
||
> 考虑在线保单+线下投保备注,判断是否所有出行人都有保险覆盖
|
||
|
||
**参数**
|
||
|
||
- `{orderId}` (`Long`) — 路径参数:旅行订单ID
|
||
- `travelerCount` (`int`) — 查询参数:出行人数
|
||
|
||
**响应** `Result<Boolean>`
|
||
|
||
---
|
||
|
||
## 📦 其他数据对象变更
|
||
|
||
> 以下变更未直接关联到本次接口变更,但可能影响现有接口的请求/响应
|
||
|
||
### 保险服务
|
||
|
||
#### 🆕 SelectivePurchaseRequest
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
| --- | --- | --- |
|
||
| `schemeId` | `Long` | 保险方案ID |
|
||
| `travelerIds` | `List<Long>` | 要投保的出行人ID列表 |
|
||
|
||
#### 🆕 TravelerCoverageVO
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
| --- | --- | --- |
|
||
| `travelerId` | `String` | 出行人ID |
|
||
| `name` | `String` | 姓名 |
|
||
| `birthday` | `LocalDate` | 出生日期 |
|
||
| `age` | `Integer` | 年龄 |
|
||
| `travelerType` | `String` | 出行人类型:ADULT/CHILD |
|
||
| `coverageStatus` | `String` | 保险覆盖状态:ONLINE_INSURED=在线已投保, OFFLINE_NOTED=线下已备注, NOT_COVERED=未投保 |
|
||
| `policies` | `List<Map<String, Object>>` | 在线保单列表(coverageStatus=ONLINE_INSURED时有值) |
|
||
| `noteId` | `String` | 线下备注ID(coverageStatus=OFFLINE_NOTED时有值) |
|
||
| `noteType` | `String` | 线下备注类型 |
|
||
| `noteRemark` | `String` | 线下备注说明(coverageStatus=OFFLINE_NOTED时有值) |
|
||
|
||
#### 🆕 TravelerNoteRequest
|
||
|
||
| 字段 | 类型 | 说明 |
|
||
| --- | --- | --- |
|
||
| `travelerId` | `Long` | 出行人ID |
|
||
| `travelerName` | `String` | 出行人姓名 |
|
||
| `noteType` | `String` | 备注类型:OFFLINE=线下投保, SKIP=跳过, OTHER=其他 |
|
||
| `remark` | `String` | 备注说明 |
|
||
|
||
<details>
|
||
<summary>📁 全部变更文件 (点击展开)</summary>
|
||
|
||
```
|
||
M hl-insurance-service/src/main/java/com/hulalv/insurance/controller/AdminInsuranceController.java
|
||
M hl-insurance-service/src/main/java/com/hulalv/insurance/controller/InternalInsuranceController.java
|
||
A hl-insurance-service/src/main/java/com/hulalv/insurance/dto/SelectivePurchaseRequest.java
|
||
A hl-insurance-service/src/main/java/com/hulalv/insurance/dto/TravelerNoteRequest.java
|
||
A hl-insurance-service/src/main/java/com/hulalv/insurance/entity/InsuranceTravelerNote.java
|
||
A hl-insurance-service/src/main/java/com/hulalv/insurance/mapper/InsuranceTravelerNoteMapper.java
|
||
M hl-insurance-service/src/main/java/com/hulalv/insurance/service/InsuranceOrderService.java
|
||
A hl-insurance-service/src/main/java/com/hulalv/insurance/vo/TravelerCoverageVO.java
|
||
A sql/insurance_traveler_note.sql
|
||
```
|
||
</details> |