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

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

查看文件

@ -58,36 +58,32 @@
---
## 二、产品退款政策绑定格式变更
## 二、产品退款政策绑定(按支付方式映射)
### `refundPolicyIds` 字段类型变更
### `refundPolicyIds` 字段格式Map,不变
**之前Map**
```json
{
"refundPolicyIds": {
"DEPOSIT": "1",
"FULL": "3",
"DEPOSIT": "1",
"BALANCE": "4"
}
}
```
**现在List**
```json
{
"refundPolicyIds": ["1", "3", "4"]
}
```
- key = 支付类型:`FULL`(全款)、`DEPOSIT`(定金)、`BALANCE`(尾款)
- value = 退款政策ID`GET /admin/order/refund-policy/enabled` 获取)
- 退款政策本身不再区分类型,任何政策都可以绑定到任何支付类型
**影响接口:**
- `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` |
| `refundPolicyIds` | 退款政策(可多选 | `GET /admin/order/refund-policy/enabled` |
| `refundPolicyIds` | 退款政策(按支付方式映射 | `GET /admin/order/refund-policy/enabled` |
| `warmTipsId` | 温馨提示 | `GET /admin/product/warm-tips/enabled` |
| `insuranceSchemeId` | 保险方案 | 已有 |
| `contractSchemeId` | 合同方案 | 已有 |