fix(mp-product): 小蒙马(GROUP)列表起价 startPrice 现已正常返回 — 通知前端 (#3195)

GROUP 起价改取班期表最低成人价(原误查空的价格日历),小蒙马列表卡片起价正常返回。
后端已部署测试服验证通过,前端字段结构不变无需改动。
这个提交包含在:
API Changelog Bot 2026-05-28 16:15:32 +08:00
父节点 ffea021d15
当前提交 e1d1b73ad1

查看文件

@ -0,0 +1,46 @@
# 【前端】小蒙马(GROUP)产品列表起价 startPrice 现已正常返回
> **类型**: 后端 BUG 修复(后端已改并部署测试服验证通过)
> **服务**: hl-product-service-v2
> **日期**: 2026-05-28
> **影响范围**: 小蒙马列表 `GET /mp/product/group/list`;以及首页/产品线/推荐列表中的 GROUP 产品
> **归属**: 后端已修(PR #3195 → dev, Closes #3193;#3199 同步 dev-v3),已部署测试服验证通过
> **状态**: 已部署测试服并验证通过
---
## 一、问题
小蒙马(GROUP)产品配置了团期价格,但小程序**列表卡片**的起价 `startPrice` 恒为 `null`(不显示"¥xxx起/人")。产品**详情页**起价正常。
## 二、根因
GROUP 产品的价格存放在**班期表** `group_tour_batch.adult_price`(团期一口价),价格日历 `product_price_calendar` 对 GROUP 是空的。但小程序两条**列表**接口算起价时只查了价格日历,没有对 GROUP 分流到班期表,所以起价取不到值。详情页早已按产品类型正确分流,故详情正常。
## 三、改动(后端已完成)
列表起价对 GROUP 产品改取「未来班期最低成人价」(departure_date ≥ 今天 且 adult_price > 0 的最小值):
- `GET /mp/product/group/list`(小蒙马专题列表)
- 首页 / 产品线 / 推荐列表中的 GROUP 产品
CORE/CUSTOM 产品起价仍来自价格日历,**无变化**。
## 四、前端影响 / 建议
- 小蒙马列表卡片现在会正常返回 `startPrice``startPriceLabel`(如 `"¥1635起/人"`),可直接渲染起价。
- 「无未来可售班期」的 GROUP 产品 `startPrice` 仍为 `null` —— 此场景前端继续显灰/不显起价是合理的。
- 字段名、类型、结构均未变,**前端无需改动**,数据自然填充即可。
## 五、测试服实测(`GET /mp/product/group/list`,清缓存后)
| productId | 修复前 startPrice | 修复后 startPrice | 说明 |
|-----------|------------------|------------------|------|
| 2056947193331236866 | null | 1635 | 纯班期价产品,已修复 |
| 2056946784965410818 | null | 1635 | 纯班期价产品,已修复 |
| 2056944943066132481 | null | 1425 | 纯班期价产品(3 个未来班期),已修复 |
| 2044306857534636034 | 2999(日历) | 2925(班期) | GROUP 改用班期价(正确口径) |
| 2056947670512971778 | null | null | 无未来可售班期,正确保持 null |
| 2047224617403117570 | null | null | 无未来可售班期,正确保持 null |
起价均与班期最低成人价精确吻合。