1.6 KiB
1.6 KiB
小程序住宿详情 - 房型封面图 null 问题修复
- 日期: 2026-04-18
- PR: #825 (Closes #824)
- 类型: BUG FIX
- 状态: 已合并到 dev + 测试环境部署中
影响接口
GET /mp/hotel/{hotelId}(C 端住宿详情)
现象
调用住宿详情返回的 roomTypes 数组中,每个房型的 coverUrl 都是 null(其他字段正常)。
{
"code": 200,
"data": {
"hotelId": "2023714929877450753",
"roomTypes": [
{
"roomTypeId": "...",
"name": "豪华大床房",
"coverUrl": null, // 错误:应为 https://.../cover.jpg
"bannerUrls": [], // 错误:应为图片 URL 数组
"videoUrl": null // 错误:应为视频 URL
}
]
}
}
根因(仅供参考,前端无需关注)
RoomTypeService.listRoomTypes 手动补救 coverUrl 时用 String 类型的 coverMaterialId 去查 Map<Long, String>,Java HashMap.get 不做类型转换导致永远返回 null。banner/video 的 materialId 同样未纳入批量查询。
修复后行为
roomTypes[i].coverUrl:有封面素材时返回 https CDN URLroomTypes[i].bannerUrls:有横幅素材时返回 URL 数组(无素材的条目已 filter)roomTypes[i].videoUrl:有视频素材时返回 URL
前端 Action
无需改代码。后端修复后直接生效。
回归验证
测试环境部署完成后,调用 GET /mp/hotel/{任一已上架酒店ID} 检查 roomTypes[0].coverUrl 非 null 即可。