changelog: ad71ea10 - fix(product-v2): 产品列表字段补全+create_by→created_by统一

这个提交包含在:
API Changelog Bot 2026-04-13 10:19:02 +08:00
父节点 c61ba75a47
当前提交 8153aa0e65

查看文件

@ -0,0 +1,82 @@
# 接口变更记录 — 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>