12_feat restaurant icon_svg align with 3 resource types (PR HL#2106)

这个提交包含在:
API Changelog Bot 2026-05-12 16:16:36 +08:00
父节点 5449ace86e
当前提交 cb28ae8883

查看文件

@ -0,0 +1,44 @@
# 后端 feat 通知 — 餐厅 restaurant 加 icon_svg, 与 3 类对齐
**日期**: 2026-05-12
**类型**: 后端补齐 (PR #2106)
**模块**: 资源服务 — 餐厅
**通知**: @mmg
**前端是否需改动**: **需要** — 餐厅编辑弹窗加图标上传, 与景区/活动/服务统一
**严重性**: P3
---
## 背景
PR #2100 只给景区/活动/服务 3 类加了 icon_svg, 漏了餐厅。本次补齐, 4 类资源对齐。
## API 变化
餐厅 admin CRUD: `POST /admin/restaurant`, `PUT /admin/restaurant/{id}`, `GET /admin/restaurant/items`, `GET /admin/restaurant/{id}`
**请求体新增可选字段**: `iconSvg`
**响应体新增字段**: `iconSvg` (列表 + 详情都返回)
资源端 Internal Feign `GET /internal/mp/resource/batch-details` Restaurant 的 ResourceDetailDTO 也带 iconSvg 了。
## 节点选餐厅时的默认带过去
`nodeType=RESTAURANT` + 不传 `emojiIcon` + 资源 iconSvg 非空 → 节点 emojiIcon 自动复制餐厅 iconSvg (复用 PR #2100`ProductItineraryService.convertNode` 逻辑, 4 类资源全覆盖)。
## 测试服实测
部署版本: dev 最新 (PR #2106)
| 接口 | iconSvg 字段返回 |
|------|------------------|
| `GET /admin/scenic/spots` | ✅ |
| `GET /admin/activity/items` | ✅ |
| `GET /admin/service/items` | ✅ |
| `GET /admin/restaurant/items` | ✅ |
`flyway_schema_history.V20260512.005 success=1`, restaurant 表 icon_svg 列已建。
## 前端 mmg 行动项
餐厅编辑弹窗加"上传 SVG 图标"入口, 字段名 `iconSvg`, 与景区/活动/服务 3 个弹窗的实现方式保持一致。