3.7 KiB
3.7 KiB
小蒙马详情页字段补全 + 产品接口优化
日期: 2026-03-26 服务: hl-product-service 环境: 测试环境已部署,需重启: product-service
一、小蒙马(GROUP)详情页新增字段
产品详情接口 GET /product/{productId} 和小程序 GET /internal/mp/product/{productId} 新增以下字段:
1. 数据统计(自动计算,无需配置)
| 字段 | 类型 | 说明 |
|---|---|---|
batchCount |
Integer | 历史期数(非散团状态的批次数,仅GROUP产品) |
hotelSummary |
Array | 住宿安排汇总(连住合并,仅显示连住2晚及以上,仅GROUP产品) |
hotelSummary 每项结构(连续住同一酒店自动合并):
{
"dayStart": 3,
"dayEnd": 4,
"hotelId": "3001000000000000005",
"hotelName": "兰其果娃",
"coverUrl": "https://xxx/hotel.jpg",
"roomTypeName": "亲子房",
"nights": 2,
"label": "连住2晚"
}
注意:只住1晚的酒店不会出现在 hotelSummary 中(设计图只展示连住)。前端可直接用 label 字段显示标签,用 dayStart-dayEnd 显示日期范围(如 "Day3-4")。
2. 年龄说明(后台可配)
| 字段 | 类型 | 说明 | 示例 |
|---|---|---|---|
ageMin |
Integer | 适合最小年龄 | 5 |
ageMax |
Integer | 适合最大年龄 | 12 |
ageDescription |
String | 年龄说明文案 | "5-12岁儿童专属,课程按年龄分组" |
3. 摄影跟拍(后台可配)
| 字段 | 类型 | 说明 |
|---|---|---|
photographyTags |
String[] | 摄影标签 如 ["200+精修照片", "1对1跟拍"] |
photographyImages |
String[] | 摄影作品展示图URL列表 |
4. 餐饮亮点(后台可配)
| 字段 | 类型 | 说明 |
|---|---|---|
diningHighlights |
Array | 餐饮亮点列表 |
每项结构:
{ "name": "手把肉", "image": "https://xxx/food.jpg", "subtitle": "蒙古特色必吃" }
5. 安全保障(后台可配)
| 字段 | 类型 | 说明 |
|---|---|---|
safetyItems |
Array | 安全保障列表 |
每项结构:
{ "icon": "insurance", "title": "保险", "description": "中国人保50万,含意外医疗" }
6. 价格档位表(自动计算,无需配置)
| 字段 | 类型 | 说明 |
|---|---|---|
priceTiers |
Array | 价格档位列表(从套餐combo自动取每种组合的最低售价,仅GROUP产品) |
每项结构:
{ "label": "1大1小", "price": 12800, "adultCount": 1, "childCount": 1 }
数据来源:自动从产品的套餐(GroupBatchCombo)中按 comboCode 分组,取每组跨所有批次的最低 sellPrice。无需后台手动配置。
二、推荐餐厅封面图自动补全
行程节点中 DINING_RECOMMEND 类型的 recommendedRestaurants 列表,coverUrl 现在会自动从餐厅资源中补全。前端无需改动,原有字段结构不变。
三、上架校验优化
- 移除了上架时商户号(mchId)的强制校验,不再报"商户号不能为空"
- GROUP(小蒙马)产品上架新增校验:至少需要1个可报名的团期(状态为报名中/已确认,且出发日期在未来)。不满足会提示具体原因
前端对接要点
- batchCount / hotelSummary: 自动计算字段,无需后台录入,GROUP产品详情自动返回
- 年龄/摄影/餐饮/安全/价格: 需要在管理后台"编辑产品"时配置对应数据,否则返回 null
- 所有新字段向后兼容: 未配置时返回 null,不影响已有字段
- 保存/更新产品接口同步支持:
POST /product/save、PUT /product/{id}都可传入新字段