fix: 退款政策新增 refund_type 字段(字典 refund_type 回显)

这个提交包含在:
API Changelog Bot 2026-03-19 14:36:39 +08:00
父节点 49e2310d03
当前提交 478240a269

查看文件

@ -1,64 +1,49 @@
# 退款政策页面问题:退款类型字段不属于退款政策 # 退款政策新增 refund_type 字段
**日期**: 2026-03-19 **日期**: 2026-03-19
**类型**: BUG反馈 **类型**: 功能增强
**影响模块**: 退款管理 → 退款政策 **影响模块**: 退款管理 → 退款政策
--- ---
## 问题描述 ## 变更说明
退款政策编辑弹窗中显示了"退款类型"下拉框,但**退款政策表refund_policy没有 refund_type 字段**,所以无法回显 退款政策表新增 `refund_type` 字段,支持按退款类型区分不同的退款政策
## 原因分析 ## 数据库变更
`refund_type`退款类型DEPOSIT定金/BALANCE尾款/FULL全款是**退款申请refund_application**的字段,不是退款政策的字段。 ```sql
ALTER TABLE refund_policy ADD COLUMN refund_type VARCHAR(20) DEFAULT NULL
COMMENT '退款类型字典refund_typeDEPOSIT/BALANCE/FULL' AFTER policy_name;
```
退款类型是在用户发起退款申请时,后端根据订单的支付状态**自动确定**的: ## 接口影响
- 只付了定金 → `DEPOSIT`
- 只付了尾款 → `BALANCE`
- 全额付款 → `FULL`
退款政策本身只定义退款规则出发前N天退多少%),跟退款类型无关。 ### 创建退款政策 `POST /order/refund-policy`
### 更新退款政策 `PUT /order/refund-policy/{policyId}`
## 退款政策表实际字段 请求参数新增:
| 参数 | 类型 | 必填 | 说明 |
|------|------|------|------|
| refundType | String | 否 | 退款类型字典refund_type |
### 查询退款政策(列表/详情)
响应新增字段:
| 字段 | 类型 | 说明 | | 字段 | 类型 | 说明 |
|------|------|------| |------|------|------|
| policy_id | bigint | 政策ID | | refundType | String | 退款类型字典refund_type |
| policy_name | varchar(100) | 政策名称 |
| is_default | tinyint(1) | 是否默认政策 |
| enabled | tinyint(1) | 启用状态 |
| remark | varchar(500) | 备注 |
| created_by | bigint | 创建人 |
| created_at | datetime | 创建时间 |
## 退款政策规则子表refund_policy_rule ## 关联字典refund_type
| 字段 | 类型 | 说明 | | dict_value | dict_label | 说明 |
|------|------|------|
| rule_id | bigint | 规则ID |
| policy_id | bigint | 所属政策ID |
| days_before | int | 出发前≥N天 |
| refund_percent | decimal | 退款比例(%) |
## 建议处理
**编辑退款政策弹窗中去掉"退款类型"下拉框**,该字段不属于退款政策。
退款政策编辑只需要:
- 政策名称
- 生效日期(开始/结束)
- 是否默认政策
- 备注
- 退款规则列表出发前≥N天,退N%
## 相关字典
字典 `refund_type` 本身没问题,用于退款申请模块:
| dict_value | dict_label | 用途 |
|-----------|-----------|------| |-----------|-----------|------|
| DEPOSIT | 定金 | 退款申请 | | DEPOSIT | 定金 | 定金退款政策 |
| BALANCE | 尾款 | 退款申请 | | BALANCE | 尾款 | 尾款退款政策 |
| FULL | 全款 | 退款申请 | | FULL | 全款 | 全款退款政策 |
## 前端处理
编辑退款政策弹窗中的"退款类型"下拉框,从字典 `refund_type` 加载选项,保存时传 `refundType` 字段,回显时从接口返回的 `refundType` 取值即可。