changelog: 06a925b - feat: 小程序产品详情返回退款政策完整内容(含退款规则)
这个提交包含在:
父节点
82c8b6b405
当前提交
bd05d67780
@ -0,0 +1,192 @@
|
||||
# 接口变更记录 — 2026-03-19 15:46
|
||||
|
||||
> **提交** `06a925b` · **作者** wx · **时间** 2026-03-19 15:46:08 +0800
|
||||
>
|
||||
> feat: 小程序产品详情返回退款政策完整内容(含退款规则)
|
||||
|
||||
## 变更总览
|
||||
|
||||
- **订单服务**
|
||||
- InternalRefund (+1)
|
||||
|
||||
---
|
||||
|
||||
## 订单服务
|
||||
|
||||
### InternalRefund
|
||||
|
||||
> 📖 **接口文档**: [http://192.168.100.236:8084/doc.html](http://192.168.100.236:8084/doc.html) → 标签 **「【内部接口】退款(Feign调用)」**
|
||||
|
||||
### 🆕 `GET` /internal/order/refund-policy/batch — 批量获取退款政策详情
|
||||
|
||||
> 根据政策ID列表批量获取退款政策详情(含退款规则)。
|
||||
|
||||
**响应** `Result<List<RefundPolicyVO>>`
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `policyId` | `Long` | 政策ID |
|
||||
| `policyName` | `String` | 政策名称 |
|
||||
| `refundType` | `String` | 退款类型(字典:refund_type)DEPOSIT(定金)/BALANCE(尾款)/FULL(全款) |
|
||||
| `isDefault` | `Boolean` | 是否为默认政策 |
|
||||
| `enabled` | `Boolean` | 是否启用 |
|
||||
| `remark` | `String` | 备注 |
|
||||
| `createdBy` | `Long` | 创建人ID |
|
||||
| `createTime` | `LocalDateTime` | 创建时间 |
|
||||
| `updateTime` | `LocalDateTime` | 更新时间 |
|
||||
| `rules` | `List<RuleVO>` | 退款规则列表 |
|
||||
| `ruleId` | `Long` | 规则ID |
|
||||
| `minDays` | `Integer` | 距出发最少天数 |
|
||||
| `refundRatio` | `Integer` | 退款比例(百分比) |
|
||||
|
||||
**关联字典**
|
||||
|
||||
- `refund_type`(退款类型):FULL=全款, DEPOSIT=定金, BALANCE=尾款
|
||||
|
||||
---
|
||||
|
||||
## 📦 其他数据对象变更
|
||||
|
||||
> 以下变更未直接关联到本次接口变更,但可能影响现有接口的请求/响应
|
||||
|
||||
### 小程序聚合服务
|
||||
|
||||
#### ✏️ MpCustomProductDetailVO
|
||||
|
||||
- 🆕 `productNo` (`String`) — 产品编号
|
||||
- 🆕 `seasons` (`List<String>`) — 适用季节列表(编码)
|
||||
- 🆕 `seasonLabels` (`List<String>`) — 适用季节列表(中文)
|
||||
- 🆕 `isBooking` (`Boolean`) — 是否预约产品
|
||||
- 🆕 `minAdultPerOrder` (`Integer`) — 每单最少成人数(null=默认1)
|
||||
- 🆕 `maxAdultPerOrder` (`Integer`) — 每单最大成人数(null=不限)
|
||||
- 🆕 `maxChildPerOrder` (`Integer`) — 每单最大儿童数(null=不限)
|
||||
- 🆕 `carouselVideoUrl` (`String`) — 轮播视频URL
|
||||
- 🆕 `folderId` (`String`) — 所属文件夹ID
|
||||
- 🆕 `lineId` (`String`) — 产品线ID
|
||||
- 🆕 `lineName` (`String`) — 产品线名称
|
||||
- 🆕 `groupChatQrUrl` (`String`) — 群聊二维码URL
|
||||
- 🆕 `chatMessages` (`List<ChatMessageItem>`) — 群聊消息列表
|
||||
- 🆕 `showReview` (`Boolean`) — 是否显示评价
|
||||
- 🆕 `showChatGroup` (`Boolean`) — 是否显示群聊入口
|
||||
- 🆕 `showTripTime` (`Boolean`) — 是否显示行程时间
|
||||
- 🆕 `showTripDistance` (`Boolean`) — 是否显示行程距离
|
||||
- 🆕 `bookingTermsId` (`String`) — 预订条款ID
|
||||
- 🆕 `bookingTermsName` (`String`) — 预订条款名称
|
||||
- 🆕 `bookingTermsContent` (`String`) — 预订条款内容
|
||||
- 🆕 `refundPolicyIds` (`Map<String, String>`) — 退款政策映射(按退款类型绑定不同政策)。key=退款类型(FULL/DEPOSIT/BALANCE), value=政策ID
|
||||
- 🆕 `refundPolicies` (`Map<String, Object>`) — 退款政策详情(按退款类型分组)。key=退款类型(FULL/DEPOSIT/BALANCE),value=政策详情(含policyName、rules等)
|
||||
- 🆕 `warmTipsId` (`String`) — 温馨提示ID
|
||||
- 🆕 `warmTipsName` (`String`) — 温馨提示名称
|
||||
- 🆕 `warmTipsContent` (`String`) — 温馨提示内容
|
||||
- 🆕 `customizerId` (`String`) — 定制师ID
|
||||
- 🆕 `customerName` (`String`) — 客户姓名(定制产品)
|
||||
- 🆕 `contactPhone` (`String`) — 联系电话(定制产品)
|
||||
- 🆕 `departureDate` (`LocalDate`) — 出发日期(定制产品)
|
||||
- 🆕 `publishedAt` (`LocalDateTime`) — 发布时间
|
||||
- 🆕 `teamExperienceYears` (`Integer`) — 团队经验年数
|
||||
- 🆕 `lineSubtitle` (`String`) — 产品线副标题
|
||||
- 🆕 `createBy` (`String`) — 创建人ID
|
||||
- 🆕 `mchId` (`String`) — 商户号
|
||||
- 🆕 `groupRoomId` (`String`) — 企微群聊ID
|
||||
- 🆕 `suppliesList` (`List<SuppliesItem>`) — 物资列表
|
||||
- 🆕 `benefitsDescription` (`List<BenefitGroupItem>`) — 权益说明(静态,所有产品相同)
|
||||
- 🆕 `updateTime` (`LocalDateTime`) — 更新时间
|
||||
- 🆕 `dayId` (`String`) — 所属行程天ID
|
||||
- 🆕 `dayNumber` (`Integer`) — 天数编号(scope=DAY时生效)
|
||||
- 🆕 `dayTitle` (`String`) — 天标题
|
||||
- 🆕 `routeSummary` (`String`) — 路线概览
|
||||
- 🆕 `nodes` (`List<ItineraryNodeItem>`) — 行程节点列表(含资源详情和图片)
|
||||
- 🆕 `hotels` (`List<DayHotelItem>`) — 当日酒店列表
|
||||
- 🆕 `restaurants` (`List<DiningOptionItem>`) — 当日用餐列表
|
||||
- 🆕 `nodeId` (`String`) — 节点ID
|
||||
- 🆕 `nodeType` (`String`) — 节点类型:TRANSPORT/SCENIC/RESTAURANT/ACTIVITY/PHOTOGRAPHY/HOTEL/FREE/CUSTOM/SERVICE/NOTE
|
||||
- 🆕 `nodeName` (`String`) — 节点名称
|
||||
- 🆕 `startTime` (`String`) — 开始时间
|
||||
- 🆕 `durationMinutes` (`Integer`) — 时长(分钟)
|
||||
- 🆕 `distanceKm` (`BigDecimal`) — 距离(公里)
|
||||
- 🆕 `longitude` (`BigDecimal`) — 经度
|
||||
- 🆕 `latitude` (`BigDecimal`) — 纬度
|
||||
- 🆕 `resourceType` (`String`) — 关联资源类型:SCENIC/HOTEL/RESTAURANT/ACTIVITY/VEHICLE/SERVICE/STAFF
|
||||
- 🆕 `resourceId` (`String`) — 关联资源ID
|
||||
- 🆕 `resourceName` (`String`) — 关联资源名称
|
||||
- 🆕 `description` (`String`) — 说明,如:含全部景点儿童票
|
||||
- 🆕 `images` (`List<String>`) — 节点图片列表
|
||||
- 🆕 `emojiIcon` (`String`) — 表情图标
|
||||
- 🆕 `extraData` (`String`) — 扩展数据(JSON格式)
|
||||
- 🆕 `resourceDetail` (`ResourceDetailDTO`) — 绑定资源的详细信息(含封面图cover、轮播图images、地址address等)
|
||||
- 🆕 `costPrice` (`BigDecimal`) — 资源成本价(来自资源价格日历)
|
||||
- 🆕 `hotelId` (`String`) — 酒店ID
|
||||
- 🆕 `hotelName` (`String`) — 酒店名称
|
||||
- 🆕 `coverUrl` (`String`) — 封面图URL
|
||||
- 🆕 `roomTypeId` (`String`) — 房型ID
|
||||
- 🆕 `roomTypeName` (`String`) — 房型名称
|
||||
- 🆕 `roomCount` (`Integer`) — 房间数量
|
||||
- 🆕 `isDefault` (`Boolean`) — 是否默认酒店
|
||||
- 🆕 `familyRoomConfig` (`Map<String, Integer>`) — 家庭房间分配:{familyId: roomCount}
|
||||
- 🆕 `restaurantId` (`String`) — 餐厅ID
|
||||
- 🆕 `restaurantName` (`String`) — 餐厅/餐食名称
|
||||
- 🆕 `mealTypes` (`String`) — 餐次:早餐/午餐/晚餐
|
||||
- 🆕 `priceInfo` (`String`) — 价格信息
|
||||
- 🆕 `unitPrice` (`BigDecimal`) — 餐食单价(元)
|
||||
- 🆕 `pricingId` (`String`) — 定价配置ID
|
||||
- 🆕 `pricingMode` (`String`) — 定价模式:AUTO=自动计算 MANUAL=手动定价 CUSTOM=定制定价
|
||||
- 🆕 `profitMode` (`String`) — 利润模式:FIXED=固定金额 PERCENT=百分比
|
||||
- 🆕 `profitAmount` (`BigDecimal`) — 利润金额(FIXED模式下使用)
|
||||
- 🆕 `markupPercent` (`BigDecimal`) — 加价百分比(PERCENT模式下使用)
|
||||
- 🆕 `adultExtraBed` (`BigDecimal`) — 成人加床费
|
||||
- 🆕 `insuranceFee` (`BigDecimal`) — 保险费用
|
||||
- 🆕 `mealBudget` (`BigDecimal`) — 餐费预算
|
||||
- 🆕 `childWithBed` (`BigDecimal`) — 儿童占床价
|
||||
- 🆕 `childNoBed` (`BigDecimal`) — 儿童不占床价
|
||||
- 🆕 `babyPrice` (`BigDecimal`) — 婴儿价
|
||||
- 🆕 `childDiscountPercent` (`BigDecimal`) — 儿童折扣百分比
|
||||
- 🆕 `vehicleModelIds` (`List<String>`) — 车型ID列表
|
||||
- 🆕 `extraCostPerPerson` (`BigDecimal`) — 每人额外成本
|
||||
- 🆕 `singleRoomDiff` (`BigDecimal`) — 单房差
|
||||
- 🆕 `companionPrice` (`BigDecimal`) — 陪同人员价格
|
||||
- 🆕 `customTotalPrice` (`BigDecimal`) — 定制产品总价(CUSTOM模式下使用)
|
||||
- 🆕 `minGroupSize` (`Integer`) — 最小成团人数
|
||||
- 🆕 `maxGroupSize` (`Integer`) — 最大成团人数
|
||||
- 🆕 `paymentType` (`String`) — 支付方式:FULL=全款 DEPOSIT=定金+尾款
|
||||
- 🆕 `depositRatio` (`Integer`) — 定金比例(百分比)
|
||||
- 🆕 `depositAmount` (`BigDecimal`) — 定金金额
|
||||
- 🆕 `balanceDueDays` (`Integer`) — 尾款支付截止天数(出发前N天)
|
||||
- 🆕 `type` (`String`) — 消息类型: user/creator
|
||||
- 🆕 `category` (`String`) — 类别,如:门票、住宿、餐饮
|
||||
- 🆕 `title` (`String`) — 分组标题,如:儿童权益 (1.2m以下)
|
||||
- 🆕 `feeName` (`String`) — 费用项名称
|
||||
- 🆕 `feeAmount` (`BigDecimal`) — 费用金额
|
||||
- 🆕 `feeUnit` (`String`) — 费用单位
|
||||
- 🆕 `suppliesId` (`String`) — 物资ID
|
||||
- 🆕 `suppliesName` (`String`) — 物资名称
|
||||
- 🆕 `billingType` (`String`) — 计费方式:BY_PERSON=按人头 BY_COUNT=按次/按件
|
||||
- 🆕 `scope` (`String`) — 适用范围:ALL=整个行程 DAY=指定天
|
||||
- 🆕 `costPerPerson` (`BigDecimal`) — 每人成本
|
||||
- 🆕 `items` (`List<BenefitItem>`) — 权益项列表
|
||||
- 🆕 `text` (`String`) — 消息内容
|
||||
- 🆕 `avatar` (`String`) — 用户头像URL(type=user时有效)
|
||||
- ✏️ `destinationCities`: 说明 "途经城市列表" → "途经城市列表(从行程节点资源去重提取)"
|
||||
- ✏️ `itineraryDays`: 类型 `List<Object>` → `List<ItineraryDayItem>`, 说明 "行程天列表(包含每天的景点、酒店、餐厅、活动等安排)" → "行程天列表(包含每天的景点、酒店、餐厅、活动等安排,含资源图片)"
|
||||
- ✏️ `pricing`: 类型 `Object` → `PricingItem`
|
||||
- ✏️ `costItems`: 类型 `List<Object>` → `List<CostItem>`, 说明 "成本项列表" → "成本项列表(费用包含/不含/自理)"
|
||||
- ✏️ `customFees`: 类型 `List<Object>` → `List<CustomFeeItem>`
|
||||
- ✏️ `staffConfigs`: 说明 "人员配置列表(定制产品专属:导游、领队、摄影师等)" → "人员配置列表(导游、领队、摄影师等)"
|
||||
- ✏️ `families`: 说明 "家庭分组列表(定制产品专属:按家庭分配人员和房间)" → "家庭分组列表(按家庭分配人员和房间)"
|
||||
|
||||
#### ✏️ MpProductDetailVO
|
||||
|
||||
- 🆕 `refundPolicies` (`Map<String, Object>`) — 退款政策详情(按退款类型分组)。key=退款类型(FULL/DEPOSIT/BALANCE),value=政策详情(含policyName、rules等)
|
||||
|
||||
<details>
|
||||
<summary>📁 全部变更文件 (点击展开)</summary>
|
||||
|
||||
```
|
||||
M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpCustomizeController.java
|
||||
M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpOrderFeignClient.java
|
||||
M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpOrderFeignFallbackFactory.java
|
||||
M hl-mp-service/src/main/java/com/hulalv/mp/service/ProductAggregationService.java
|
||||
M hl-mp-service/src/main/java/com/hulalv/mp/vo/MpCustomProductDetailVO.java
|
||||
M hl-mp-service/src/main/java/com/hulalv/mp/vo/MpProductDetailVO.java
|
||||
M hl-order-service/src/main/java/com/hulalv/order/controller/InternalRefundController.java
|
||||
```
|
||||
</details>
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户