57 行
1.9 KiB
Markdown
57 行
1.9 KiB
Markdown
# 微信小程序 · 退款预览 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)
|