3.4 KiB
3.4 KiB
退款政策简化 + 预订须知必填校验
日期
2026-03-22
一、退款政策管理简化
变更说明
退款政策现在直接绑定到产品,不再区分退款类型,不再有默认政策概念。
删除的字段
| 接口 | 删除字段 | 说明 |
|---|---|---|
| 退款政策列表/详情 VO | refundType |
不再区分定金/全款/尾款类型 |
| 退款政策列表/详情 VO | isDefault |
不再有默认政策概念 |
| 退款政策创建/修改请求 | refundType |
同上 |
| 退款政策创建/修改请求 | isDefault |
同上 |
| 产品详情 VO | refundPolicyId |
已废弃,用 refundPolicyIds |
| 产品详情 VO | refundPolicyName |
已废弃 |
退款政策列表页(退款管理 > 退款政策)
需要删除的列:
退款类型生效开始生效结束默认
保留的列:
- 政策名称
- 规则数(规则条数)
- 状态(启用/禁用)
- 创建时间
- 操作
退款政策创建/修改表单
需要删除的字段:
退款类型(DEPOSIT/BALANCE/FULL 下拉)是否默认(开关)
保留的字段:
- 政策名称(必填)
- 备注(选填)
- 退款规则列表(必填,每条规则包含:距出发天数 + 退款比例%)
接口无变化
GET /admin/order/refund-policy/list— 退款政策列表GET /admin/order/refund-policy/enabled— 启用的政策列表(产品设计选择用)GET /admin/order/refund-policy/{policyId}— 政策详情POST /admin/order/refund-policy— 创建政策PUT /admin/order/refund-policy/{policyId}— 修改政策DELETE /admin/order/refund-policy/{policyId}— 删除政策(不再限制"默认不能删")PUT /admin/order/refund-policy/{policyId}/toggle?enabled=true/false— 启用/禁用
二、产品退款政策绑定(按支付方式映射)
refundPolicyIds 字段格式(Map,不变)
{
"refundPolicyIds": {
"FULL": "3",
"DEPOSIT": "1",
"BALANCE": "4"
}
}
- key = 支付类型:
FULL(全款)、DEPOSIT(定金)、BALANCE(尾款) - value = 退款政策ID(从
GET /admin/order/refund-policy/enabled获取) - 退款政策本身不再区分类型,任何政策都可以绑定到任何支付类型
退款政策与支付方式的关系
| 支付方式 | 需要配置的退款政策 |
|---|---|
| 全款支付 (FULL) | FULL |
| 定金+尾款 (DEPOSIT) | DEPOSIT + BALANCE |
上架/完成时自动校验:系统根据产品的支付方式(product_pricing.payment_type)检查 refundPolicyIds 中是否配置了对应的退款政策。缺少则校验不通过。
三、产品上架/完成新增必填校验
以下字段在**上架(PUBLISHED)和定制完成(COMPLETED)**时必须填写,否则校验不通过:
| 字段 | 说明 | 选择来源 |
|---|---|---|
bookingTermsId |
预订条款 | GET /admin/product/booking-terms/enabled |
refundPolicyIds |
退款政策(按支付方式映射) | GET /admin/order/refund-policy/enabled |
warmTipsId |
温馨提示 | GET /admin/product/warm-tips/enabled |
insuranceSchemeId |
保险方案 | 已有 |
contractSchemeId |
合同方案 | 已有 |
四、所有产品改为预约产品
所有产品的 isBooking 已设为 true(预约产品)。产品列表"预约"列应全部显示"是"。