diff --git a/changelogs/2026-06/02_admin_order_refund_display_and_failreason.md b/changelogs/2026-06/02_admin_order_refund_display_and_failreason.md index ceacff5..b3de763 100644 --- a/changelogs/2026-06/02_admin_order_refund_display_and_failreason.md +++ b/changelogs/2026-06/02_admin_order_refund_display_and_failreason.md @@ -16,16 +16,18 @@ - **原因**:此前 `actualAmount` 在审批时就预填了,导致「退款中/已取消/申诉中」的单子也显示金额,误以为已退到账。现严格表示「真实到账」。 - **前端建议**:`actualAmount` 为 `null` 时列内显示「-」即可(与现有空值处理一致)。 -## 二、退款详情接口新增「失败原因」字段 `failReason` +## 二、新增「失败原因」字段 `failReason`(列表 + 详情都返回) -- 接口:`GET /admin/order/refund/{applicationId}` - **新增字段**:`failReason`(String,退款失败原因) - 退款被微信拒绝/失败时,回显微信返回的原话,例如:`基本账户余额不足,请充值后重新发起` - - 未失败(成功/进行中)时为 `null` -- **前端建议**:详情页在退款记录区域,若 `failReason` 非空则展示「失败原因:xxx」,便于客服/定制师判断为何没退成。 + - 未失败(成功/进行中/无失败记录)时为 `null` +- **两个接口都返回**(更新:此前仅详情返回,现列表也返回): + - 列表:`GET /admin/order/refund/list` —— 每行带 `failReason`,失败过的行有值,其余 `null` + - 详情:`GET /admin/order/refund/{applicationId}` +- **前端建议**:列表可加「失败原因」列(或在状态旁提示),`failReason` 非空展示「失败原因:xxx」;详情页同样展示。便于运营/客服在列表直接看出哪些单没退成及原因。 ```json -// GET /admin/order/refund/{applicationId} 的 data 节选 +// 列表 records[] 每项 / 详情 data 节选 { "applicationId": "...", "status": "REFUNDING", @@ -53,6 +55,7 @@ | 列表 18 条:非 REFUNDED 行 actualAmount | ✅ 全部为 null | | 列表 REFUNDED 行 actualAmount | ✅ 正常有值 | | 详情接口含 failReason 字段 | ✅ 已返回;构造 FAILED 记录实测回显微信失败原因 | +| **列表接口含 failReason 字段** | ✅ 构造 FAILED 记录实测:列表对应行回显失败原因,其余行为 null(单页 1 次批量查,无 N+1) | | Flyway 加列 fail_reason | ✅ 已应用 | ## 六、联调地址