hl-api-changelog/changelogs/2026-04/2026-04-13_1914_89b08620_feat_product-v2.md

25 KiB

接口变更记录 — 2026-04-13 19:14

提交 89b08620 · 作者 wx · 时间 2026-04-13 19:14:52 +0800

feat(product-v2): 搬迁报价公式+温馨提示+预订条款到v2

变更总览

  • hl-product-service-v2
    • 🆕 AdminBookingTerms (+7 接口)
    • 🆕 AdminWarmTips (+7 接口)
    • 🆕 Formula (+19 接口)

hl-product-service-v2

🆕 新增: AdminBookingTerms

📌 GET /admin/product/booking-terms/list — 预订条款列表

返回所有预订条款(含禁用),按创建时间倒序

响应 Result<List<BookingTermsRespVO>>

字段 类型 说明
termsId Long 预订条款ID
termsName String 条款名称
content String 条款内容(富文本)
enabled Boolean 是否启用
remark String 备注
createdBy Long 创建人ID
createdAt LocalDateTime 创建时间
updatedAt LocalDateTime 更新时间

📌 GET /admin/product/booking-terms/enabled — 启用的预订条款列表

仅返回启用状态的条款,供产品设计时选择

响应 Result<List<BookingTermsRespVO>>

字段 类型 说明
termsId Long 预订条款ID
termsName String 条款名称
content String 条款内容(富文本)
enabled Boolean 是否启用
remark String 备注
createdBy Long 创建人ID
createdAt LocalDateTime 创建时间
updatedAt LocalDateTime 更新时间

📌 GET /admin/product/booking-terms/{termsId} — 预订条款详情

参数

  • {termsId} (Long) — 路径参数预订条款ID

响应 Result<BookingTermsRespVO>

字段 类型 说明
termsId Long 预订条款ID
termsName String 条款名称
content String 条款内容(富文本)
enabled Boolean 是否启用
remark String 备注
createdBy Long 创建人ID
createdAt LocalDateTime 创建时间
updatedAt LocalDateTime 更新时间

📌 POST /admin/product/booking-terms — 创建预订条款

创建后默认启用

请求体 BookingTermsSaveReqVO

字段 类型 说明
termsName String 条款名称
content String 条款内容(富文本)
remark String 备注

响应 Result<BookingTermsRespVO>

字段 类型 说明
termsId Long 预订条款ID
termsName String 条款名称
content String 条款内容(富文本)
enabled Boolean 是否启用
remark String 备注
createdBy Long 创建人ID
createdAt LocalDateTime 创建时间
updatedAt LocalDateTime 更新时间

📌 PUT /admin/product/booking-terms/{termsId} — 修改预订条款

参数

  • {termsId} (Long) — 路径参数预订条款ID

请求体 BookingTermsSaveReqVO

字段 类型 说明
termsName String 条款名称
content String 条款内容(富文本)
remark String 备注

响应 Result<BookingTermsRespVO>

字段 类型 说明
termsId Long 预订条款ID
termsName String 条款名称
content String 条款内容(富文本)
enabled Boolean 是否启用
remark String 备注
createdBy Long 创建人ID
createdAt LocalDateTime 创建时间
updatedAt LocalDateTime 更新时间

📌 DELETE /admin/product/booking-terms/{termsId} — 删除预订条款

软删除,已绑定的产品不受影响

参数

  • {termsId} (Long) — 路径参数预订条款ID

响应 Result<Void>

📌 PUT /admin/product/booking-terms/{termsId}/toggle — 启用/禁用预订条款

禁用后不再出现在产品设计的可选列表中

参数

  • {termsId} (Long) — 路径参数预订条款ID
  • enabled (boolean) — 查询参数:是否启用

响应 Result<Void>

🆕 新增: AdminWarmTips

📌 GET /admin/product/warm-tips/list — 温馨提示列表

返回所有温馨提示(含禁用),按创建时间倒序

响应 Result<List<WarmTipsRespVO>>

字段 类型 说明
tipsId Long 温馨提示ID
tipsName String 提示名称
content String 提示内容(富文本)
enabled Boolean 是否启用
remark String 备注
createdBy Long 创建人ID
createdAt LocalDateTime 创建时间
updatedAt LocalDateTime 更新时间

📌 GET /admin/product/warm-tips/enabled — 启用的温馨提示列表

仅返回启用状态的提示,供产品设计时选择

响应 Result<List<WarmTipsRespVO>>

字段 类型 说明
tipsId Long 温馨提示ID
tipsName String 提示名称
content String 提示内容(富文本)
enabled Boolean 是否启用
remark String 备注
createdBy Long 创建人ID
createdAt LocalDateTime 创建时间
updatedAt LocalDateTime 更新时间

📌 GET /admin/product/warm-tips/{tipsId} — 温馨提示详情

参数

  • {tipsId} (Long) — 路径参数温馨提示ID

响应 Result<WarmTipsRespVO>

字段 类型 说明
tipsId Long 温馨提示ID
tipsName String 提示名称
content String 提示内容(富文本)
enabled Boolean 是否启用
remark String 备注
createdBy Long 创建人ID
createdAt LocalDateTime 创建时间
updatedAt LocalDateTime 更新时间

📌 POST /admin/product/warm-tips — 创建温馨提示

创建后默认启用

请求体 WarmTipsSaveReqVO

字段 类型 说明
tipsName String 提示名称
content String 提示内容(富文本)
remark String 备注

响应 Result<WarmTipsRespVO>

字段 类型 说明
tipsId Long 温馨提示ID
tipsName String 提示名称
content String 提示内容(富文本)
enabled Boolean 是否启用
remark String 备注
createdBy Long 创建人ID
createdAt LocalDateTime 创建时间
updatedAt LocalDateTime 更新时间

📌 PUT /admin/product/warm-tips/{tipsId} — 修改温馨提示

参数

  • {tipsId} (Long) — 路径参数温馨提示ID

请求体 WarmTipsSaveReqVO

字段 类型 说明
tipsName String 提示名称
content String 提示内容(富文本)
remark String 备注

响应 Result<WarmTipsRespVO>

字段 类型 说明
tipsId Long 温馨提示ID
tipsName String 提示名称
content String 提示内容(富文本)
enabled Boolean 是否启用
remark String 备注
createdBy Long 创建人ID
createdAt LocalDateTime 创建时间
updatedAt LocalDateTime 更新时间

📌 DELETE /admin/product/warm-tips/{tipsId} — 删除温馨提示

软删除,已绑定的产品不受影响

参数

  • {tipsId} (Long) — 路径参数温馨提示ID

响应 Result<Void>

📌 PUT /admin/product/warm-tips/{tipsId}/toggle — 启用/禁用温馨提示

禁用后不再出现在产品设计的可选列表中

参数

  • {tipsId} (Long) — 路径参数温馨提示ID
  • enabled (boolean) — 查询参数:是否启用

响应 Result<Void>

🆕 新增: Formula

📌 GET /admin/product/formula/group/list — 公式组列表

获取定价公式组列表,可按产品类型筛选。

参数

  • productType (String) — 查询参数

响应 Result<List<FormulaGroupRespVO>>

字段 类型 说明
groupId String 公式组ID
groupCode String 公式组编码
groupName String 公式组名称
productType String 适用产品类型
description String 描述
isActive Boolean 是否激活
version Integer 版本号
createTime LocalDateTime 创建时间
stepCount Integer 步骤数量

📌 GET /admin/product/formula/group/{groupId} — 公式组详情

参数

  • {groupId} (Long) — 路径参数

响应 Result<FormulaGroupRespVO>

字段 类型 说明
groupId String 公式组ID
groupCode String 公式组编码
groupName String 公式组名称
productType String 适用产品类型
description String 描述
isActive Boolean 是否激活
version Integer 版本号
createTime LocalDateTime 创建时间
stepCount Integer 步骤数量

📌 POST /admin/product/formula/group — 创建公式组

请求体 FormulaGroupSaveReqVO

字段 类型 说明
groupCode String 公式组编码
groupName String 公式组名称
productType String 适用产品类型(字典product_type: CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品)
description String 描述

响应 Result<FormulaGroupRespVO>

字段 类型 说明
groupId String 公式组ID
groupCode String 公式组编码
groupName String 公式组名称
productType String 适用产品类型
description String 描述
isActive Boolean 是否激活
version Integer 版本号
createTime LocalDateTime 创建时间
stepCount Integer 步骤数量

📌 PUT /admin/product/formula/group/{groupId} — 更新公式组

参数

  • {groupId} (Long) — 路径参数

请求体 FormulaGroupSaveReqVO

字段 类型 说明
groupCode String 公式组编码
groupName String 公式组名称
productType String 适用产品类型(字典product_type: CORE=核心产品, GROUP=小蒙马拼团, CUSTOM=定制产品, ROUTE=线路产品)
description String 描述

响应 Result<FormulaGroupRespVO>

字段 类型 说明
groupId String 公式组ID
groupCode String 公式组编码
groupName String 公式组名称
productType String 适用产品类型
description String 描述
isActive Boolean 是否激活
version Integer 版本号
createTime LocalDateTime 创建时间
stepCount Integer 步骤数量

📌 PUT /admin/product/formula/group/{groupId}/activate — 激活公式组

激活指定公式组,同时自动停用同产品类型下的其他公式组

参数

  • {groupId} (Long) — 路径参数

响应 Result<Void>

📌 DELETE /admin/product/formula/group/{groupId} — 删除公式组

已激活的公式组不能删除,需先激活其他公式组

参数

  • {groupId} (Long) — 路径参数

响应 Result<Void>

📌 GET /admin/product/formula/group/{groupId}/steps — 公式步骤列表

获取公式组下所有步骤,按执行顺序升序排列

参数

  • {groupId} (Long) — 路径参数

响应 Result<List<FormulaStepRespVO>>

字段 类型 说明
formulaId String 公式ID
groupId String 公式组ID
stepCode String 步骤编码
stepName String 步骤名称
executionOrder Integer 执行顺序
expression String 表达式
outputVar String 输出变量名
inputVars String 输入变量(逗号分隔)
description String 描述
isEnabled Boolean 是否启用
createTime LocalDateTime 创建时间
updateTime LocalDateTime 更新时间

📌 GET /admin/product/formula/step/{formulaId} — 公式步骤详情

参数

  • {formulaId} (Long) — 路径参数

响应 Result<FormulaStepRespVO>

字段 类型 说明
formulaId String 公式ID
groupId String 公式组ID
stepCode String 步骤编码
stepName String 步骤名称
executionOrder Integer 执行顺序
expression String 表达式
outputVar String 输出变量名
inputVars String 输入变量(逗号分隔)
description String 描述
isEnabled Boolean 是否启用
createTime LocalDateTime 创建时间
updateTime LocalDateTime 更新时间

📌 POST /admin/product/formula/step — 创建公式步骤

请求体 FormulaStepSaveReqVO

字段 类型 说明
groupId Long 公式组ID
stepCode String 步骤编码
stepName String 步骤名称
executionOrder Integer 执行顺序
expression String Aviator表达式支持数学运算、条件判断、内置函数;可引用前置步骤的输出变量和公式变量表中的变量
outputVar String 输出变量名
inputVars String 输入变量(逗号分隔)
description String 描述
changeNote String 变更说明

响应 Result<FormulaStepRespVO>

字段 类型 说明
formulaId String 公式ID
groupId String 公式组ID
stepCode String 步骤编码
stepName String 步骤名称
executionOrder Integer 执行顺序
expression String 表达式
outputVar String 输出变量名
inputVars String 输入变量(逗号分隔)
description String 描述
isEnabled Boolean 是否启用
createTime LocalDateTime 创建时间
updateTime LocalDateTime 更新时间

📌 PUT /admin/product/formula/step/{formulaId} — 更新公式步骤

更新时自动保存版本快照,可通过版本历史接口查看和回滚

参数

  • {formulaId} (Long) — 路径参数

请求体 FormulaStepSaveReqVO

字段 类型 说明
groupId Long 公式组ID
stepCode String 步骤编码
stepName String 步骤名称
executionOrder Integer 执行顺序
expression String Aviator表达式支持数学运算、条件判断、内置函数;可引用前置步骤的输出变量和公式变量表中的变量
outputVar String 输出变量名
inputVars String 输入变量(逗号分隔)
description String 描述
changeNote String 变更说明

响应 Result<FormulaStepRespVO>

字段 类型 说明
formulaId String 公式ID
groupId String 公式组ID
stepCode String 步骤编码
stepName String 步骤名称
executionOrder Integer 执行顺序
expression String 表达式
outputVar String 输出变量名
inputVars String 输入变量(逗号分隔)
description String 描述
isEnabled Boolean 是否启用
createTime LocalDateTime 创建时间
updateTime LocalDateTime 更新时间

📌 PUT /admin/product/formula/step/{formulaId}/toggle — 启用/禁用公式步骤

参数

  • {formulaId} (Long) — 路径参数

响应 Result<Void>

📌 DELETE /admin/product/formula/step/{formulaId} — 删除公式步骤

参数

  • {formulaId} (Long) — 路径参数

响应 Result<Void>

📌 GET /admin/product/formula/step/{formulaId}/versions — 公式步骤版本历史

按版本号倒序返回历史版本列表

参数

  • {formulaId} (Long) — 路径参数

响应 Result<List<FormulaVersionRespVO>>

字段 类型 说明
versionId String 版本ID
formulaId String 公式ID
versionNum Integer 版本号
expression String 表达式
changeNote String 变更说明
changedBy String 变更人ID
createTime LocalDateTime 创建时间

📌 PUT /admin/product/formula/step/{formulaId}/rollback/{versionNum} — 回滚公式步骤到指定版本

回滚前自动备份当前表达式

参数

  • {formulaId} (Long) — 路径参数
  • {versionNum} (Integer) — 路径参数

响应 Result<FormulaStepRespVO>

字段 类型 说明
formulaId String 公式ID
groupId String 公式组ID
stepCode String 步骤编码
stepName String 步骤名称
executionOrder Integer 执行顺序
expression String 表达式
outputVar String 输出变量名
inputVars String 输入变量(逗号分隔)
description String 描述
isEnabled Boolean 是否启用
createTime LocalDateTime 创建时间
updateTime LocalDateTime 更新时间

📌 POST /admin/product/formula/test — 测试公式执行

使用自定义变量值测试公式组的执行结果,不影响业务数据

请求体 FormulaTestReqVO

字段 类型 说明
groupId Long 公式组ID
variables Map<String, Object> 测试变量(变量名->值)

响应 Result<FormulaTestResultVO>

字段 类型 说明
success Boolean 是否成功
errorMessage String 错误信息
stepResults List<StepResult> 各步骤执行结果
finalVariables Map<String, Object> 最终变量表
totalTimeMs Long 总耗时(毫秒)
stepCode String 步骤编码
stepName String 步骤名称
outputVar String 输出变量名
outputValue Object 输出值
expression String 表达式
executionTimeMs Long 执行耗时(毫秒)
success Boolean 是否成功
errorMessage String 错误信息

📌 GET /admin/product/formula/var/list — 公式变量列表

获取公式变量列表,可按变量分类筛选INPUT/INTERMEDIATE/OUTPUT

参数

  • category (String) — 查询参数

响应 Result<List<FormulaVarRespVO>>

字段 类型 说明
varId String 变量ID
varName String 变量名
varType String 变量类型DECIMAL/INTEGER/BOOLEAN/STRING
category String 变量分类INPUT/INTERMEDIATE/OUTPUT
description String 描述
defaultValue String 默认值
productTypes List<String> 适用产品类型列表

📌 POST /admin/product/formula/var — 创建公式变量

请求体 FormulaVarSaveReqVO

字段 类型 说明
varName String 变量名
varType String 变量类型DECIMAL/INTEGER/BOOLEAN/STRING
category String 变量分类INPUT/INTERMEDIATE/OUTPUT
description String 描述
defaultValue String 默认值
productTypes List<String> 适用产品类型列表

响应 Result<FormulaVarRespVO>

字段 类型 说明
varId String 变量ID
varName String 变量名
varType String 变量类型DECIMAL/INTEGER/BOOLEAN/STRING
category String 变量分类INPUT/INTERMEDIATE/OUTPUT
description String 描述
defaultValue String 默认值
productTypes List<String> 适用产品类型列表

📌 PUT /admin/product/formula/var/{varId} — 更新公式变量

参数

  • {varId} (Long) — 路径参数

请求体 FormulaVarSaveReqVO

字段 类型 说明
varName String 变量名
varType String 变量类型DECIMAL/INTEGER/BOOLEAN/STRING
category String 变量分类INPUT/INTERMEDIATE/OUTPUT
description String 描述
defaultValue String 默认值
productTypes List<String> 适用产品类型列表

响应 Result<FormulaVarRespVO>

字段 类型 说明
varId String 变量ID
varName String 变量名
varType String 变量类型DECIMAL/INTEGER/BOOLEAN/STRING
category String 变量分类INPUT/INTERMEDIATE/OUTPUT
description String 描述
defaultValue String 默认值
productTypes List<String> 适用产品类型列表

📌 DELETE /admin/product/formula/var/{varId} — 删除公式变量

如果有公式步骤引用了该变量,删除后步骤执行时会报错

参数

  • {varId} (Long) — 路径参数

响应 Result<Void>


📁 全部变更文件 (点击展开)
M	hl-product-service-v2/pom.xml
A	hl-product-service-v2/src/main/java/com/hulalv/product/controller/admin/AdminBookingTermsController.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/controller/admin/AdminWarmTipsController.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/controller/admin/FormulaController.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/engine/AviatorCeil10Function.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/engine/AviatorMaxFunction.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/engine/AviatorSafeFunction.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/engine/AviatorSellPriceFunction.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/engine/FormulaEngine.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/engine/FormulaEngineConfig.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/engine/PricingContext.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/entity/BookingTermsDO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/entity/PricingFormulaDO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/entity/PricingFormulaGroupDO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/entity/PricingFormulaVarDO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/entity/PricingFormulaVersionDO.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/entity/WarmTipsDO.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/mapper/BookingTermsMapper.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/mapper/PricingFormulaGroupMapper.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/mapper/PricingFormulaMapper.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/mapper/PricingFormulaVarMapper.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/mapper/PricingFormulaVersionMapper.java
M	hl-product-service-v2/src/main/java/com/hulalv/product/mapper/WarmTipsMapper.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/service/admin/BookingTermsService.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/service/admin/FormulaGroupService.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/service/admin/FormulaStepService.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/service/admin/FormulaTestService.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/service/admin/FormulaVarService.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/service/admin/WarmTipsService.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/BookingTermsRespVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/BookingTermsSaveReqVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/WarmTipsRespVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/WarmTipsSaveReqVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/formula/FormulaGroupRespVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/formula/FormulaGroupSaveReqVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/formula/FormulaStepRespVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/formula/FormulaStepSaveReqVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/formula/FormulaTestReqVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/formula/FormulaTestResultVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/formula/FormulaVarRespVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/formula/FormulaVarSaveReqVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/product/vo/admin/formula/FormulaVersionRespVO.java