From 8bd6a10f2bb2acbba5fa6e34f2ba84d1cc768674 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Wed, 25 Mar 2026 16:13:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20DINING=5FRECOMMEND=E7=8B=AC=E7=AB=8B?= =?UTF-8?q?=E8=8A=82=E7=82=B9=E7=B1=BB=E5=9E=8B=EF=BC=88=E6=9C=80=E7=BB=88?= =?UTF-8?q?=E7=89=88=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...2026-03-25_node_recommended_restaurants.md | 64 +++++++++++-------- 1 file changed, 38 insertions(+), 26 deletions(-) diff --git a/changelogs/2026-03/2026-03-25_node_recommended_restaurants.md b/changelogs/2026-03/2026-03-25_node_recommended_restaurants.md index 145705f..c13676b 100644 --- a/changelogs/2026-03/2026-03-25_node_recommended_restaurants.md +++ b/changelogs/2026-03/2026-03-25_node_recommended_restaurants.md @@ -1,24 +1,22 @@ -# 行程节点支持推荐餐厅列表(独立节点) +# 新增节点类型 DINING_RECOMMEND(推荐餐厅) -> 创建行程节点时,可附带推荐餐厅列表。**每个餐厅会创建为独立的 RESTAURANT 类型节点**,排在当前节点后面,在行程时间线中独立展示。 +> 新增行程节点类型 `DINING_RECOMMEND`,一个节点存一组推荐餐厅列表,在行程时间线中作为一个卡片展示多个餐厅。 --- -## 变更接口 +## 使用方式 -| 接口 | 说明 | -|------|------| -| `POST /admin/product/item/{productId}/day/{dayNumber}/node` | 创建节点 | -| `PUT /admin/product/node/{nodeId}` | 更新节点 | +### 创建推荐餐厅节点 -## 新增字段 - -### 请求新增 `recommendedRestaurants` +``` +POST /admin/product/item/{productId}/day/{dayNumber}/node +``` ```json { - "nodeType": "SCENIC", - "nodeName": "呼伦湖", + "nodeType": "DINING_RECOMMEND", + "nodeName": "午餐推荐", + "startTime": "12:00", "recommendedRestaurants": [ { "restaurantId": "123456", @@ -26,32 +24,46 @@ "coverUrl": "https://oss.xxx.com/cover.jpg", "mealType": "午餐", "priceInfo": "人均80元" + }, + { + "restaurantId": "789012", + "restaurantName": "藏式火锅", + "coverUrl": "https://oss.xxx.com/cover2.jpg", + "mealType": "午餐", + "priceInfo": "人均120元" } ] } ``` +### 更新推荐餐厅 + +``` +PUT /admin/product/node/{nodeId} +``` + +传 `recommendedRestaurants` 即可整体替换餐厅列表。 + +### 查询返回 + +`GET /admin/product/item/{productId}/day/{dayNumber}/nodes` 返回的 ItineraryNodeVO 中: + +- `nodeType` = `"DINING_RECOMMEND"` +- `recommendedRestaurants` = 餐厅列表数组 + | 字段 | 类型 | 说明 | |------|------|------| -| recommendedRestaurants | Array | 推荐餐厅列表,最多10个(选填) | -| recommendedRestaurants[].restaurantId | String | 餐厅ID(来自资源服务) | +| recommendedRestaurants[].restaurantId | String | 餐厅ID | | recommendedRestaurants[].restaurantName | String | 餐厅名称 | -| recommendedRestaurants[].coverUrl | String | 封面图URL | -| recommendedRestaurants[].mealType | String | 餐次:早餐/午餐/晚餐 | +| recommendedRestaurants[].coverUrl | String | 封面图 | +| recommendedRestaurants[].mealType | String | 餐次 | | recommendedRestaurants[].priceInfo | String | 价格信息 | -### 行为说明 +**其他节点类型此字段为 null。** -传入 `recommendedRestaurants` 后,每个餐厅自动创建为**独立的 RESTAURANT 类型节点**: -- `nodeType` = "RESTAURANT" -- `resourceType` = "RESTAURANT" -- `resourceId` = 餐厅ID -- `nodeName` = 餐厅名称 -- `description` = 餐次(mealType) -- `images` = [coverUrl] -- `sortOrder` = 紧跟在当前节点后面 +## 节点类型汇总(11种) -查询行程节点列表时,推荐餐厅作为独立节点返回,**不嵌套在其他节点内**。 +TRANSPORT / SCENIC / RESTAURANT / ACTIVITY / PHOTOGRAPHY / HOTEL / FREE / CUSTOM / SERVICE / NOTE / **DINING_RECOMMEND** ## 涉及服务