2.0 KiB
2.0 KiB
小蒙马房间数自动计算 + 多档位最低价
- 日期: 2026-04-15
- 服务: hl-product-service-v2
- PR: #595, #596
- 类型: feat (新功能)
概述
- 行程设计中的住宿房间数自动取最小值作为班期默认房间数,不再需要班期里单独传
- 多档位产品详情返回各档位各自的最低价
功能1:房间数自动计算
行为变更
- 保存行程(Step2)时,后端自动计算各天住宿(档位1)的最小
roomCount,写入defaultRoomCount- 例:D1=8间、D2=9间、D3=8间 →
defaultRoomCount = 8
- 例:D1=8间、D2=9间、D3=8间 →
- 创建班期时,如果
maxRooms未传或传0,自动使用defaultRoomCount- 批量创建班期同样适用
- 如果手动传了
maxRooms > 0,仍以手动值为准
接口影响
无新增接口。现有接口行为变更:
PUT /admin/product/item/{id}/itinerary(Step2 保存行程)
- 保存后自动更新
defaultRoomCount
POST /admin/product/item/{id}/schedule(创建班期)
maxRooms为空或0时自动取defaultRoomCount
POST /admin/product/item/{id}/schedule/batch-create(批量创建班期)
- 同上
功能2:多档位最低价
GET /mp/product/{id} 新增字段
| 字段 | 类型 | 说明 |
|---|---|---|
tierPrices |
Array/null | 各档位起步价,仅多档位产品返回 |
tierPrices 数组元素结构:
| 字段 | 类型 | 说明 |
|---|---|---|
tierSeq |
Integer | 档位序号 |
tierName |
String | 档位名称 |
startPrice |
BigDecimal | 该档位未来可售最低成人售价 |
响应示例
{
"startPrice": 7980.0,
"tierPrices": [
{"tierSeq": 1, "tierName": "精选", "startPrice": 7980.0},
{"tierSeq": 2, "tierName": "臻享", "startPrice": 9980.0}
]
}
规则
startPrice保留为全局最低价(向后兼容)tierPrices仅多档位产品返回,单档位产品为null- 每个档位的
startPrice独立计算(未来日期 + 售价>0 的最低值)