changelog: 3f178a2 - feat: 小程序新增已完成定制产品查询接口(详情+列表)
这个提交包含在:
父节点
2b8795b085
当前提交
4add594089
@ -3485,8 +3485,8 @@
|
||||
"status": "ACTIVE"
|
||||
},
|
||||
{
|
||||
"value": "DINING",
|
||||
"label": "\u9910\u996e",
|
||||
"value": "RESTAURANT",
|
||||
"label": "\u9910\u5385",
|
||||
"sort": 3,
|
||||
"status": "ACTIVE"
|
||||
},
|
||||
|
||||
文件差异内容过多而无法显示
加载差异
@ -0,0 +1,197 @@
|
||||
# 接口变更记录 — 2026-03-19 11:11
|
||||
|
||||
> **提交** `3f178a2` · **作者** wx · **时间** 2026-03-19 11:11:36 +0800
|
||||
>
|
||||
> feat: 小程序新增已完成定制产品查询接口(详情+列表)
|
||||
|
||||
## 变更总览
|
||||
|
||||
- **产品服务**
|
||||
- InternalMpProduct (+2)
|
||||
- **小程序聚合服务**
|
||||
- MpCustomize (+2)
|
||||
- **订单服务**
|
||||
- InternalCustomize (+1)
|
||||
|
||||
---
|
||||
|
||||
## 产品服务
|
||||
|
||||
### InternalMpProduct
|
||||
|
||||
> 📖 **接口文档**: [http://192.168.100.236:8085/doc.html](http://192.168.100.236:8085/doc.html) → 标签 **「【内部接口】小程序产品(Feign调用)」**
|
||||
|
||||
### 🆕 `GET` /internal/mp/product/custom-completed/{productId} — 已完成的定制产品详情
|
||||
|
||||
> 根据产品ID查询已完成(COMPLETED/ORDERED)的定制产品详情。
|
||||
|
||||
**参数**
|
||||
|
||||
- `{productId}` (`Long`) — 路径参数
|
||||
|
||||
**响应** `Result<ProductVO>`
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `productId` | `String` | 产品ID |
|
||||
| `productNo` | `String` | 产品编号 |
|
||||
| `productType` | `String` | 产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团 |
|
||||
| `name` | `String` | 产品名称 |
|
||||
| `subtitle` | `String` | 副标题 |
|
||||
| `tripDays` | `Integer` | 行程天数 |
|
||||
| `tripNights` | `Integer` | 行程晚数 |
|
||||
| `departureCity` | `String` | 出发城市 |
|
||||
| `destinationCity` | `String` | 目的地城市 |
|
||||
| `destinationCities` | `List<String>` | 途经城市列表(从行程节点资源去重提取) |
|
||||
| `seasons` | `List<String>` | 适用季节列表(编码) |
|
||||
| `seasonLabels` | `List<String>` | 适用季节列表(中文) |
|
||||
| `isBooking` | `Boolean` | 是否预约产品 |
|
||||
| `paymentMode` | `String` | 支付模式:FULL=全款 DEPOSIT=定金+尾款 |
|
||||
| `adultCount` | `Integer` | 成人人数 |
|
||||
| `childCount` | `Integer` | 儿童人数 |
|
||||
| `youngChildCount` | `Integer` | 小童人数 |
|
||||
| `babyCount` | `Integer` | 婴儿人数 |
|
||||
| `minAdultPerOrder` | `Integer` | 每单最少成人数(null=默认1) |
|
||||
| `maxAdultPerOrder` | `Integer` | 每单最大成人数(null=不限) |
|
||||
| `maxChildPerOrder` | `Integer` | 每单最大儿童数(null=不限) |
|
||||
| `routeMapUrl` | `String` | 路径图URL(后端自动生成) |
|
||||
| `status` | `String` | 产品状态:DRAFT/PENDING_REVIEW/REVIEWED/REJECTED/PUBLISHED/UNPUBLISHED/COMPLETED |
|
||||
| `tags` | `List<String>` | 产品标签列表 |
|
||||
| `coverImageUrl` | `String` | 封面图URL |
|
||||
| `carouselImages` | `List<String>` | 轮播图列表 |
|
||||
| `carouselVideoUrl` | `String` | 轮播视频URL |
|
||||
| `folderId` | `String` | 所属文件夹ID |
|
||||
| `lineId` | `String` | 产品线ID |
|
||||
| `lineName` | `String` | 产品线名称 |
|
||||
| `creatorAvatarUrl` | `String` | 定制师头像URL |
|
||||
| `creatorIntro` | `String` | 创作者寄语 |
|
||||
| `groupChatQrUrl` | `String` | 群聊二维码URL |
|
||||
| `chatMessages` | `List<ChatMessageVO>` | 群聊消息列表 |
|
||||
| `showReview` | `Boolean` | 是否显示评价 |
|
||||
| `showChatGroup` | `Boolean` | 是否显示群聊入口 |
|
||||
| `showTripTime` | `Boolean` | 是否显示行程时间 |
|
||||
| `showTripDistance` | `Boolean` | 是否显示行程距离 |
|
||||
| `bookingTermsId` | `String` | 预订条款ID |
|
||||
| `bookingTermsName` | `String` | 预订条款名称 |
|
||||
| `bookingTermsContent` | `String` | 预订条款内容 |
|
||||
| `refundPolicyId` | `String` | 退款政策ID |
|
||||
| `refundPolicyName` | `String` | 退款政策名称 |
|
||||
| `warmTipsId` | `String` | 温馨提示ID |
|
||||
| `warmTipsName` | `String` | 温馨提示名称 |
|
||||
| `warmTipsContent` | `String` | 温馨提示内容 |
|
||||
| `customizerId` | `String` | 定制师ID |
|
||||
| `publishedAt` | `LocalDateTime` | 发布时间 |
|
||||
| `sortOrder` | `Integer` | 排序序号 |
|
||||
| `teamExperienceYears` | `Integer` | 团队经验年数 |
|
||||
| `lineSubtitle` | `String` | 产品线副标题 |
|
||||
| `createBy` | `String` | 创建人ID |
|
||||
| `mchId` | `String` | 商户号 |
|
||||
| `groupRoomId` | `String` | 企微群聊ID(用于会话存档展示群消息) |
|
||||
| `updateBy` | `String` | 更新人ID |
|
||||
| `createTime` | `LocalDateTime` | 创建时间 |
|
||||
| `updateTime` | `LocalDateTime` | 更新时间 |
|
||||
| `startPrice` | `BigDecimal` | 起步价:未来一年价格日历中最低成人售价 |
|
||||
| `itineraryDays` | `List<ItineraryDayVO>` | 行程天列表 |
|
||||
| `pricing` | `ProductPricingVO` | 定价配置 |
|
||||
| `costItems` | `List<ProductCostItemVO>` | 成本项列表 |
|
||||
| `customFees` | `List<ProductCustomFeeVO>` | 自定义费用项列表 |
|
||||
| `suppliesList` | `List<ProductSuppliesVO>` | 物资列表 |
|
||||
| `staffConfigs` | `List<ProductStaffConfigVO>` | 人员配置列表(定制产品) |
|
||||
| `families` | `List<ProductFamilyVO>` | 家庭分组列表(定制产品) |
|
||||
| `benefitsDescription` | `List<BenefitGroupVO>` | 权益说明(静态,所有产品相同) |
|
||||
|
||||
**关联字典**
|
||||
|
||||
- `product_type`(产品类型):CUSTOM=定制产品
|
||||
- `product_status`(产品状态):COMPLETED=已完成, ORDERED=已下单
|
||||
|
||||
### 🆕 `POST` /internal/mp/product/custom-completed/batch — 已完成的定制产品列表
|
||||
|
||||
> 根据产品ID列表批量查询已完成(COMPLETED/ORDERED)的定制产品。
|
||||
|
||||
**响应** `Result<List<MpProductListVO>>`
|
||||
|
||||
| 字段 | 类型 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| `productId` | `String` | 产品ID |
|
||||
| `productType` | `String` | 产品类型:CORE=核心产品 ROUTE=线路产品 CUSTOM=定制产品 GROUP=小蒙马拼团 |
|
||||
| `name` | `String` | 产品名称 |
|
||||
| `subtitle` | `String` | 副标题 |
|
||||
| `tripDays` | `Integer` | 行程天数 |
|
||||
| `tripNights` | `Integer` | 行程晚数 |
|
||||
| `departureCity` | `String` | 出发城市 |
|
||||
| `destinationCity` | `String` | 目的地城市 |
|
||||
| `tags` | `List<String>` | 产品标签列表 |
|
||||
| `seasons` | `List<String>` | 适用季节列表(编码) |
|
||||
| `seasonLabels` | `List<String>` | 适用季节列表(中文) |
|
||||
| `coverImageUrl` | `String` | 封面图URL |
|
||||
| `lineName` | `String` | 产品线名称 |
|
||||
| `startPrice` | `BigDecimal` | 起步价(来自定价配置) |
|
||||
| `paymentMode` | `String` | 支付模式:FULL=全款 DEPOSIT=定金+尾款 |
|
||||
| `routeMapUrl` | `String` | 路径图URL |
|
||||
| `creatorAvatarUrl` | `String` | 定制师头像URL |
|
||||
|
||||
**关联字典**
|
||||
|
||||
- `product_type`(产品类型):CUSTOM=定制产品
|
||||
- `product_status`(产品状态):COMPLETED=已完成, ORDERED=已下单
|
||||
|
||||
---
|
||||
|
||||
## 小程序聚合服务
|
||||
|
||||
### MpCustomize
|
||||
|
||||
> 📖 **接口文档**: [http://192.168.100.236:8086/doc.html](http://192.168.100.236:8086/doc.html) → 标签 **「C端 - 定制需求接口」**
|
||||
|
||||
### 🆕 `GET` /mp/custom/product/{productId} — 查询已完成的定制产品详情
|
||||
|
||||
> 根据产品ID查询已完成(COMPLETED/ORDERED)的定制产品详情。
|
||||
|
||||
**参数**
|
||||
|
||||
- `{productId}` (`Long`) — 路径参数:定制产品ID
|
||||
|
||||
**响应** `Result<Map<String, Object>>`
|
||||
|
||||
### 🆕 `GET` /mp/custom/products — 我的已完成定制产品列表
|
||||
|
||||
> 查询当前用户所有已完成的定制产品列表。
|
||||
|
||||
**响应** `Result<List<Map<String, Object>>>`
|
||||
|
||||
---
|
||||
|
||||
## 订单服务
|
||||
|
||||
### InternalCustomize
|
||||
|
||||
> 📖 **接口文档**: [http://192.168.100.236:8084/doc.html](http://192.168.100.236:8084/doc.html) → 标签 **「【内部接口】小程序定制请求(Feign调用)」**
|
||||
|
||||
### 🆕 `GET` /internal/mp/customize/completed-product-ids — 用户已完成定制需求的产品ID列表
|
||||
|
||||
> 返回用户定制需求中已关联产品的productId列表(状态QUOTED/COMPLETED)。
|
||||
|
||||
**参数**
|
||||
|
||||
- `userId` (`Long`) — 查询参数:用户ID
|
||||
|
||||
**响应** `Result<List<Long>>`
|
||||
|
||||
---
|
||||
|
||||
<details>
|
||||
<summary>📁 全部变更文件 (点击展开)</summary>
|
||||
|
||||
```
|
||||
M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpCustomizeController.java
|
||||
M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpOrderFeignClient.java
|
||||
M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpOrderFeignFallbackFactory.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-order-service/src/main/java/com/hulalv/order/customize/controller/InternalCustomizeController.java
|
||||
M hl-order-service/src/main/java/com/hulalv/order/customize/service/CustomizeRequestService.java
|
||||
M hl-product-service/src/main/java/com/hulalv/product/controller/InternalMpProductController.java
|
||||
M hl-product-service/src/main/java/com/hulalv/product/service/ProductService.java
|
||||
```
|
||||
</details>
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户