# 报价逻辑修复 + 档位描述字段 - **日期**: 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` 字段,详情也正确返回。