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

> **提交** `ad71ea10` · **作者** wx · **时间** 2026-04-13 10:19:02 +0800
>
> fix(product-v2): 产品列表字段补全+create_by→created_by统一

## 📦 其他数据对象变更

> 以下变更未直接关联到本次接口变更，但可能影响现有接口的请求/响应

### hl-product-service-v2

#### ✏️ MpProductListRespVO

  - 🆕 `tripNights` (`Integer`) — 行程晚数
  - 🆕 `lineName` (`String`) — 产品线名称（前端叫「主题名」）
  - 🆕 `tags` (`List<String>`) — 产品标签(如[\
  - 🆕 `seasons` (`List<String>`) — 产品季节(如[\
  - 🆕 `startPrice` (`BigDecimal`) — 起步价(¥X起，最低成人售价)
  - 🆕 `startPriceLabel` (`String`) — 起步价展示文案(如\
  - 🆕 `paymentType` (`String`) — 支付方式(FULL=全款, DEPOSIT=订金)
  - 🆕 `tierCount` (`Integer`) — 规格数量（前端叫「规格数」，单一=1，多档=N）
  - 🆕 `sortOrder` (`Integer`) — 排序号
  - ✏️ `productType`: 说明 "产品类型" → "产品类型(CORE/GROUP/CUSTOM)"
  - ✏️ `subtitle`: 说明 "副标题" → "副标题（一句话卖点）"
  - ✏️ `coverImageUrl`: 说明 "封面图" → "封面图URL"

#### ✏️ ProductDetailRespVO

  - 🆕 `createdBy` (`Long`) — 创建人ID
  - ❌ ~~`createBy`~~ (`Long`) — 创建人ID

#### ✏️ ProductLineRespVO

  - 🆕 `createdBy` (`Long`) — 创建人ID
  - ❌ ~~`createBy`~~ (`Long`) — 创建人ID

#### ✏️ ProductListRespVO

  - 🆕 `subtitle` (`String`) — 副标题
  - 🆕 `tripNights` (`Integer`) — 行程晚数
  - 🆕 `lineId` (`Long`) — 产品线ID（前端叫「主题」）
  - 🆕 `lineName` (`String`) — 产品线名称（前端叫「主题名」，从产品线表关联查出）
  - 🆕 `seasons` (`List<String>`) — 产品季节(JSON数组，如[\
  - 🆕 `tags` (`List<String>`) — 产品标签(JSON数组，如[\
  - 🆕 `startPrice` (`BigDecimal`) — 起步价(已上架产品的最低成人售价，草稿为null)
  - 🆕 `sortOrder` (`Integer`) — 排序号
  - 🆕 `createdBy` (`Long`) — 创建人ID
  - 🆕 `createdByName` (`String`) — 创建人名称
  - ❌ ~~`createBy`~~ (`Long`) — 创建人ID
  - ✏️ `productNo`: 说明 "产品编号" → "产品编号(如C260409001)"
  - ✏️ `productType`: 说明 "产品类型" → "产品类型(字典product_type: CORE=核心产品, GROUP=小蒙马, CUSTOM=私人定制)"
  - ✏️ `coverImageUrl`: 说明 "封面图" → "封面图URL"
  - ✏️ `status`: 说明 "产品状态" → "产品状态(字典product_status)"
  - ✏️ `tierCount`: 说明 "档位数量（单一=1，多档=N）" → "档位数量（前端叫「规格数」，单一=1，多档=N，未配置=0）"
  - ✏️ `version`: 说明 "版本号" → "版本号(乐观锁)"

<details>
<summary>📁 全部变更文件 (点击展开)</summary>

```
M	hl-product-service-v2/src/main/java/com/hulalv/product/entity/GroupTourBatchDO.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/entity/ProductDO.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/entity/ProductLineDO.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/service/admin/ProductBasicService.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/service/admin/ProductPricingService.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/service/admin/ProductQueryService.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/service/admin/ProductValidationService.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/service/mp/MpProductService.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/ProductDetailRespVO.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/ProductLineRespVO.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/ProductListRespVO.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/vo/mp/MpProductListRespVO.java
M	hl-product-service-v2/src/main/resources/mapper/ProductMapper.xml
M	hl-product-service-v2/src/test/java/com/hulalv/product/entity/EntityCoverageTest.java
M	hl-product-service-v2/src/test/java/com/hulalv/product/entity/EntityCoverageTest2.java
M	hl-product-service-v2/src/test/java/com/hulalv/product/service/admin/ProductBasicServiceTest.java
M	hl-product-service-v2/src/test/java/com/hulalv/product/service/admin/ProductPricingServiceTest.java
M	hl-product-service-v2/src/test/java/com/hulalv/product/service/admin/ProductValidationServiceTest.java
M	hl-product-service-v2/src/test/java/com/hulalv/product/vo/VoCoverageTest3.java
```
</details>