diff --git a/changelogs/2026-03/2026-03-19_refund_policy_no_refund_type.md b/changelogs/2026-03/2026-03-19_refund_policy_no_refund_type.md index 23991c0..61ee985 100644 --- a/changelogs/2026-03/2026-03-19_refund_policy_no_refund_type.md +++ b/changelogs/2026-03/2026-03-19_refund_policy_no_refund_type.md @@ -1,64 +1,49 @@ -# 退款政策页面问题:退款类型字段不属于退款政策 +# 退款政策新增 refund_type 字段 **日期**: 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_type)DEPOSIT/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 | -| policy_name | varchar(100) | 政策名称 | -| is_default | tinyint(1) | 是否默认政策 | -| enabled | tinyint(1) | 启用状态 | -| remark | varchar(500) | 备注 | -| created_by | bigint | 创建人 | -| created_at | datetime | 创建时间 | +| refundType | String | 退款类型(字典:refund_type) | -## 退款政策规则子表(refund_policy_rule) +## 关联字典:refund_type -| 字段 | 类型 | 说明 | -|------|------|------| -| rule_id | bigint | 规则ID | -| policy_id | bigint | 所属政策ID | -| days_before | int | 出发前≥N天 | -| refund_percent | decimal | 退款比例(%) | - -## 建议处理 - -**编辑退款政策弹窗中去掉"退款类型"下拉框**,该字段不属于退款政策。 - -退款政策编辑只需要: -- 政策名称 -- 生效日期(开始/结束) -- 是否默认政策 -- 备注 -- 退款规则列表(出发前≥N天,退N%) - -## 相关字典 - -字典 `refund_type` 本身没问题,用于退款申请模块: - -| dict_value | dict_label | 用途 | +| dict_value | dict_label | 说明 | |-----------|-----------|------| -| DEPOSIT | 定金 | 退款申请 | -| BALANCE | 尾款 | 退款申请 | -| FULL | 全款 | 退款申请 | +| DEPOSIT | 定金 | 定金退款政策 | +| BALANCE | 尾款 | 尾款退款政策 | +| FULL | 全款 | 全款退款政策 | + +## 前端处理 + +编辑退款政策弹窗中的"退款类型"下拉框,从字典 `refund_type` 加载选项,保存时传 `refundType` 字段,回显时从接口返回的 `refundType` 取值即可。