feat: 产品v2 2026-04-14变更汇总(新增接口+bug修复+模块搬迁)
这个提交包含在:
父节点
ed557beab5
当前提交
1750dc7dac
@ -0,0 +1,95 @@
|
||||
# 产品v2 - 今日变更汇总 (2026-04-14)
|
||||
|
||||
**日期**: 2026-04-14
|
||||
**服务**: product-service-v2
|
||||
**类型**: 新增接口 + bug修复 + 模块搬迁
|
||||
|
||||
---
|
||||
|
||||
## 一、新增接口
|
||||
|
||||
### 1. 计算行程总里程
|
||||
- `GET /admin/product/item/{productId}/calculate-mileage`
|
||||
- 根据行程途经点调用高德驾车路线API自动计算里程(km)
|
||||
- 返回: `{"code":200, "data": 690.2}`
|
||||
- 前端建议: Step3页面提供"自动计算"按钮调此接口填充总里程
|
||||
|
||||
### 2. 温馨提示管理 `/admin/product/warm-tips/**`
|
||||
| 方法 | 路径 | 说明 |
|
||||
|------|------|------|
|
||||
| GET | /list | 全部列表(含禁用) |
|
||||
| GET | /enabled | 启用的列表(下拉用) |
|
||||
| GET | /{tipsId} | 详情 |
|
||||
| POST | / | 创建 |
|
||||
| PUT | /{tipsId} | 修改 |
|
||||
| DELETE | /{tipsId} | 删除(软删) |
|
||||
| PUT | /{tipsId}/toggle?enabled=true/false | 启用/禁用 |
|
||||
|
||||
### 3. 预订条款管理 `/admin/product/booking-terms/**`
|
||||
接口结构同温馨提示,字段: termsId/termsName/content/enabled/remark
|
||||
|
||||
### 4. 报价公式管理 `/admin/product/formula/**`
|
||||
| 方法 | 路径 | 说明 |
|
||||
|------|------|------|
|
||||
| GET | /group/list?productType= | 公式组列表 |
|
||||
| GET | /group/{groupId} | 公式组详情 |
|
||||
| POST | /group | 创建公式组 |
|
||||
| PUT | /group/{groupId} | 更新公式组 |
|
||||
| PUT | /group/{groupId}/activate | 激活公式组 |
|
||||
| DELETE | /group/{groupId} | 删除公式组 |
|
||||
| GET | /group/{groupId}/steps | 步骤列表 |
|
||||
| GET | /step/{formulaId} | 步骤详情 |
|
||||
| POST | /step | 创建步骤 |
|
||||
| PUT | /step/{formulaId} | 更新步骤 |
|
||||
| PUT | /step/{formulaId}/toggle | 启用/禁用步骤 |
|
||||
| DELETE | /step/{formulaId} | 删除步骤 |
|
||||
| GET | /step/{formulaId}/versions | 版本历史 |
|
||||
| PUT | /step/{formulaId}/rollback/{versionNum} | 回滚 |
|
||||
| POST | /test | 测试公式执行 |
|
||||
| GET | /var/list?category= | 变量列表 |
|
||||
| POST | /var | 创建变量 |
|
||||
| PUT | /var/{varId} | 更新变量 |
|
||||
| DELETE | /var/{varId} | 删除变量 |
|
||||
|
||||
**注意**: 公式相关RespVO中ID字段类型为Long(不是String)
|
||||
|
||||
---
|
||||
|
||||
## 二、Bug修复
|
||||
|
||||
### 1. 产品详情routeInfo返回null (已修)
|
||||
- 原因: SQL返回扁平字段(totalMileage/routeDescription/routeMapUrl),VO是嵌套对象,BeanUtil无法映射
|
||||
- 修复: 手动组装routeInfo/supplement/crowdBenefit嵌套对象
|
||||
|
||||
### 2. 行程子数据返回多余审计字段 (已修)
|
||||
- 原因: nodes/hotels/routePoints直接返回DO对象,包含createTime/updatedBy等
|
||||
- 修复: 返回前去掉BaseDO字段,JSON字段(images/extraData/photoUrls)正确反序列化
|
||||
|
||||
### 3. Step1创建时多个字段丢失 (已修)
|
||||
- 原因: doCreate方法只set了name/productType/lineId/tripDays,漏了subtitle/category/introduction/seasons/carouselImages等
|
||||
- 修复: 补全全部字段
|
||||
|
||||
### 4. 行程保存事务不生效 (已修)
|
||||
- 原因: saveItinerary()自调用doSaveItinerary()绕过AOP代理
|
||||
- 修复: @Lazy setter注入自身代理
|
||||
|
||||
---
|
||||
|
||||
## 三、前端注意事项
|
||||
|
||||
### Step1 基础信息
|
||||
- `seasons`和`carouselImages`现在能正常保存和返回了
|
||||
- `balanceDueDays`(尾款截止天数)字段**不需要展示**,尾款在行程中由领队收取,前端隐藏"尾款须在出发前N天付清"输入框
|
||||
|
||||
### Step2 行程编排
|
||||
- routePoints返回字段精简为: `id/resourceId/name/longitude/latitude/sortOrder` (无审计字段)
|
||||
- nodes的`images`和`extraData`已从JSON字符串反序列化为对象
|
||||
- days的`photoUrls`和`customFields`同样已反序列化
|
||||
|
||||
### Step3 路线与备品
|
||||
- `GET /{productId}/calculate-mileage` 可用于自动计算里程
|
||||
|
||||
### Step5 补充信息
|
||||
- 详情返回中`supplement`和`crowdBenefit`现在是嵌套对象(之前是null)
|
||||
- `supplement`包含: quickUnderstand/childExperience/growthGains/insuranceNotice/equipmentAdvice/refundPolicyIds/feeIgnoredTypes/vehicleModelIds
|
||||
- `crowdBenefit`包含: tips
|
||||
正在加载...
x
在新工单中引用
屏蔽一个用户