# 新增节点类型 DINING_RECOMMEND（推荐餐厅）

> 新增行程节点类型 `DINING_RECOMMEND`，一个节点存一组推荐餐厅列表，在行程时间线中作为一个卡片展示多个餐厅。

---

## 使用方式

### 创建推荐餐厅节点

```
POST /admin/product/item/{productId}/day/{dayNumber}/node
```

```json
{
  "nodeType": "DINING_RECOMMEND",
  "nodeName": "午餐推荐",
  "startTime": "12:00",
  "recommendedRestaurants": [
    {
      "restaurantId": "123456",
      "restaurantName": "纳西风味餐厅",
      "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[].restaurantId | String | 餐厅ID |
| recommendedRestaurants[].restaurantName | String | 餐厅名称 |
| recommendedRestaurants[].coverUrl | String | 封面图 |
| recommendedRestaurants[].mealType | String | 餐次 |
| recommendedRestaurants[].priceInfo | String | 价格信息 |

**其他节点类型此字段为 null。**

## 节点类型汇总（11种）

TRANSPORT / SCENIC / RESTAURANT / ACTIVITY / PHOTOGRAPHY / HOTEL / FREE / CUSTOM / SERVICE / NOTE / **DINING_RECOMMEND**

## 涉及服务

需重启：**hl-product-service**
