# 接口变更记录 — 2026-04-02 15:15 > **提交** `bb42f73e` · **作者** wx · **时间** 2026-04-02 15:15:02 +0800 > > refactor: 删除gradeGroupId,用lineId做版本分组 + 产品线详情接口 ## 变更总览 - **产品服务** - InternalMpProduct (+1) - Product (-1) - **小程序聚合服务** - MpProduct (+1) --- ## 产品服务 ### InternalMpProduct > 📖 **接口文档**: [http://192.168.100.236:8085/doc.html](http://192.168.100.236:8085/doc.html) → 标签 **「【内部接口】小程序产品(Feign调用)」** ### 🆕 `GET` /internal/mp/product/line/{lineId}/products — 产品线下所有已上架产品(不做版本去重) > 按产品线ID查询所有已上架产品,用于产品线详情页展示。 **参数** - `{lineId}` (`Long`) — 路径参数 **响应** `Result>` | 字段 | 类型 | 说明 | | --- | --- | --- | | `productId` | `String` | 产品ID | | `productType` | `String` | 产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团 | | `gradeOptions` | `List` | 同产品线版本选项(null=独立产品或产品线仅一个产品) | | `name` | `String` | 产品名称 | | `subtitle` | `String` | 副标题 | | `tripDays` | `Integer` | 行程天数 | | `tripNights` | `Integer` | 行程晚数 | | `departureCity` | `String` | 出发城市 | | `destinationCity` | `String` | 目的地城市 | | `tags` | `List` | 产品标签列表 | | `seasons` | `List` | 适用季节列表(编码) | | `seasonLabels` | `List` | 适用季节列表(中文) | | `coverImageUrl` | `String` | 封面图URL | | `lineName` | `String` | 产品线名称 | | `startPrice` | `BigDecimal` | 起步价:全款模式=最低售价,订金模式=最低订金额 | | `startPriceLabel` | `String` | 起步价标签:'起' 或 '订金起' | | `paymentMode` | `String` | 支付模式:FULL=全款 DEPOSIT=订金+尾款 | | `routeMapUrl` | `String` | 路径图URL | | `creatorName` | `String` | 创作者姓名 | | `creatorAvatarUrl` | `String` | 定制师头像URL | ### Product > 📖 **接口文档**: [http://192.168.100.236:8085/doc.html](http://192.168.100.236:8085/doc.html) → 标签 **「产品管理」** ### ❌ ~~`GET` /admin/product/item/grade-groups — 查询等级分组列表(管理端选择关联等级产品用)~~ --- ## 小程序聚合服务 ### MpProduct > 📖 **接口文档**: [http://192.168.100.236:8086/doc.html](http://192.168.100.236:8086/doc.html) → 标签 **「C端 - 产品接口」** ### 🆕 `GET` /mp/product/line/{lineId} — 产品线详情 > 返回产品线信息 + 该线下所有已上架产品摘要 + 第一个产品的完整详情。 **参数** - `{lineId}` (`Long`) — 路径参数:产品线ID **响应** `Result>` --- ## 📦 其他数据对象变更 > 以下变更未直接关联到本次接口变更,但可能影响现有接口的请求/响应 ### 产品服务 #### ✏️ ProductCreateRequest - ❌ ~~`gradeGroupId`~~ (`Long`) — 版本分组ID(关联已有版本产品时传入) #### ✏️ ProductListVO - ❌ ~~`gradeGroupId`~~ (`String`) — 版本分组ID(null=独立产品) #### ✏️ ProductSaveRequest - ❌ ~~`gradeGroupId`~~ (`Long`) — 版本分组ID(关联已有版本产品时传入该产品的gradeGroupId,首个版本产品不传) #### ✏️ ProductUpdateRequest - ❌ ~~`gradeGroupId`~~ (`Long`) — 版本分组ID(关联已有版本产品时传入) #### ✏️ ProductVO - ❌ ~~`gradeGroupId`~~ (`String`) — 版本分组ID(null=独立产品) - ✏️ `gradeOptions`: 说明 "同组所有版本选项(含自己)" → "同产品线版本选项(null=独立产品或产品线仅一个产品)"
📁 全部变更文件 (点击展开) ``` M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpProductController.java M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpProductFeignClient.java M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpProductFeignFallbackFactory.java M hl-product-service/src/main/java/com/hulalv/product/controller/InternalMpProductController.java M hl-product-service/src/main/java/com/hulalv/product/controller/ProductController.java M hl-product-service/src/main/java/com/hulalv/product/dto/ProductCreateRequest.java M hl-product-service/src/main/java/com/hulalv/product/dto/ProductSaveRequest.java M hl-product-service/src/main/java/com/hulalv/product/dto/ProductUpdateRequest.java M hl-product-service/src/main/java/com/hulalv/product/entity/Product.java M hl-product-service/src/main/java/com/hulalv/product/service/ProductService.java M hl-product-service/src/main/java/com/hulalv/product/vo/MpProductListVO.java M hl-product-service/src/main/java/com/hulalv/product/vo/ProductListVO.java M hl-product-service/src/main/java/com/hulalv/product/vo/ProductVO.java ```