hl-api-changelog/changelogs/2026-04/2026-04-14_product-v2_daily_summary.md

3.7 KiB

产品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 基础信息

  • seasonscarouselImages现在能正常保存和返回了
  • balanceDueDays(尾款截止天数)字段不需要展示,尾款在行程中由领队收取,前端隐藏"尾款须在出发前N天付清"输入框

Step2 行程编排

  • routePoints返回字段精简为: id/resourceId/name/longitude/latitude/sortOrder (无审计字段)
  • nodes的imagesextraData已从JSON字符串反序列化为对象
  • days的photoUrlscustomFields同样已反序列化

Step3 路线与备品

  • GET /{productId}/calculate-mileage 可用于自动计算里程

Step5 补充信息

  • 详情返回中supplementcrowdBenefit现在是嵌套对象(之前是null)
  • supplement包含: quickUnderstand/childExperience/growthGains/insuranceNotice/equipmentAdvice/refundPolicyIds/feeIgnoredTypes/vehicleModelIds
  • crowdBenefit包含: tips