hl-api-changelog/changelogs/2026-03/2026-03-19_1546_06a925b_feat.md

11 KiB

接口变更记录 — 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 → 标签 「【内部接口】退款Feign调用

🆕 GET /internal/order/refund-policy/batch — 批量获取退款政策详情

根据政策ID列表批量获取退款政策详情含退款规则

响应 Result<List<RefundPolicyVO>>

字段 类型 说明
policyId Long 政策ID
policyName String 政策名称
refundType String 退款类型字典refund_typeDEPOSIT(定金)/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) — 用户头像URLtype=user时有效
  • ✏️ destinationCities: 说明 "途经城市列表" → "途经城市列表(从行程节点资源去重提取)"
  • ✏️ itineraryDays: 类型 List<Object>List<ItineraryDayItem>, 说明 "行程天列表(包含每天的景点、酒店、餐厅、活动等安排)" → "行程天列表(包含每天的景点、酒店、餐厅、活动等安排,含资源图片)"
  • ✏️ pricing: 类型 ObjectPricingItem
  • ✏️ costItems: 类型 List<Object>List<CostItem>, 说明 "成本项列表" → "成本项列表(费用包含/不含/自理)"
  • ✏️ customFees: 类型 List<Object>List<CustomFeeItem>
  • ✏️ staffConfigs: 说明 "人员配置列表(定制产品专属:导游、领队、摄影师等)" → "人员配置列表(导游、领队、摄影师等)"
  • ✏️ families: 说明 "家庭分组列表(定制产品专属:按家庭分配人员和房间)" → "家庭分组列表(按家庭分配人员和房间)"

✏️ MpProductDetailVO

  • 🆕 refundPolicies (Map<String, Object>) — 退款政策详情按退款类型分组。key=退款类型(FULL/DEPOSIT/BALANCE),value=政策详情(含policyName、rules等)
📁 全部变更文件 (点击展开)
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