# 微信小程序 · 退款预览 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、用户不敢点"的场景,现在应回到正常金额。发布后请重点点一次"申请退款"弹窗确认数字正确。 --- ## 相关 - PR:[wx/HL#1313](https://git.1814.love:8443/wx/HL/pulls/1313) - 部署:`hl-order-service-v2`(8094)