From 8c0c99ecbff67f7fddba418db446b802a0882f76 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Wed, 18 Mar 2026 18:06:03 +0800 Subject: [PATCH] =?UTF-8?q?changelog:=20f4ff123=20-=20feat:=20=E9=A2=84?= =?UTF-8?q?=E8=AE=A2=E9=A1=BB=E7=9F=A5=E6=A8=A1=E5=9D=97=E9=87=8D=E6=9E=84?= =?UTF-8?q?=20=E2=80=94=20=E9=80=80=E6=AC=BE=E6=94=BF=E7=AD=96=E6=94=B9?= =?UTF-8?q?=E4=BA=A7=E5=93=81=E7=BB=91=E5=AE=9A=20+=20=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E9=A2=84=E8=AE=A2=E6=9D=A1=E6=AC=BE/=E6=B8=A9=E9=A6=A8?= =?UTF-8?q?=E6=8F=90=E7=A4=BA=E6=A8=A1=E6=9D=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../2026-03/2026-03-18_1806_f4ff123_feat.md | 403 ++++++++++++++++++ 1 file changed, 403 insertions(+) create mode 100644 changelogs/2026-03/2026-03-18_1806_f4ff123_feat.md diff --git a/changelogs/2026-03/2026-03-18_1806_f4ff123_feat.md b/changelogs/2026-03/2026-03-18_1806_f4ff123_feat.md new file mode 100644 index 0000000..7edb283 --- /dev/null +++ b/changelogs/2026-03/2026-03-18_1806_f4ff123_feat.md @@ -0,0 +1,403 @@ +# 接口变更记录 — 2026-03-18 18:06 + +> **提交** `f4ff123` · **作者** wx · **时间** 2026-03-18 18:06:03 +0800 +> +> feat: 预订须知模块重构 — 退款政策改产品绑定 + 新增预订条款/温馨提示模板 + +## 变更总览 + +- **产品服务** + - 🆕 AdminBookingTerms (+7 接口) + - 🆕 AdminWarmTips (+7 接口) +- **订单服务** + - AdminRefundPolicy (+1) + +--- + +## 产品服务 + +### 🆕 新增: AdminBookingTerms + +> 📖 **接口文档**: [http://192.168.100.236:8085/doc.html](http://192.168.100.236:8085/doc.html) → 标签 **「预订条款管理」** + +### 📌 `GET` /admin/product/booking-terms/list — 预订条款列表 + +> 返回所有预订条款(含禁用),按创建时间倒序 + +**响应** `Result>` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `termsId` | `Long` | 预订条款ID | +| `termsName` | `String` | 条款名称 | +| `content` | `String` | 条款内容(富文本) | +| `enabled` | `Boolean` | 是否启用 | +| `remark` | `String` | 备注 | +| `createdBy` | `Long` | 创建人ID | +| `createTime` | `LocalDateTime` | 创建时间 | +| `updateTime` | `LocalDateTime` | 更新时间 | + +### 📌 `GET` /admin/product/booking-terms/enabled — 启用的预订条款列表 + +> 仅返回启用状态的条款,供产品设计时选择 + +**响应** `Result>` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `termsId` | `Long` | 预订条款ID | +| `termsName` | `String` | 条款名称 | +| `content` | `String` | 条款内容(富文本) | +| `enabled` | `Boolean` | 是否启用 | +| `remark` | `String` | 备注 | +| `createdBy` | `Long` | 创建人ID | +| `createTime` | `LocalDateTime` | 创建时间 | +| `updateTime` | `LocalDateTime` | 更新时间 | + +### 📌 `GET` /admin/product/booking-terms/{termsId} — 预订条款详情 + +**参数** + + - `{termsId}` (`Long`) — 路径参数:预订条款ID + +**响应** `Result` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `termsId` | `Long` | 预订条款ID | +| `termsName` | `String` | 条款名称 | +| `content` | `String` | 条款内容(富文本) | +| `enabled` | `Boolean` | 是否启用 | +| `remark` | `String` | 备注 | +| `createdBy` | `Long` | 创建人ID | +| `createTime` | `LocalDateTime` | 创建时间 | +| `updateTime` | `LocalDateTime` | 更新时间 | + +### 📌 `POST` /admin/product/booking-terms — 创建预订条款 + +> 创建后默认启用 + +**请求体** `BookingTermsRequest` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `termsName` | `String` | 条款名称 | +| `content` | `String` | 条款内容(富文本) | +| `remark` | `String` | 备注 | + +**响应** `Result` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `termsId` | `Long` | 预订条款ID | +| `termsName` | `String` | 条款名称 | +| `content` | `String` | 条款内容(富文本) | +| `enabled` | `Boolean` | 是否启用 | +| `remark` | `String` | 备注 | +| `createdBy` | `Long` | 创建人ID | +| `createTime` | `LocalDateTime` | 创建时间 | +| `updateTime` | `LocalDateTime` | 更新时间 | + +### 📌 `PUT` /admin/product/booking-terms/{termsId} — 修改预订条款 + +**参数** + + - `{termsId}` (`Long`) — 路径参数:预订条款ID + +**请求体** `BookingTermsRequest` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `termsName` | `String` | 条款名称 | +| `content` | `String` | 条款内容(富文本) | +| `remark` | `String` | 备注 | + +**响应** `Result` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `termsId` | `Long` | 预订条款ID | +| `termsName` | `String` | 条款名称 | +| `content` | `String` | 条款内容(富文本) | +| `enabled` | `Boolean` | 是否启用 | +| `remark` | `String` | 备注 | +| `createdBy` | `Long` | 创建人ID | +| `createTime` | `LocalDateTime` | 创建时间 | +| `updateTime` | `LocalDateTime` | 更新时间 | + +### 📌 `DELETE` /admin/product/booking-terms/{termsId} — 删除预订条款 + +> 软删除,已绑定的产品不受影响(产品详情会显示为空) + +**参数** + + - `{termsId}` (`Long`) — 路径参数:预订条款ID + +**响应** `Result` + +### 📌 `PUT` /admin/product/booking-terms/{termsId}/toggle — 启用/禁用预订条款 + +> 禁用后不再出现在产品设计的可选列表中,已绑定的产品不受影响 + +**参数** + + - `{termsId}` (`Long`) — 路径参数:预订条款ID + - `enabled` (`boolean`) — 查询参数:是否启用 + +**响应** `Result` + +### 🆕 新增: AdminWarmTips + +> 📖 **接口文档**: [http://192.168.100.236:8085/doc.html](http://192.168.100.236:8085/doc.html) → 标签 **「温馨提示管理」** + +### 📌 `GET` /admin/product/warm-tips/list — 温馨提示列表 + +> 返回所有温馨提示(含禁用),按创建时间倒序 + +**响应** `Result>` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `tipsId` | `Long` | 温馨提示ID | +| `tipsName` | `String` | 提示名称 | +| `content` | `String` | 提示内容(富文本) | +| `enabled` | `Boolean` | 是否启用 | +| `remark` | `String` | 备注 | +| `createdBy` | `Long` | 创建人ID | +| `createTime` | `LocalDateTime` | 创建时间 | +| `updateTime` | `LocalDateTime` | 更新时间 | + +### 📌 `GET` /admin/product/warm-tips/enabled — 启用的温馨提示列表 + +> 仅返回启用状态的提示,供产品设计时选择 + +**响应** `Result>` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `tipsId` | `Long` | 温馨提示ID | +| `tipsName` | `String` | 提示名称 | +| `content` | `String` | 提示内容(富文本) | +| `enabled` | `Boolean` | 是否启用 | +| `remark` | `String` | 备注 | +| `createdBy` | `Long` | 创建人ID | +| `createTime` | `LocalDateTime` | 创建时间 | +| `updateTime` | `LocalDateTime` | 更新时间 | + +### 📌 `GET` /admin/product/warm-tips/{tipsId} — 温馨提示详情 + +**参数** + + - `{tipsId}` (`Long`) — 路径参数:温馨提示ID + +**响应** `Result` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `tipsId` | `Long` | 温馨提示ID | +| `tipsName` | `String` | 提示名称 | +| `content` | `String` | 提示内容(富文本) | +| `enabled` | `Boolean` | 是否启用 | +| `remark` | `String` | 备注 | +| `createdBy` | `Long` | 创建人ID | +| `createTime` | `LocalDateTime` | 创建时间 | +| `updateTime` | `LocalDateTime` | 更新时间 | + +### 📌 `POST` /admin/product/warm-tips — 创建温馨提示 + +> 创建后默认启用 + +**请求体** `WarmTipsRequest` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `tipsName` | `String` | 提示名称 | +| `content` | `String` | 提示内容(富文本) | +| `remark` | `String` | 备注 | + +**响应** `Result` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `tipsId` | `Long` | 温馨提示ID | +| `tipsName` | `String` | 提示名称 | +| `content` | `String` | 提示内容(富文本) | +| `enabled` | `Boolean` | 是否启用 | +| `remark` | `String` | 备注 | +| `createdBy` | `Long` | 创建人ID | +| `createTime` | `LocalDateTime` | 创建时间 | +| `updateTime` | `LocalDateTime` | 更新时间 | + +### 📌 `PUT` /admin/product/warm-tips/{tipsId} — 修改温馨提示 + +**参数** + + - `{tipsId}` (`Long`) — 路径参数:温馨提示ID + +**请求体** `WarmTipsRequest` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `tipsName` | `String` | 提示名称 | +| `content` | `String` | 提示内容(富文本) | +| `remark` | `String` | 备注 | + +**响应** `Result` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `tipsId` | `Long` | 温馨提示ID | +| `tipsName` | `String` | 提示名称 | +| `content` | `String` | 提示内容(富文本) | +| `enabled` | `Boolean` | 是否启用 | +| `remark` | `String` | 备注 | +| `createdBy` | `Long` | 创建人ID | +| `createTime` | `LocalDateTime` | 创建时间 | +| `updateTime` | `LocalDateTime` | 更新时间 | + +### 📌 `DELETE` /admin/product/warm-tips/{tipsId} — 删除温馨提示 + +> 软删除,已绑定的产品不受影响(产品详情会显示为空) + +**参数** + + - `{tipsId}` (`Long`) — 路径参数:温馨提示ID + +**响应** `Result` + +### 📌 `PUT` /admin/product/warm-tips/{tipsId}/toggle — 启用/禁用温馨提示 + +> 禁用后不再出现在产品设计的可选列表中,已绑定的产品不受影响 + +**参数** + + - `{tipsId}` (`Long`) — 路径参数:温馨提示ID + - `enabled` (`boolean`) — 查询参数:是否启用 + +**响应** `Result` + +--- + +## 订单服务 + +### AdminRefundPolicy + +> 📖 **接口文档**: [http://192.168.100.236:8084/doc.html](http://192.168.100.236:8084/doc.html) → 分组 **「3.1 订单管理」** → 标签 **「退款政策管理」** + +### 🆕 `GET` /admin/order/refund-policy/enabled — 启用的退款政策列表 + +> 仅返回启用状态的政策,供产品设计时选择绑定 + +**响应** `Result>` + +| 字段 | 类型 | 说明 | +| --- | --- | --- | +| `policyId` | `Long` | 政策ID | +| `policyName` | `String` | 政策名称 | +| `isDefault` | `Boolean` | 是否为默认政策 | +| `enabled` | `Boolean` | 是否启用 | +| `remark` | `String` | 备注 | +| `createdBy` | `Long` | 创建人ID | +| `createTime` | `LocalDateTime` | 创建时间 | +| `updateTime` | `LocalDateTime` | 更新时间 | +| `rules` | `List` | 退款规则列表 | +| `ruleId` | `Long` | 规则ID | +| `minDays` | `Integer` | 距出发最少天数 | +| `refundRatio` | `Integer` | 退款比例(百分比) | + +--- + +## 📦 其他数据对象变更 + +> 以下变更未直接关联到本次接口变更,但可能影响现有接口的请求/响应 + +### 产品服务 + +#### ✏️ ProductCreateRequest + + - 🆕 `bookingTermsId` (`String`) — 预订条款ID(关联预订条款模板) + - 🆕 `refundPolicyId` (`String`) — 退款政策ID(关联退款政策模板) + - 🆕 `warmTipsId` (`String`) — 温馨提示ID(关联温馨提示模板) + - ❌ ~~`bookingNotice`~~ (`String`) — 预定须知 + - ❌ ~~`cancelPolicy`~~ (`String`) — 退改政策 + - ❌ ~~`warmTips`~~ (`String`) — 温馨提示 + +#### ✏️ ProductSaveRequest + + - 🆕 `bookingTermsId` (`String`) — 预订条款ID(关联预订条款模板) + - 🆕 `refundPolicyId` (`String`) — 退款政策ID(关联退款政策模板) + - 🆕 `warmTipsId` (`String`) — 温馨提示ID(关联温馨提示模板) + - ❌ ~~`bookingNotice`~~ (`String`) — 预定须知 + - ❌ ~~`cancelPolicy`~~ (`String`) — 退改政策 + - ❌ ~~`warmTips`~~ (`String`) — 温馨提示 + +#### ✏️ ProductUpdateRequest + + - 🆕 `bookingTermsId` (`String`) — 预订条款ID(关联预订条款模板) + - 🆕 `refundPolicyId` (`String`) — 退款政策ID(关联退款政策模板) + - 🆕 `warmTipsId` (`String`) — 温馨提示ID(关联温馨提示模板) + - ❌ ~~`bookingNotice`~~ (`String`) — 预定须知 + - ❌ ~~`cancelPolicy`~~ (`String`) — 退改政策 + - ❌ ~~`warmTips`~~ (`String`) — 温馨提示 + +#### ✏️ ProductVO + + - 🆕 `bookingTermsId` (`String`) — 预订条款ID + - 🆕 `bookingTermsName` (`String`) — 预订条款名称 + - 🆕 `bookingTermsContent` (`String`) — 预订条款内容 + - 🆕 `refundPolicyId` (`String`) — 退款政策ID + - 🆕 `refundPolicyName` (`String`) — 退款政策名称 + - 🆕 `warmTipsId` (`String`) — 温馨提示ID + - 🆕 `warmTipsName` (`String`) — 温馨提示名称 + - 🆕 `warmTipsContent` (`String`) — 温馨提示内容 + - ❌ ~~`bookingNotice`~~ (`String`) — 预定须知 + - ❌ ~~`cancelPolicy`~~ (`String`) — 退改政策 + - ❌ ~~`warmTips`~~ (`String`) — 温馨提示 + +### 订单服务 + +#### ✏️ RefundPolicyRequest + + - ❌ ~~`refundType`~~ (`String`) — 退款类型 + - ❌ ~~`startDate`~~ (`LocalDate`) — 生效开始日期 + - ❌ ~~`endDate`~~ (`LocalDate`) — 生效结束日期 + - ✏️ `isDefault`: 说明 "是否为默认政策" → "是否为默认政策(产品未绑定退款政策时使用默认政策)" + +
+📁 全部变更文件 (点击展开) + +``` +M hl-order-service/src/main/java/com/hulalv/order/controller/AdminRefundPolicyController.java +M hl-order-service/src/main/java/com/hulalv/order/dto/RefundPolicyRequest.java +M hl-order-service/src/main/java/com/hulalv/order/entity/OrderInfo.java +M hl-order-service/src/main/java/com/hulalv/order/entity/RefundPolicy.java +M hl-order-service/src/main/java/com/hulalv/order/service/OrderService.java +M hl-order-service/src/main/java/com/hulalv/order/service/RefundApplicationService.java +M hl-order-service/src/main/java/com/hulalv/order/service/RefundPolicyService.java +M hl-order-service/src/main/java/com/hulalv/order/service/TripService.java +M hl-order-service/src/main/java/com/hulalv/order/vo/RefundPolicyVO.java +M hl-order-service/src/test/java/com/hulalv/order/service/RefundApplicationServiceTest.java +M hl-order-service/src/test/java/com/hulalv/order/service/RefundPolicyServiceTest.java +A hl-product-service/src/main/java/com/hulalv/product/controller/AdminBookingTermsController.java +A hl-product-service/src/main/java/com/hulalv/product/controller/AdminWarmTipsController.java +A hl-product-service/src/main/java/com/hulalv/product/dto/BookingTermsRequest.java +M hl-product-service/src/main/java/com/hulalv/product/dto/ProductCreateRequest.java +M hl-product-service/src/main/java/com/hulalv/product/dto/ProductSaveRequest.java +M hl-product-service/src/main/java/com/hulalv/product/dto/ProductUpdateRequest.java +A hl-product-service/src/main/java/com/hulalv/product/dto/WarmTipsRequest.java +A hl-product-service/src/main/java/com/hulalv/product/entity/BookingTerms.java +M hl-product-service/src/main/java/com/hulalv/product/entity/Product.java +A hl-product-service/src/main/java/com/hulalv/product/entity/WarmTips.java +A hl-product-service/src/main/java/com/hulalv/product/mapper/BookingTermsMapper.java +A hl-product-service/src/main/java/com/hulalv/product/mapper/WarmTipsMapper.java +A hl-product-service/src/main/java/com/hulalv/product/service/BookingTermsService.java +M hl-product-service/src/main/java/com/hulalv/product/service/ProductService.java +A hl-product-service/src/main/java/com/hulalv/product/service/WarmTipsService.java +A hl-product-service/src/main/java/com/hulalv/product/vo/BookingTermsVO.java +M hl-product-service/src/main/java/com/hulalv/product/vo/ProductVO.java +A hl-product-service/src/main/java/com/hulalv/product/vo/WarmTipsVO.java +M hl-product-service/src/test/java/com/hulalv/product/service/MpProductServiceTest.java +M hl-product-service/src/test/java/com/hulalv/product/service/ProductServiceTest.java +A sql/booking_notice_refactor.sql +``` +
\ No newline at end of file