# 接口变更记录 — 2026-04-14 10:25 > **提交** `36079720` · **作者** wx · **时间** 2026-04-14 10:18:01 +0800 > > fix(product-v2): 清理未使用注入+重复import ## 变更总览 - **hl-product-service-v2** - AdminProduct (改27) - AdminProductLine (改2) - Formula (改15) - MpProduct (改6) - MpProductLine (改2) --- ## hl-product-service-v2 ### AdminProduct ### ✏️ `PUT` /admin/product/item/{id}/itinerary — Step2 行程整体保存 - 参数: id(Long) → id(Long) ### ✏️ `POST` /admin/product/item/{id}/itinerary/day — Step2 增加一天 - 参数: id(Long) → id(Long) ### ✏️ `DELETE` /admin/product/item/{id}/itinerary/day/{dayNumber} — Step2 删除一天 - 参数: id(Long), dayNumber(Integer) → id(Long), dayNumber(Integer) ### ✏️ `PUT` /admin/product/item/{id}/route — Step3 路线与备品保存 - 参数: id(Long) → id(Long) ### ✏️ `GET` /admin/product/item/{id}/price-calendar — Step4 查询价格日历 - 参数: id(Long) → id(Long) ### ✏️ `GET` /admin/product/item/{id}/schedule/list — Step4 班期列表 - 参数: id(Long) → id(Long) ### ✏️ `POST` /admin/product/item/{id}/price-calendar/batch — Step4 价格日历批量设置 - 参数: id(Long) → id(Long) ### ✏️ `DELETE` /admin/product/item/{id}/price-calendar — Step4 价格日历删除 - 参数: id(Long) → id(Long) ### ✏️ `POST` /admin/product/item/{id}/schedule — Step4 创建班期 - 参数: id(Long) → id(Long) ### ✏️ `DELETE` /admin/product/item/{id}/schedule/{scheduleId} — Step4 删除班期 - 参数: id(Long), scheduleId(Long) → id(Long), scheduleId(Long) ### ✏️ `PUT` /admin/product/item/{id}/schedule — Step4 修改班期 - 参数: id(Long) → id(Long) ### ✏️ `POST` /admin/product/item/{id}/schedule/batch-create — Step4 班期批量创建 - 参数: id(Long) → id(Long) ### ✏️ `POST` /admin/product/item/{id}/schedule/{scheduleId}/cancel — Step4 取消班期 - 参数: id(Long), scheduleId(Long) → id(Long), scheduleId(Long) ### ✏️ `GET` /admin/product/item/{id}/schedule/team — 班期团队查询 - 参数: id(Long) → id(Long) ### ✏️ `PUT` /admin/product/item/{id}/schedule/team — 班期团队保存 - 参数: id(Long) → id(Long) ### ✏️ `GET` /admin/product/item/{id}/suggest-price — 建议售价 - 参数: id(Long), departureDate(String), tierSeq(Integer) → id(Long), departureDate(String), tierSeq(Integer) ### ✏️ `POST` /admin/product/item/{id}/quote — 报价计算 - 参数: id(Long) → id(Long) ### ✏️ `PUT` /admin/product/item/{id}/supplement — Step5 补充信息保存 - 参数: id(Long) → id(Long) ### ✏️ `GET` /admin/product/item/{id}/calculate-mileage — 计算行程总里程 - 参数: id(Long) → id(Long) ### ✏️ `GET` /admin/product/item/{id} — 产品详情 - 参数: id(Long) → id(Long) ### ✏️ `DELETE` /admin/product/item/{id} — 删除产品 - 参数: id(Long) → id(Long) ### ✏️ `GET` /admin/product/item/{id}/operation-logs — 产品操作记录 - 参数: id(Long) → id(Long) ### ✏️ `POST` /admin/product/item/{id}/action — 产品状态变更 - 参数: id(Long) → id(Long) ### ✏️ `POST` /admin/product/item/{id}/copy — 复制产品 - 参数: id(Long) → id(Long) ### ✏️ `PUT` /admin/product/item/{id}/transfer — 转让产品 - 参数: id(Long) → id(Long) ### ✏️ `GET` /admin/product/item/{id}/validate-publish — 上架预检 - 参数: id(Long) → id(Long) ### ✏️ `GET` /admin/product/item/{id}/fee-deduction-preview — 费用推导预览 - 参数: id(Long) → id(Long) ### AdminProductLine ### ✏️ `GET` /admin/product/line/{id} — 产品线详情 - 参数: id(Long) → id(Long) ### ✏️ `DELETE` /admin/product/line/{id} — 删除产品线 - 参数: id(Long) → id(Long) ### Formula ### ✏️ `GET` /admin/product/formula/group/list — 公式组列表 - 参数: productType(String) → productType(String) ### ✏️ `GET` /admin/product/formula/group/{groupId} — 公式组详情 - 参数: groupId(Long) → groupId(Long) ### ✏️ `PUT` /admin/product/formula/group/{groupId} — 更新公式组 - 参数: groupId(Long) → groupId(Long) ### ✏️ `PUT` /admin/product/formula/group/{groupId}/activate — 激活公式组 - 参数: groupId(Long) → groupId(Long) ### ✏️ `DELETE` /admin/product/formula/group/{groupId} — 删除公式组 - 参数: groupId(Long) → groupId(Long) ### ✏️ `GET` /admin/product/formula/group/{groupId}/steps — 公式步骤列表 - 参数: groupId(Long) → groupId(Long) ### ✏️ `GET` /admin/product/formula/step/{formulaId} — 公式步骤详情 - 参数: formulaId(Long) → formulaId(Long) ### ✏️ `PUT` /admin/product/formula/step/{formulaId} — 更新公式步骤 - 参数: formulaId(Long) → formulaId(Long) ### ✏️ `PUT` /admin/product/formula/step/{formulaId}/toggle — 启用/禁用公式步骤 - 参数: formulaId(Long) → formulaId(Long) ### ✏️ `DELETE` /admin/product/formula/step/{formulaId} — 删除公式步骤 - 参数: formulaId(Long) → formulaId(Long) ### ✏️ `GET` /admin/product/formula/step/{formulaId}/versions — 公式步骤版本历史 - 参数: formulaId(Long) → formulaId(Long) ### ✏️ `PUT` /admin/product/formula/step/{formulaId}/rollback/{versionNum} — 回滚公式步骤到指定版本 - 参数: formulaId(Long), versionNum(Integer) → formulaId(Long), versionNum(Integer) ### ✏️ `GET` /admin/product/formula/var/list — 公式变量列表 - 参数: category(String) → category(String) ### ✏️ `PUT` /admin/product/formula/var/{varId} — 更新公式变量 - 参数: varId(Long) → varId(Long) ### ✏️ `DELETE` /admin/product/formula/var/{varId} — 删除公式变量 - 参数: varId(Long) → varId(Long) ### MpProduct ### ✏️ `GET` /mp/product/{id} — 产品详情 - 参数: id(Long) → id(Long) ### ✏️ `GET` /mp/product/{id}/price-calendar — 价格日历 - 参数: id(Long) → id(Long) ### ✏️ `GET` /mp/product/{id}/schedules — 班期列表 - 参数: id(Long) → id(Long) ### ✏️ `POST` /mp/product/{id}/quote — C端报价 - 参数: id(Long) → id(Long) ### ✏️ `GET` /mp/product/compare — 产品对比 - 参数: ids(String) → ids(String) ### ✏️ `GET` /mp/product/{id}/tier-compare — 档位对比 - 参数: id(Long) → id(Long) ### MpProductLine ### ✏️ `GET` /mp/product-line/list — 产品线列表 - 参数: season(String) → season(String) ### ✏️ `GET` /mp/product-line/{lineId}/products — 产品线下产品列表 - 参数: lineId(Long) → lineId(Long) ---
📁 全部变更文件 (点击展开) ``` M hl-product-service-v2/src/main/java/com/hulalv/controller/admin/AdminProductController.java M hl-product-service-v2/src/main/java/com/hulalv/controller/admin/AdminProductLineController.java M hl-product-service-v2/src/main/java/com/hulalv/controller/admin/FormulaController.java M hl-product-service-v2/src/main/java/com/hulalv/controller/mp/MpProductController.java M hl-product-service-v2/src/main/java/com/hulalv/controller/mp/MpProductLineController.java ```