fix+feat: quote logic fix + tier description + routeSummary + guaranteeTemplateId
这个提交包含在:
父节点
9a8d5285e5
当前提交
00d40ae328
@ -0,0 +1,81 @@
|
|||||||
|
# 报价逻辑修复 + 档位描述字段
|
||||||
|
|
||||||
|
- **日期**: 2026-04-16
|
||||||
|
- **服务**: hl-product-service-v2
|
||||||
|
- **PR**: #638, #661
|
||||||
|
- **类型**: fix + feat
|
||||||
|
|
||||||
|
## 1. 报价逻辑修复(⚠️ 重要)
|
||||||
|
|
||||||
|
### 问题
|
||||||
|
|
||||||
|
报价接口把价格日历的每日价格逐天累加,导致总价 = 单价 × 人数 × 行程天数(错误)。
|
||||||
|
|
||||||
|
### 修复
|
||||||
|
|
||||||
|
取**出发日期当天的一口价** × 人数(和旧版一致)。
|
||||||
|
|
||||||
|
### 响应变更
|
||||||
|
|
||||||
|
`POST /admin/product/item/{id}/quote` 和 `POST /mp/product/{id}/quote`
|
||||||
|
|
||||||
|
**新增字段**:
|
||||||
|
|
||||||
|
| 字段 | 类型 | 说明 |
|
||||||
|
|------|------|------|
|
||||||
|
| `adultUnitPrice` | BigDecimal | 成人单价(出发日一口价) |
|
||||||
|
| `childUnitPrice` | BigDecimal | 儿童单价(出发日一口价) |
|
||||||
|
|
||||||
|
**删除字段**:
|
||||||
|
|
||||||
|
| 字段 | 说明 |
|
||||||
|
|------|------|
|
||||||
|
| `dailyDetails` | 不再返回每日明细(一口价不需要) |
|
||||||
|
|
||||||
|
**响应示例**:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"adultUnitPrice": 4999.0,
|
||||||
|
"childUnitPrice": 3499.0,
|
||||||
|
"totalAdultPrice": 9998.0,
|
||||||
|
"totalChildPrice": 3499.0,
|
||||||
|
"grandTotal": 13497.0
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
计算公式:`totalAdultPrice = adultUnitPrice × adultCount`
|
||||||
|
|
||||||
|
## 2. 档位描述字段
|
||||||
|
|
||||||
|
产品的 `tiers` JSON结构新增 `tierDescription` 字段。
|
||||||
|
|
||||||
|
**旧结构**:
|
||||||
|
```json
|
||||||
|
[{"tierSeq": 1, "tierName": "轻奢"}, {"tierSeq": 2, "tierName": "高端"}]
|
||||||
|
```
|
||||||
|
|
||||||
|
**新结构**:
|
||||||
|
```json
|
||||||
|
[
|
||||||
|
{"tierSeq": 1, "tierName": "轻奢", "tierDescription": "精选三星酒店,舒适出行"},
|
||||||
|
{"tierSeq": 2, "tierName": "高端", "tierDescription": "五星酒店+专车接送,尊享体验"}
|
||||||
|
]
|
||||||
|
```
|
||||||
|
|
||||||
|
后端纯JSON存取,无需改代码。前端在Step1基础信息的规格列表中,每个档位加一个描述输入框即可。
|
||||||
|
|
||||||
|
## 3. routeSummary 线路概览摘要
|
||||||
|
|
||||||
|
新增字段 `routeSummary`,保存行程(Step2)时自动生成。
|
||||||
|
|
||||||
|
格式:`{首天集合地}起止·全程约{总里程}公里·日均不超{日均最大里程取整百}公里`
|
||||||
|
|
||||||
|
示例:`海拉尔起止·全程约1200公里·日均不超400公里`
|
||||||
|
|
||||||
|
- 管理端详情:`routeInfo.routeSummary`
|
||||||
|
- 小程序详情:`routeSummary`
|
||||||
|
- `routeDescription`(线路描述)不再自动覆盖,完全由用户手动填写
|
||||||
|
|
||||||
|
## 4. guaranteeTemplateId 修复
|
||||||
|
|
||||||
|
Step5补充信息保存接口现在正确支持 `guaranteeTemplateId` 字段,详情也正确返回。
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户