diff --git a/changelogs/2026-04/2026-04-13_product-v2_basic-api-change.md b/changelogs/2026-04/2026-04-13_product-v2_basic-api-change.md new file mode 100644 index 0000000..8609fd4 --- /dev/null +++ b/changelogs/2026-04/2026-04-13_product-v2_basic-api-change.md @@ -0,0 +1,104 @@ +# 接口变更记录 — 2026-04-13 (重要) + +> **变更类型**:接口路径变更 +> **影响范围**:创建产品 + Step1基础信息保存 +> **测试环境已部署** + +--- + +## Step1 基础信息保存 — 接口变更 + +### 旧接口(已删除,不可用) + +``` +POST /admin/product/item ← 已删除 +PUT /admin/product/item/{id}/basic ← 已删除 +``` + +### 新接口(立即使用) + +``` +POST /admin/product/item/basic +``` + +**一个接口同时支持创建和更新**: +- `productId` **不传** = 创建新产品,返回新productId +- `productId` **传了** = 更新已有产品,返回原productId + +### 创建产品(productId不传) + +```json +// POST /admin/product/item/basic +{ + "productType": "CORE", // 创建时必传: CORE/GROUP/CUSTOM + "name": "额吉的故乡·亲子版", // 必传 + "tripDays": 6, // 可选 + "lineId": 100 // CORE/GROUP必传,CUSTOM可空 +} +``` + +**响应**: +```json +{ + "code": 200, + "message": "成功", + "data": 2043246204711550977 // 新产品ID +} +``` + +### 更新产品(productId传已有ID) + +```json +// POST /admin/product/item/basic +{ + "productId": 2043246204711550977, // 传了就是更新 + "version": 0, // 更新时必传(乐观锁) + "name": "额吉的故乡·亲子版", + "subtitle": "6天5晚草原环线", + "tripDays": 6, + "lineId": 100, + "coverImageUrl": "https://...", + "seasons": ["summer", "autumn"], + "tags": ["亲子", "研学"], + "tiers": [ + {"tierSeq": 1, "tierName": "舒适"}, + {"tierSeq": 2, "tierName": "豪华"} + ], + "paymentType": "FULL", + "showReview": true +} +``` + +**响应**: +```json +{ + "code": 200, + "message": "成功", + "data": 2043246204711550977 // 原产品ID +} +``` + +### 前端使用方式 + +``` +新建产品: + 1. 弹窗填 name + productType + lineId + 2. POST /admin/product/item/basic(不传productId) + 3. 拿到返回的 productId → 跳转编辑页 + +编辑产品: + 1. GET /admin/product/item/{id} 拿详情 + version + 2. 修改字段 + 3. POST /admin/product/item/basic(传productId + version) +``` + +--- + +## 字典补充:payment_type 已恢复 + +`GET /admin/dict/data/type/payment_type` + +| 值 | 中文 | +|----|------| +| FULL | 全款支付 | +| DEPOSIT | 订金+尾款 |