# 接口变更记录 — 2026-04-13

> **变更类型**：字段新增
> **影响接口**：`GET /admin/product/item/list`
> **在线文档**：
> - 局域网：http://192.168.100.236:8080/doc.html → `1. 管理端 - 产品管理`
> - 公网：https://api.test.1814.love:9443/doc.html（需认证）

---

## 产品列表新增 `tierCount` 字段

产品分页列表接口响应中**新增 `tierCount` 字段**，表示该产品的档位数量。

### 接口信息

- **方法**：`GET /admin/product/item/list`
- **用途**：管理端产品分页列表

### 新增字段

| 字段 | 类型 | 说明 |
|------|------|------|
| `tierCount` | `Integer` | 档位数量。单一档位=1，多档=N（如舒适+豪华=2） |

### 响应示例

```json
{
  "code": 200,
  "message": "成功",
  "data": {
    "total": 514,
    "records": [
      {
        "productId": 2043246204711550977,
        "productNo": "C2604121836",
        "productType": "CORE",
        "name": "额吉的故乡·亲子版",
        "coverImageUrl": "https://...",
        "tripDays": 6,
        "status": "PUBLISHED",
        "version": 3,
        "tierCount": 2,
        "createBy": 1002,
        "publishedAt": "2026-04-12T16:33:51",
        "createTime": "2026-04-12T16:29:40",
        "updateTime": "2026-04-12T16:33:51"
      }
    ]
  }
}
```

### 使用场景

产品列表卡片上展示档位信息，如「2个档位」或档位标签「舒适/豪华」。`tierCount=1` 时可不展示（单一档位无需区分）。

---

## 同步修复：分页问题已修复

之前产品列表 `total` 返回0、一次返回全部数据的问题已修复（PR #325）。现在分页正常：`total` 返回正确总数，`records` 只返回当前页数据。

---

## 补充说明：创建产品 vs Step1 基础信息

这是**两个接口**，使用场景不同：

| 接口 | 方法 | 路径 | 用途 |
|------|------|------|------|
| 创建产品 | POST | `/admin/product/item` | 弹窗中填最少信息（名称+类型+产品线+天数），快速创建草稿拿到productId |
| Step1保存 | PUT | `/admin/product/item/{id}/basic` | 进入编辑页后，保存全部基础信息（37个字段） |

**前端使用流程**：
1. 点「新建产品」→ 弹窗填4个字段 → 调 `POST /admin/product/item` → 拿到 `productId`
2. 自动跳转到编辑页 Step1 → 填写完整信息 → 调 `PUT /admin/product/item/{id}/basic`

两个接口的请求体不同：
- 创建：`ProductSaveReqVO`（name, productType, lineId, tripDays）
- Step1：`ProductBasicSaveReqVO`（37个字段，含version乐观锁）

**不需要调两次保存同样的信息**——创建只是"开个头"拿ID，Step1才是真正保存基础信息。
