hl-api-changelog/changelogs/2026-04/2026-04-14_1124_cdad0c87_feat_product-v2.md

7.2 KiB

接口变更记录 — 2026-04-14 11:24

提交 cdad0c87 · 作者 wx · 时间 2026-04-14 11:00:15 +0800

feat(product-v2): 实现10个internal接口(VO返回) + order-v2 Feign改指v2

变更总览

  • hl-product-service-v2
    • AdminProduct (改1)
    • 🆕 InternalProduct (+6 接口)

hl-product-service-v2

AdminProduct

✏️ GET /admin/product/item/{id}/suggest-price — 建议售价

  • 返回类型: Result<Map<String, Object>>Result<ResourceSuggestPriceRespVO>
  • 🆕 新增响应类型 ResourceSuggestPriceRespVO

响应变更 ResourceSuggestPriceRespVO:

  • 🆕 adultPrice (BigDecimal) — 成人建议售价(含酒店)
  • 🆕 childPrice (BigDecimal) — 儿童建议售价(不含酒店)
  • 🆕 resourceCost (BigDecimal) — 资源成本(景区+活动+服务)
  • 🆕 hotelCost (BigDecimal) — 酒店成本
  • 🆕 suppliesCost (BigDecimal) — 备品成本
  • 🆕 extraCost (BigDecimal) — 额外成本
  • 🆕 tripDays (Integer) — 行程天数
  • 🆕 costDetails (List<Map<String, Object>>) — 成本明细列表

🆕 新增: InternalProduct

📌 GET /internal/product/internal/product

📌 GET /internal/product/{productId}/detail — 获取产品详情(内部)

不过滤状态,供order-service创建订单时获取快照。

参数

  • {productId} (Long) — 路径参数产品ID

响应 Result<InternalProductDetailVO>

字段 类型 说明
productId Long 产品ID
name String 产品名称
subtitle String 副标题
productType String 产品类型(CORE/GROUP/CUSTOM)
category String 产品分类(family/honeymoon/photography/experience/driving)
status String 产品状态(DRAFT/PUBLISHED等)
tripDays Integer 行程天数
tripNights Integer 行程晚数
coverImageUrl String 封面图URL
lineId Long 产品线ID
tiers Object 档位列表JSON
seasons Object 适用季节
tags Object 产品标签
carouselImages Object 轮播图JSON
itinerary List<Object> 行程天列表

📌 GET /internal/product/{productId}/simple-quote — 简单报价(内部)

从价格日历取售价乘以人数,返回各人群小计和总价。

参数

  • {productId} (Long) — 路径参数产品ID
  • childNeedBed (boolean) — 查询参数:儿童加床

响应 Result<InternalSimpleQuoteVO>

字段 类型 说明
adultPrice BigDecimal 成人单价
childPrice BigDecimal 儿童单价
toddlerPrice BigDecimal 小童单价
infantPrice BigDecimal 幼童单价
adultCount Integer 成人数量
childCount Integer 儿童数量
youngChildCount Integer 小童数量
babyCount Integer 幼童数量
adultTotal BigDecimal 成人小计
childTotal BigDecimal 儿童小计
toddlerTotal BigDecimal 小童小计
infantTotal BigDecimal 幼童小计
totalPrice BigDecimal 总价
paymentType String 支付方式(FULL/DEPOSIT)
depositRatio Integer 订金比例(%)
depositAmount BigDecimal 订金金额
stock Integer 剩余库存

📌 GET /internal/product/{productId}/automation-config — 获取自动化配置(内部)

供order-service创建订单时获取保险方案、合同配置和支付方式。

参数

  • {productId} (Long) — 路径参数产品ID

响应 Result<InternalAutomationConfigVO>

字段 类型 说明
insuranceSchemeId Long 保险方案ID
contractSchemeId Long 合同方案ID
bookingTermsId Long 预订条款ID
warmTipsId Long 温馨提示ID
paymentType String 支付方式(FULL/DEPOSIT)
depositRatio Integer 订金比例(%)
depositAmount BigDecimal 订金固定额

📌 GET /internal/product/batch/{batchId}/info — 获取班期信息(内部)

供order-service创建订单时获取班期快照。

参数

  • {batchId} (Long) — 路径参数班期ID

响应 Result<InternalBatchInfoVO>

字段 类型 说明
batchId Long 班期ID
productId Long 产品ID
batchNo String 班期编号
batchName String 班期名称
departureDate String 出发日期
endDate String 结束日期
enrollmentDeadline String 报名截止日
batchStatus String 班期状态(ENROLLING/CONFIRMED/FULL等)
maxParticipants Integer 最大参与人数
enrolledCount Integer 已报名人数
remainingSlots Integer 剩余名额
maxRooms Integer 最大房间数
bookedRooms Integer 已预订房间数
remainingRooms Integer 剩余房间数
adultPrice BigDecimal 成人价
childPrice BigDecimal 儿童价

📌 GET /internal/product/batch/{batchId}/quote — 班期报价(内部)

供order-service获取GROUP产品按人数/房间的报价。

参数

  • {batchId} (Long) — 路径参数班期ID

响应 Result<InternalBatchQuoteVO>

字段 类型 说明
adultPrice BigDecimal 成人单价
childPrice BigDecimal 儿童单价
adultCount Integer 成人数量
childCount Integer 儿童数量
roomCount Integer 房间数量
adultTotal BigDecimal 成人小计
childTotal BigDecimal 儿童小计
grandTotal BigDecimal 总价

📁 全部变更文件 (点击展开)
M	hl-order-service-v2/src/main/java/com/hulalv/shared/feign/ProductFeignClient.java
M	hl-product-service-v2/src/main/java/com/hulalv/controller/admin/AdminProductController.java
A	hl-product-service-v2/src/main/java/com/hulalv/controller/internal/InternalProductController.java
A	hl-product-service-v2/src/main/java/com/hulalv/feign/ResourceDetailFeignClient.java
M	hl-product-service-v2/src/main/java/com/hulalv/mapper/GroupTourBatchMapper.java
M	hl-product-service-v2/src/main/java/com/hulalv/mapper/ProductPriceCalendarMapper.java
M	hl-product-service-v2/src/main/java/com/hulalv/service/admin/AmapDrivingService.java
M	hl-product-service-v2/src/main/java/com/hulalv/service/admin/ProductPricingService.java
A	hl-product-service-v2/src/main/java/com/hulalv/service/internal/InternalProductService.java
A	hl-product-service-v2/src/main/java/com/hulalv/vo/admin/ResourceSuggestPriceRespVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/vo/internal/InternalAutomationConfigVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/vo/internal/InternalBatchInfoVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/vo/internal/InternalBatchQuoteVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/vo/internal/InternalProductDetailVO.java
A	hl-product-service-v2/src/main/java/com/hulalv/vo/internal/InternalSimpleQuoteVO.java
M	hl-product-service-v2/src/test/java/com/hulalv/service/admin/AmapDrivingServiceTest.java