更新:退款政策按支付方式映射,上架校验支付方式与退款政策对应

这个提交包含在:
API Changelog Bot 2026-03-22 20:05:56 +08:00
父节点 fd23ce1007
当前提交 1ec3d9434e

查看文件

@ -58,36 +58,32 @@
--- ---
## 二、产品退款政策绑定格式变更 ## 二、产品退款政策绑定(按支付方式映射)
### `refundPolicyIds` 字段类型变更 ### `refundPolicyIds` 字段格式Map,不变
**之前Map**
```json ```json
{ {
"refundPolicyIds": { "refundPolicyIds": {
"DEPOSIT": "1",
"FULL": "3", "FULL": "3",
"DEPOSIT": "1",
"BALANCE": "4" "BALANCE": "4"
} }
} }
``` ```
**现在List** - key = 支付类型:`FULL`(全款)、`DEPOSIT`(定金)、`BALANCE`(尾款)
```json - value = 退款政策ID`GET /admin/order/refund-policy/enabled` 获取)
{ - 退款政策本身不再区分类型,任何政策都可以绑定到任何支付类型
"refundPolicyIds": ["1", "3", "4"]
}
```
**影响接口:** ### 退款政策与支付方式的关系
- `POST /admin/product` — 创建产品
- `PUT /admin/product/{id}` — 更新产品
- `PUT /admin/product/{id}/save` — 保存产品(草稿)
- `GET /admin/product/{id}` — 产品详情(响应)
### 产品"预订须知"页面 | 支付方式 | 需要配置的退款政策 |
- **退款政策选择器**:从 Map 形式改为简单多选。调用 `GET /admin/order/refund-policy/enabled` 获取列表,选中的 policyId 数组直接存入 `refundPolicyIds` |---------|------------------|
| 全款支付 (FULL) | FULL |
| 定金+尾款 (DEPOSIT) | DEPOSIT + BALANCE |
**上架/完成时自动校验**:系统根据产品的支付方式(`product_pricing.payment_type`)检查 `refundPolicyIds` 中是否配置了对应的退款政策。缺少则校验不通过。
--- ---
@ -98,7 +94,7 @@
| 字段 | 说明 | 选择来源 | | 字段 | 说明 | 选择来源 |
|------|------|---------| |------|------|---------|
| `bookingTermsId` | 预订条款 | `GET /admin/product/booking-terms/enabled` | | `bookingTermsId` | 预订条款 | `GET /admin/product/booking-terms/enabled` |
| `refundPolicyIds` | 退款政策(可多选 | `GET /admin/order/refund-policy/enabled` | | `refundPolicyIds` | 退款政策(按支付方式映射 | `GET /admin/order/refund-policy/enabled` |
| `warmTipsId` | 温馨提示 | `GET /admin/product/warm-tips/enabled` | | `warmTipsId` | 温馨提示 | `GET /admin/product/warm-tips/enabled` |
| `insuranceSchemeId` | 保险方案 | 已有 | | `insuranceSchemeId` | 保险方案 | 已有 |
| `contractSchemeId` | 合同方案 | 已有 | | `contractSchemeId` | 合同方案 | 已有 |