hl-api-changelog/changelogs/2026-04/2026-04-23_mp-refund-preview-ratio-fix.md

1.9 KiB

微信小程序 · 退款预览 refundRatio 之前永远为 0 — 已修复

  • 变更日期: 2026-04-23
  • PR: #1313
  • : 微信小程序(管理端不涉及)
  • 影响面: 订单退款预览弹窗
  • 兼容性: 纯 bug 修复,接口/字段/调用方式零变化,前端无需改动

变化一句话

调用微信小程序退款预览接口时,返回的 refundRatio(退款比例,如 50 = 50%)之前永远返回 0;现在会按订单实际绑定的退款政策和出发日期返回正确的比例值。


相关接口

POST /mp/refund/preview(实际路径以 Swagger 为准)

入参结构不变,继续按之前传 orderId 即可。

返回 RefundPreviewVO 里的字段:

字段 之前 现在
refundRatio 0 按退款政策 + 距离出发天数查表得出的真实比例0~100
refundAmount 基于 ratio=0 计算 → 恒 0 按真实比例计算
其它字段 正常 不变

根因(一句话,前端可忽略)

微信小程序侧 Feign 只传了 orderId,后端 Service 期望同时传 policyId/paidAmount/departureDate 才能匹配策略;旧版直接拿 null 去查,匹配不到策略导致 ratio=0。本次后端按 orderId 反查订单主表自动补齐这些参数。


不影响范围

  • 管理端退款预览(/admin/refund/preview)已经传齐参数,零影响
  • 实际退款提交流程preview 之后的 apply / approve零影响
  • 退款政策、订单金额、已付金额等字段零影响

建议前端验收一个点

之前因为 ratio 恒 0 导致"退款弹窗金额显示 0、用户不敢点"的场景,现在应回到正常金额。发布后请重点点一次"申请退款"弹窗确认数字正确。


相关

  • PRwx/HL#1313
  • 部署:hl-order-service-v28094