diff --git a/changelogs/2026-03/26_0905_xmm_detail_fields.md b/changelogs/2026-03/26_0905_xmm_detail_fields.md new file mode 100644 index 0000000..ab2e20c --- /dev/null +++ b/changelogs/2026-03/26_0905_xmm_detail_fields.md @@ -0,0 +1,98 @@ +# 小蒙马详情页字段补全 + 产品接口优化 + +**日期**: 2026-03-26 +**服务**: hl-product-service +**环境**: 测试环境已部署,需重启: product-service + +--- + +## 一、小蒙马(GROUP)详情页新增字段 + +产品详情接口 `GET /product/{productId}` 和小程序 `GET /internal/mp/product/{productId}` 新增以下字段: + +### 1. 数据统计(自动计算,无需配置) + +| 字段 | 类型 | 说明 | +|------|------|------| +| `batchCount` | Integer | 历史期数(非散团状态的批次数,仅GROUP产品) | +| `hotelSummary` | Array | 酒店安排汇总(从行程天酒店去重提取,仅GROUP产品) | + +`hotelSummary` 每项结构: +```json +{ + "dayNumber": 1, + "hotelId": "3001000000000000002", + "hotelName": "海拉尔海棠酒店", + "coverUrl": "https://xxx/hotel.jpg", + "roomTypeName": "亲子房" +} +``` + +### 2. 年龄说明(后台可配) + +| 字段 | 类型 | 说明 | 示例 | +|------|------|------|------| +| `ageMin` | Integer | 适合最小年龄 | `5` | +| `ageMax` | Integer | 适合最大年龄 | `12` | +| `ageDescription` | String | 年龄说明文案 | `"5-12岁儿童专属,课程按年龄分组"` | + +### 3. 摄影跟拍(后台可配) + +| 字段 | 类型 | 说明 | +|------|------|------| +| `photographyTags` | String[] | 摄影标签 如 `["200+精修照片", "1对1跟拍"]` | +| `photographyImages` | String[] | 摄影作品展示图URL列表 | + +### 4. 餐饮亮点(后台可配) + +| 字段 | 类型 | 说明 | +|------|------|------| +| `diningHighlights` | Array | 餐饮亮点列表 | + +每项结构: +```json +{ "name": "手把肉", "image": "https://xxx/food.jpg", "subtitle": "蒙古特色必吃" } +``` + +### 5. 安全保障(后台可配) + +| 字段 | 类型 | 说明 | +|------|------|------| +| `safetyItems` | Array | 安全保障列表 | + +每项结构: +```json +{ "icon": "insurance", "title": "保险", "description": "中国人保50万,含意外医疗" } +``` + +### 6. 价格档位表(后台可配) + +| 字段 | 类型 | 说明 | +|------|------|------| +| `priceTiers` | Array | 价格档位列表 | + +每项结构: +```json +{ "label": "1大1小", "price": 12800 } +``` + +--- + +## 二、推荐餐厅封面图自动补全 + +行程节点中 `DINING_RECOMMEND` 类型的 `recommendedRestaurants` 列表,`coverUrl` 现在会自动从餐厅资源中补全。前端无需改动,原有字段结构不变。 + +--- + +## 三、上架校验优化 + +- 移除了上架时商户号(mchId)的强制校验,不再报"商户号不能为空" + +--- + +## 前端对接要点 + +1. **batchCount / hotelSummary**: 自动计算字段,无需后台录入,GROUP产品详情自动返回 +2. **年龄/摄影/餐饮/安全/价格**: 需要在管理后台"编辑产品"时配置对应数据,否则返回 null +3. **所有新字段向后兼容**: 未配置时返回 null,不影响已有字段 +4. **保存/更新产品接口同步支持**: `POST /product/save`、`PUT /product/{id}` 都可传入新字段