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

57 行
1.9 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# 微信小程序 · 退款预览 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