# 接口变更记录 — 2026-04-13 （重要）

> **变更类型**：字段删除
> **影响范围**：所有保存接口

---

## 去掉version字段，前端不再需要传

### 删除的字段

以下接口的请求参数中 `version` 字段已删除，**前端不需要传version了**：

| 接口 | 方法 | 路径 |
|------|------|------|
| Step1 基础信息保存 | POST | `/admin/product/item/basic` |
| Step2 行程保存 | PUT | `/admin/product/item/{id}/itinerary` |
| Step3 路线与备品保存 | PUT | `/admin/product/item/{id}/route` |
| Step4 价格日历批量设置 | POST | `/admin/product/item/{id}/price-calendar/batch` |
| Step4 价格日历删除 | DELETE | `/admin/product/item/{id}/price-calendar` |
| Step5 补充信息保存 | PUT | `/admin/product/item/{id}/supplement` |

### 响应中也删除了version

- 产品列表 `GET /admin/product/item/list` — 不再返回 `version` 字段
- 产品详情 `GET /admin/product/item/{id}` — 不再返回 `version` 和 `priceVersion` 字段

### Step1返回值恢复为Long

```json
// POST /admin/product/item/basic 响应
{
  "code": 200,
  "message": "成功",
  "data": 2043574976048476162    // 产品ID（Long）
}
```

之前改成了返回 `{productId, version}` 的Map，现在恢复为直接返回 `Long` 类型的产品ID。

### 同时变更：产品线删除加了关联校验

`DELETE /admin/product/line/{lineId}` — 如果产品线下有产品（版本），返回错误提示，不允许删除。

---

## 补充：productId返回类型说明

Step1接口 `POST /admin/product/item/basic` 返回的 `data` 是 Long 类型的产品ID，但经过全局Jackson序列化后**自动转为字符串**（防止JS精度丢失）：

```json
{
  "code": 200,
  "message": "成功",
  "data": "2043595307274436609"    // 字符串，不是数字
}
```

前端直接用这个字符串做后续请求的productId参数即可。
