changelog: 0a38703 - feat: 路径图环形布局 + 定制产品详情完整返回 + 手机号查定制产品
这个提交包含在:
父节点
057e1a57e7
当前提交
2b4213e0f4
文件差异内容过多而无法显示
加载差异
@ -4839,7 +4839,7 @@
|
|||||||
"行程管理"
|
"行程管理"
|
||||||
],
|
],
|
||||||
"summary": "添加行程节点",
|
"summary": "添加行程节点",
|
||||||
"description": "在指定天添加一个行程节点。节点是行程的最小单元,可关联资源服务中的景区、酒店、活动等。\n\n**节点类型**:TRANSPORT(交通)/SCENIC(景区)/RESTAURANT(餐厅)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)\n\n**CUSTOM 定制产品特有**:可通过 familyIds 指定节点所属的家庭分组,实现按家庭分配行程。\n新建节点自动追加到当天最后位置,可通过排序接口调整顺序。\n\n**关联字典**:\n- city(城市,资源面板筛选用):用于在添加节点时按城市筛选可选资源",
|
"description": "在指定天添加一个行程节点。节点是行程的最小单元,可关联资源服务中的景区、酒店、活动等。\n\n**节点类型**:TRANSPORT(交通)/SCENIC(景区)/RESTAURANT(餐厅)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)/SERVICE(服务)/NOTE(备注)\n\n**CUSTOM 定制产品特有**:可通过 familyIds 指定节点所属的家庭分组,实现按家庭分配行程。\n新建节点自动追加到当天最后位置,可通过排序接口调整顺序。\n\n**关联字典**:\n- city(城市,资源面板筛选用):用于在添加节点时按城市筛选可选资源",
|
||||||
"operationId": "createNodeUsingPOST",
|
"operationId": "createNodeUsingPOST",
|
||||||
"consumes": [
|
"consumes": [
|
||||||
"application/json"
|
"application/json"
|
||||||
@ -9688,6 +9688,10 @@
|
|||||||
"format": "int32",
|
"format": "int32",
|
||||||
"description": "儿童人数"
|
"description": "儿童人数"
|
||||||
},
|
},
|
||||||
|
"contactPhone": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "联系电话(定制产品)"
|
||||||
|
},
|
||||||
"costItems": {
|
"costItems": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"description": "成本项列表",
|
"description": "成本项列表",
|
||||||
@ -9725,6 +9729,10 @@
|
|||||||
"originalRef": "产品自定义费用项VO"
|
"originalRef": "产品自定义费用项VO"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"customerName": {
|
||||||
|
"type": "string",
|
||||||
|
"description": "客户姓名(定制产品)"
|
||||||
|
},
|
||||||
"customizerId": {
|
"customizerId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "定制师ID"
|
"description": "定制师ID"
|
||||||
@ -9733,6 +9741,11 @@
|
|||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "出发城市"
|
"description": "出发城市"
|
||||||
},
|
},
|
||||||
|
"departureDate": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "date",
|
||||||
|
"description": "出发日期(定制产品)"
|
||||||
|
},
|
||||||
"destinationCities": {
|
"destinationCities": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
"description": "途经城市列表(从行程节点资源去重提取)",
|
"description": "途经城市列表(从行程节点资源去重提取)",
|
||||||
@ -9839,11 +9852,18 @@
|
|||||||
},
|
},
|
||||||
"refundPolicyId": {
|
"refundPolicyId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "退款政策ID"
|
"description": "退款政策ID(已废弃,用refundPolicyIds替代)"
|
||||||
|
},
|
||||||
|
"refundPolicyIds": {
|
||||||
|
"type": "object",
|
||||||
|
"description": "退款政策映射(按退款类型绑定不同政策)。key=退款类型(FULL/DEPOSIT/BALANCE), value=政策ID",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"refundPolicyName": {
|
"refundPolicyName": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "退款政策名称"
|
"description": "退款政策名称(已废弃)"
|
||||||
},
|
},
|
||||||
"routeMapUrl": {
|
"routeMapUrl": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
@ -10163,6 +10183,11 @@
|
|||||||
"example": 1,
|
"example": 1,
|
||||||
"description": "儿童人数"
|
"description": "儿童人数"
|
||||||
},
|
},
|
||||||
|
"contactPhone": {
|
||||||
|
"type": "string",
|
||||||
|
"example": 13800138000,
|
||||||
|
"description": "联系电话(定制产品)"
|
||||||
|
},
|
||||||
"coverImageUrl": {
|
"coverImageUrl": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "https://oss.example.com/cover.jpg",
|
"example": "https://oss.example.com/cover.jpg",
|
||||||
@ -10178,6 +10203,11 @@
|
|||||||
"example": "带你体验最地道的丽江风情",
|
"example": "带你体验最地道的丽江风情",
|
||||||
"description": "创作者寄语"
|
"description": "创作者寄语"
|
||||||
},
|
},
|
||||||
|
"customerName": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "张三",
|
||||||
|
"description": "客户姓名(定制产品)"
|
||||||
|
},
|
||||||
"customizerId": {
|
"customizerId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": 1893012345678901234,
|
"example": 1893012345678901234,
|
||||||
@ -10188,6 +10218,12 @@
|
|||||||
"example": "昆明",
|
"example": "昆明",
|
||||||
"description": "出发城市"
|
"description": "出发城市"
|
||||||
},
|
},
|
||||||
|
"departureDate": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "date",
|
||||||
|
"example": "2026-07-01",
|
||||||
|
"description": "出发日期(定制产品)"
|
||||||
|
},
|
||||||
"destinationCity": {
|
"destinationCity": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "丽江",
|
"example": "丽江",
|
||||||
@ -10264,7 +10300,18 @@
|
|||||||
"refundPolicyId": {
|
"refundPolicyId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": 1893012345678901234,
|
"example": 1893012345678901234,
|
||||||
"description": "退款政策ID(关联退款政策模板)"
|
"description": "退款政策ID(已废弃,用refundPolicyIds替代)"
|
||||||
|
},
|
||||||
|
"refundPolicyIds": {
|
||||||
|
"type": "object",
|
||||||
|
"example": {
|
||||||
|
"FULL": "1893012345678901234",
|
||||||
|
"DEPOSIT": "1893012345678901235"
|
||||||
|
},
|
||||||
|
"description": "退款政策映射(按退款类型绑定不同政策)。key=退款类型(FULL/DEPOSIT/BALANCE), value=政策ID",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"seasons": {
|
"seasons": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
@ -10900,6 +10947,11 @@
|
|||||||
"example": 1,
|
"example": 1,
|
||||||
"description": "儿童人数"
|
"description": "儿童人数"
|
||||||
},
|
},
|
||||||
|
"contactPhone": {
|
||||||
|
"type": "string",
|
||||||
|
"example": 13800138000,
|
||||||
|
"description": "联系电话(定制产品)"
|
||||||
|
},
|
||||||
"creatorAvatarUrl": {
|
"creatorAvatarUrl": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "https://oss.example.com/avatar.jpg",
|
"example": "https://oss.example.com/avatar.jpg",
|
||||||
@ -10910,6 +10962,11 @@
|
|||||||
"example": "带你体验最地道的丽江风情",
|
"example": "带你体验最地道的丽江风情",
|
||||||
"description": "创作者寄语"
|
"description": "创作者寄语"
|
||||||
},
|
},
|
||||||
|
"customerName": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "张三",
|
||||||
|
"description": "客户姓名(定制产品)"
|
||||||
|
},
|
||||||
"customizerId": {
|
"customizerId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": 1893012345678901234,
|
"example": 1893012345678901234,
|
||||||
@ -10920,6 +10977,12 @@
|
|||||||
"example": "昆明",
|
"example": "昆明",
|
||||||
"description": "出发城市"
|
"description": "出发城市"
|
||||||
},
|
},
|
||||||
|
"departureDate": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "date",
|
||||||
|
"example": "2026-07-01",
|
||||||
|
"description": "出发日期(定制产品)"
|
||||||
|
},
|
||||||
"destinationCity": {
|
"destinationCity": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "丽江",
|
"example": "丽江",
|
||||||
@ -10985,7 +11048,18 @@
|
|||||||
"refundPolicyId": {
|
"refundPolicyId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": 1893012345678901234,
|
"example": 1893012345678901234,
|
||||||
"description": "退款政策ID(关联退款政策模板)"
|
"description": "退款政策ID(已废弃,用refundPolicyIds替代)"
|
||||||
|
},
|
||||||
|
"refundPolicyIds": {
|
||||||
|
"type": "object",
|
||||||
|
"example": {
|
||||||
|
"FULL": "1893012345678901234",
|
||||||
|
"DEPOSIT": "1893012345678901235"
|
||||||
|
},
|
||||||
|
"description": "退款政策映射(按退款类型绑定不同政策)。key=退款类型(FULL/DEPOSIT/BALANCE), value=政策ID",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"seasons": {
|
"seasons": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
@ -11200,7 +11274,7 @@
|
|||||||
"nodeType": {
|
"nodeType": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "SCENIC",
|
"example": "SCENIC",
|
||||||
"description": "节点类型:TRANSPORT(交通)/SCENIC(景区)/RESTAURANT(餐厅)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)"
|
"description": "节点类型:TRANSPORT(交通)/SCENIC(景区)/RESTAURANT(餐厅)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)/SERVICE(服务)/NOTE(备注)"
|
||||||
},
|
},
|
||||||
"quantity": {
|
"quantity": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
@ -12326,6 +12400,11 @@
|
|||||||
"example": 1,
|
"example": 1,
|
||||||
"description": "儿童人数"
|
"description": "儿童人数"
|
||||||
},
|
},
|
||||||
|
"contactPhone": {
|
||||||
|
"type": "string",
|
||||||
|
"example": 13800138000,
|
||||||
|
"description": "联系电话(定制产品)"
|
||||||
|
},
|
||||||
"creatorAvatarUrl": {
|
"creatorAvatarUrl": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "https://oss.example.com/avatar.jpg",
|
"example": "https://oss.example.com/avatar.jpg",
|
||||||
@ -12336,6 +12415,11 @@
|
|||||||
"example": "带你体验最地道的丽江风情",
|
"example": "带你体验最地道的丽江风情",
|
||||||
"description": "创作者寄语"
|
"description": "创作者寄语"
|
||||||
},
|
},
|
||||||
|
"customerName": {
|
||||||
|
"type": "string",
|
||||||
|
"example": "张三",
|
||||||
|
"description": "客户姓名(定制产品)"
|
||||||
|
},
|
||||||
"customizerId": {
|
"customizerId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": 1893012345678901234,
|
"example": 1893012345678901234,
|
||||||
@ -12346,6 +12430,12 @@
|
|||||||
"example": "昆明",
|
"example": "昆明",
|
||||||
"description": "出发城市"
|
"description": "出发城市"
|
||||||
},
|
},
|
||||||
|
"departureDate": {
|
||||||
|
"type": "string",
|
||||||
|
"format": "date",
|
||||||
|
"example": "2026-07-01",
|
||||||
|
"description": "出发日期(定制产品)"
|
||||||
|
},
|
||||||
"destinationCity": {
|
"destinationCity": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "丽江",
|
"example": "丽江",
|
||||||
@ -12411,7 +12501,18 @@
|
|||||||
"refundPolicyId": {
|
"refundPolicyId": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": 1893012345678901234,
|
"example": 1893012345678901234,
|
||||||
"description": "退款政策ID(关联退款政策模板)"
|
"description": "退款政策ID(已废弃,用refundPolicyIds替代)"
|
||||||
|
},
|
||||||
|
"refundPolicyIds": {
|
||||||
|
"type": "object",
|
||||||
|
"example": {
|
||||||
|
"FULL": "1893012345678901234",
|
||||||
|
"DEPOSIT": "1893012345678901235"
|
||||||
|
},
|
||||||
|
"description": "退款政策映射(按退款类型绑定不同政策)。key=退款类型(FULL/DEPOSIT/BALANCE), value=政策ID",
|
||||||
|
"additionalProperties": {
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"seasons": {
|
"seasons": {
|
||||||
"type": "array",
|
"type": "array",
|
||||||
@ -12617,7 +12718,7 @@
|
|||||||
"nodeType": {
|
"nodeType": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"example": "SCENIC",
|
"example": "SCENIC",
|
||||||
"description": "节点类型:TRANSPORT(交通)/SCENIC(景区)/RESTAURANT(餐厅)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)"
|
"description": "节点类型:TRANSPORT(交通)/SCENIC(景区)/RESTAURANT(餐厅)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)/SERVICE(服务)/NOTE(备注)"
|
||||||
},
|
},
|
||||||
"quantity": {
|
"quantity": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
@ -14696,7 +14797,7 @@
|
|||||||
},
|
},
|
||||||
"nodeType": {
|
"nodeType": {
|
||||||
"type": "string",
|
"type": "string",
|
||||||
"description": "节点类型:TRANSPORT(交通)/SCENIC(景区)/RESTAURANT(餐厅)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)"
|
"description": "节点类型:TRANSPORT(交通)/SCENIC(景区)/RESTAURANT(餐厅)/ACTIVITY(活动)/PHOTOGRAPHY(摄影)/HOTEL(酒店)/FREE(自由活动)/CUSTOM(自定义)/SERVICE(服务)/NOTE(备注)"
|
||||||
},
|
},
|
||||||
"quantity": {
|
"quantity": {
|
||||||
"type": "integer",
|
"type": "integer",
|
||||||
|
|||||||
@ -0,0 +1,69 @@
|
|||||||
|
# 接口变更记录 — 2026-03-19 15:32
|
||||||
|
|
||||||
|
> **提交** `0a38703` · **作者** wx · **时间** 2026-03-19 15:32:23 +0800
|
||||||
|
>
|
||||||
|
> feat: 路径图环形布局 + 定制产品详情完整返回 + 手机号查定制产品
|
||||||
|
|
||||||
|
## 变更总览
|
||||||
|
|
||||||
|
- **产品服务**
|
||||||
|
- InternalMpProduct (+1)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 产品服务
|
||||||
|
|
||||||
|
### InternalMpProduct
|
||||||
|
|
||||||
|
> 📖 **接口文档**: [http://192.168.100.236:8085/doc.html](http://192.168.100.236:8085/doc.html) → 标签 **「【内部接口】小程序产品(Feign调用)」**
|
||||||
|
|
||||||
|
### 🆕 `GET` /internal/mp/product/custom-by-phone — 按联系电话查询定制产品列表
|
||||||
|
|
||||||
|
> 根据手机号查询已完成(COMPLETED/ORDERED)的定制产品。
|
||||||
|
|
||||||
|
**参数**
|
||||||
|
|
||||||
|
- `phone` (`String`) — 查询参数
|
||||||
|
|
||||||
|
**响应** `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=已下单
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<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/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/service/ProductService.java
|
||||||
|
M hl-product-service/src/main/java/com/hulalv/product/service/RouteMapGenerator.java
|
||||||
|
M hl-product-service/src/main/java/com/hulalv/product/service/RouteMapService.java
|
||||||
|
```
|
||||||
|
</details>
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户