From 73b26667c8718abba079b32cd61eadb7b1a77260 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Wed, 25 Mar 2026 12:40:43 +0800 Subject: [PATCH] =?UTF-8?q?changelog:=206d105cb=20-=20feat:=20=E4=BF=9D?= =?UTF-8?q?=E9=99=A9=E9=80=89=E6=8B=A9=E6=80=A7=E6=8A=95=E4=BF=9D=20+=20?= =?UTF-8?q?=E5=87=BA=E8=A1=8C=E4=BA=BA=E7=BA=BF=E4=B8=8B=E6=8A=95=E4=BF=9D?= =?UTF-8?q?=E5=A4=87=E6=B3=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2026-03/2026-03-25_1240_6d105cb_feat.md | 131 ++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100644 changelogs/2026-03/2026-03-25_1240_6d105cb_feat.md diff --git a/changelogs/2026-03/2026-03-25_1240_6d105cb_feat.md b/changelogs/2026-03/2026-03-25_1240_6d105cb_feat.md new file mode 100644 index 0000000..7aafc7c --- /dev/null +++ b/changelogs/2026-03/2026-03-25_1240_6d105cb_feat.md @@ -0,0 +1,131 @@ +# 接口变更记录 — 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` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `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` + +### 🆕 `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` + +--- + +## 📦 其他数据对象变更 + +> 以下变更未直接关联到本次接口变更,但可能影响现有接口的请求/响应 + +### 保险服务 + +#### 🆕 SelectivePurchaseRequest + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `schemeId` | `Long` | 保险方案ID | +| `travelerIds` | `List` | 要投保的出行人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>` | 在线保单列表(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` | 备注说明 | + +
+📁 全部变更文件 (点击展开) + +``` +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 +``` +
\ No newline at end of file