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