hl-api-changelog/changelogs/2026-03/2026-03-19_remove_calendar_reserved_status.md
API Changelog Bot 45ea2a0c1b fix: resourceDetail 为 null 的 BUG 修复 + SERVICE 资源类型支持
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-19 15:25:41 +08:00

3.3 KiB

价格日历状态去除「已预留」+ 定制产品详情接口强类型化

日期: 2026-03-19 | 服务: hl-product-service, hl-mp-service


一、变更说明

1. 价格日历状态字典变更

calendar_status 字典删除 RESERVED(已预留)状态,无实际业务场景。

变更前4个状态

dict_value dict_label
AVAILABLE 可售
SOLD_OUT 已售罄
CLOSED 已关闭
RESERVED 已预留

变更后3个状态

dict_value dict_label
AVAILABLE 可售
SOLD_OUT 已售罄
CLOSED 已关闭

前端需处理:价格日历编辑弹窗中「状态」下拉选项去除「已预留」。


2. C端定制产品详情接口强类型化

GET /hl-mp-service/mp/custom/product/{productId} 查询已完成的定制产品详情

变更前data 字段为 Map<String, Object>Knife4j 显示 object,无字段结构

变更后data 字段为强类型 MpCustomProductDetailVO,与核心产品详情返回相同的完整结构,包含:

  • 行程天列表 itineraryDays → 行程节点 nodes → 资源详情 resourceDetail(含 cover 封面图、images 轮播图、address 地址等)
  • 每日酒店 hotels(含 coverUrl、房型名称、家庭分配)
  • 每日用餐 restaurants(含 coverUrl、餐次、价格)
  • 定价配置 pricing(完整定价模式、支付方式等)
  • 成本项 costItems、自定义费用 customFees、物资 suppliesList
  • 人员配置 staffConfigs、家庭分组 families
  • 权益说明 benefitsDescription

前端无需改代码,返回数据结构不变,仅 Knife4j 文档从 object 变为完整字段定义,方便查阅。


3. 修复resourceDetail 字段始终为 null 的 BUG

影响范围:所有产品类型(核心产品、小蒙马、定制产品)的详情接口

问题:行程节点中的 resourceDetail 字段(包含资源封面图、轮播图、地址、经纬度等)始终返回 null,原因是数据库存储的 resourceType 为小写(scenicactivityrestaurantservice),但代码匹配时使用大写(SCENICHOTEL),导致无法匹配到资源 ID。

修复后resourceDetail 正常返回,包含以下字段:

{
  "resourceDetail": {
    "resourceId": "资源ID",
    "resourceType": "SCENIC/ACTIVITY/HOTEL/RESTAURANT/SERVICE",
    "name": "资源名称",
    "subtitle": "副标题",
    "cover": "封面图URL",
    "images": ["轮播图URL列表"],
    "address": "地址",
    "longitude": "经度",
    "latitude": "纬度",
    "city": "城市",
    "tags": ["标签列表"]
  }
}

前端需处理:之前如果因为 resourceDetailnull 做了兼容处理(如显示占位图),现在可以直接使用真实数据。


4. 新增SERVICE服务项资源类型支持

批量资源详情查询接口新增对 SERVICE 类型资源的支持。行程中包含服务项(如接机、送机)时,resourceDetail 也会返回完整信息(封面图、地址等)。

影响接口

  • GET /mp/custom/product/{productId} — 定制产品详情
  • GET /mp/product/{productId} — 核心产品详情
  • GET /mp/product/group-tour/{productId} — 小蒙马详情