# 【管理后台+小程序】餐厅资源新增「是否收费」字段 > **类型**: 出参新增字段(管理后台+小程序同步打通) > **服务**: hl-resource-service + hl-mp-service > **日期**: 2026-06-01 > **影响范围**: `/admin/restaurant` 和 `/mp/restaurant` 相关接口 > **关联工单**: #3317 > **PR**: #3318 > **需前端配合**: ✅ 是(出参新增字段,入参 Create/Update 需传值) --- ## 一、改动概要 餐厅资源(resource-service)新增 `is_charged` 列,值来自字典 `sys_yes_no`(1=是 / 0=否)。 管理后台 4 个餐厅接口和小程序 2 个餐厅接口同步透传新字段,与景区 #3313/#3315 完全同款。 --- ## 二、受影响接口 ### 管理后台(`/admin/restaurant`) | 接口 | 方法 | 变化 | |------|------|------| | `POST /admin/restaurant/item` | 创建餐厅 | 入参新增 `isCharged`(可选,默认 0) | | `PUT /admin/restaurant/item/{restaurantId}` | 更新餐厅 | 入参新增 `isCharged`(可选,不传则不更新) | | `GET /admin/restaurant/item/{restaurantId}` | 餐厅详情 | 出参新增 `isCharged` + `isChargedLabel` | | `GET /admin/restaurant/items` | 餐厅列表 | 出参新增 `isCharged` + `isChargedLabel` | ### 小程序(`/mp/restaurant`) | 接口 | 方法 | 变化 | |------|------|------| | `GET /mp/restaurant/{restaurantId}` | 餐厅详情 | 出参新增 `isCharged` + `isChargedLabel` | | `GET /mp/restaurant/list` | 餐厅列表 | 出参新增 `isCharged` + `isChargedLabel` | --- ## 三、字段说明 ### 出参新增字段(详情 + 列表均有) | 字段 | 类型 | 说明 | |------|------|------| | `isCharged` | Integer | 是否收费:1=是,0=否;历史数据默认 0 | | `isChargedLabel` | String | 中文显示值(取自字典 `sys_yes_no`);字典服务不可用时降级为 `null` | ### 入参新增字段(Create / Update) | 字段 | 类型 | 必填 | 校验 | 默认值 | |------|------|------|------|--------| | `isCharged` | Integer | 否 | 0 ≤ 值 ≤ 1 | Create 默认 `0`;Update 不传则不更新 | --- ## 四、字典 `sys_yes_no` 字典已在后台配置,前端无需额外配置。 | 字典值 | 中文标签 | |--------|---------| | `1` | 是 | | `0` | 否 | `isChargedLabel` 由后端自动从字典翻译,前端直接展示即可。 --- ## 五、请求 / 响应示例 ### 5.1 创建餐厅(含 isCharged) ```http POST /admin/restaurant/item Authorization: Bearer Content-Type: application/json { "name": "云端藏餐", "categoryCode": "TIBETAN", "isCharged": 1 } ``` 响应(出参含新字段): ```json { "code": 200, "data": { "restaurantId": "1900123456789000001", "name": "云端藏餐", "isCharged": 1, "isChargedLabel": "是" } } ``` ### 5.2 餐厅列表 ```http GET /admin/restaurant/items?page=1&pageSize=10 ``` ```json { "code": 200, "data": { "total": 2, "list": [ { "restaurantId": "1900123456789000001", "name": "云端藏餐", "isCharged": 1, "isChargedLabel": "是" }, { "restaurantId": "1900123456789000002", "name": "草原烤肉", "isCharged": 0, "isChargedLabel": "否" } ] } } ``` ### 5.3 字典降级场景(`isChargedLabel` 为 null) 字典服务短暂不可用时,`isCharged` 有值,`isChargedLabel` 返回 `null`;前端建议做兜底处理: ```json { "restaurantId": "1900123456789000001", "isCharged": 1, "isChargedLabel": null } ``` --- ## 六、历史数据 所有存量餐厅 `is_charged` 默认值为 `0`,`isChargedLabel` 返回 `"否"`。 --- ## 七、关联 - Issue: https://git.1814.love:8443/wx/HL/issues/3317 - PR: https://git.1814.love:8443/wx/HL/pulls/3318 - 同款景区改动: #3313(管理后台)/ #3315(小程序) - 后端负责人: 腰苏图