hl-api-changelog/changelogs/2026-03/2026-03-31_1300_26ab1bdb_feat.md

230 行
10 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# 接口变更记录 — 2026-03-31 13:00
> **提交** `26ab1bdb` · **作者** wx · **时间** 2026-03-31 13:00:15 +0800
>
> feat: 小童/幼童定价模式扩展,支持百分比或固定价
## 变更总览
- **产品服务**
- InternalProduct (改1)
---
## 产品服务
### InternalProduct
> 📖 **接口文档**: [http://192.168.100.236:8085/doc.html](http://192.168.100.236:8085/doc.html) → 标签 **「【内部接口】产品Feign调用」**
### ✏️ `GET` /internal/product/{productId}/simple-quote — 简单报价(内部)
- 参数: childNeedBed(boolean) → productId(Long), childNeedBed(boolean)
---
## 📦 其他数据对象变更
> 以下变更未直接关联到本次接口变更,但可能影响现有接口的请求/响应
### 产品服务
#### ✏️ FamilySaveRequest
- 🆕 `youngChildCount` (`Integer`) — 小童数
- 🆕 `babyCount` (`Integer`) — 幼童数
#### ✏️ PricingRequest
- 🆕 `babyPrice` (`BigDecimal`) — 婴儿固定价格(不随日期变化)
- 🆕 `childDiscountPercent` (`BigDecimal`) — 小童折扣百分比(小童价=儿童价×此百分比/100,如70表示打7折
- 🆕 `youngChildPriceMode` (`String`) — 小童定价模式PERCENT=按儿童价百分比, FIXED=固定价
- 🆕 `youngChildFixedPrice` (`BigDecimal`) — 小童固定价格youngChildPriceMode=FIXED时使用
- 🆕 `babyPriceMode` (`String`) — 幼童定价模式PERCENT=按儿童价百分比, FIXED=固定价
- 🆕 `babyDiscountPercent` (`BigDecimal`) — 幼童折扣百分比babyPriceMode=PERCENT时使用
#### ✏️ ProductCreateRequest
- 🆕 `youngChildCount` (`Integer`) — 小童人数
- 🆕 `babyCount` (`Integer`) — 婴儿人数
#### ✏️ ProductFamilyVO
- 🆕 `youngChildCount` (`Integer`) — 小童数
- 🆕 `babyCount` (`Integer`) — 幼童数
#### ✏️ ProductListVO
- 🆕 `youngChildCount` (`Integer`) — 小童数(私人定制/路书)
- 🆕 `babyCount` (`Integer`) — 幼童数(私人定制/路书)
#### ✏️ ProductPricingVO
- 🆕 `babyPrice` (`BigDecimal`) — 婴儿价
- 🆕 `childDiscountPercent` (`BigDecimal`) — 儿童折扣百分比
- 🆕 `youngChildPriceMode` (`String`) — 小童定价模式: PERCENT/FIXED
- 🆕 `youngChildFixedPrice` (`BigDecimal`) — 小童固定价格FIXED模式
- 🆕 `babyPriceMode` (`String`) — 幼童定价模式: PERCENT/FIXED
- 🆕 `babyDiscountPercent` (`BigDecimal`) — 幼童折扣百分比PERCENT模式
#### ✏️ ProductSaveRequest
- 🆕 `youngChildCount` (`Integer`) — 小童人数
- 🆕 `babyCount` (`Integer`) — 婴儿人数
#### ✏️ ProductUpdateRequest
- 🆕 `youngChildCount` (`Integer`) — 小童人数
- 🆕 `babyCount` (`Integer`) — 婴儿人数
#### ✏️ ProductVO
- 🆕 `youngChildCount` (`Integer`) — 小童人数
- 🆕 `babyCount` (`Integer`) — 婴儿人数
#### ✏️ QuoteResultVO
- 🆕 `totalYoungChildCost` (`BigDecimal`) — 小童总成本
- 🆕 `totalYoungChildSellPrice` (`BigDecimal`) — 小童总售价
- 🆕 `totalBabyCost` (`BigDecimal`) — 婴儿总成本
- 🆕 `totalBabySellPrice` (`BigDecimal`) — 婴儿总售价
- 🆕 `youngChildCount` (`Integer`) — 小童数
- 🆕 `babyCount` (`Integer`) — 幼童数
- 🆕 `babyCost` (`BigDecimal`) — 婴儿固定成本
- ✏️ `personType`: 说明 "人员类型ADULT/CHILD" → "人员类型ADULT/CHILD/YOUNG_CHILD/BABY"
### 小程序聚合服务
#### ✏️ MpCreateOrderRequest
- ✏️ `travelerType`: 说明 "出行人类型ADULT/CHILD" → "出行人类型ADULT/CHILD/YOUNG_CHILD/BABY"
#### ✏️ MpCustomProductDetailVO
- 🆕 `youngChildCount` (`Integer`) — 小童数
- 🆕 `babyCount` (`Integer`) — 幼童数
- 🆕 `babyPrice` (`BigDecimal`) — 婴儿价
- 🆕 `childDiscountPercent` (`BigDecimal`) — 儿童折扣百分比
- 🆕 `youngChildPriceMode` (`String`) — 小童定价模式: PERCENT/FIXED
- 🆕 `youngChildFixedPrice` (`BigDecimal`) — 小童固定价格
- 🆕 `babyPriceMode` (`String`) — 幼童定价模式: PERCENT/FIXED
- 🆕 `babyDiscountPercent` (`BigDecimal`) — 幼童折扣百分比
#### ✏️ MpOrderDetailVO
- 🆕 `youngChildCount` (`Integer`) — 小童数
- 🆕 `babyCount` (`Integer`) — 幼童数
#### ✏️ MpOrderListItemVO
- 🆕 `youngChildCount` (`Integer`) — 小童数
- 🆕 `babyCount` (`Integer`) — 幼童数
#### ✏️ MpPriceCalendarDayVO
- 🆕 `youngChildPrice` (`BigDecimal`) — 幼儿价格
- 🆕 `babyPrice` (`BigDecimal`) — 婴儿价格
#### ✏️ MpProductQuoteRequest
- 🆕 `youngChildCount` (`Integer`) — 幼儿数量
- 🆕 `babyCount` (`Integer`) — 婴儿数量
#### ✏️ MpProductQuoteVO
- 🆕 `youngChildSellPrice` (`BigDecimal`) — 小童单价(儿童价×折扣比例)
- 🆕 `babySellPrice` (`BigDecimal`) — 幼童单价(固定价)
- 🆕 `totalYoungChildSellPrice` (`BigDecimal`) — 小童小计
- 🆕 `totalBabySellPrice` (`BigDecimal`) — 幼童小计
#### ✏️ MpTravelerRequest
- ✏️ `travelerType`: 说明 "出行人类型: ADULT/CHILD" → "出行人类型: ADULT/CHILD/YOUNG_CHILD/BABY"
#### ✏️ MpTravelerVO
- ✏️ `travelerType`: 说明 "出行人类型: ADULT/CHILD" → "出行人类型: ADULT/CHILD/YOUNG_CHILD/BABY"
### 订单服务
#### ✏️ AdminUpdateOrderRequest
- 🆕 `youngChildCount` (`Integer`) — 小童数
- 🆕 `babyCount` (`Integer`) — 幼童数
#### ✏️ MpOrderListVO
- 🆕 `youngChildCount` (`Integer`) — 小童数
- 🆕 `babyCount` (`Integer`) — 幼童数
#### ✏️ OrderDetailVO
- 🆕 `youngChildCount` (`Integer`) — 小童数
- 🆕 `babyCount` (`Integer`) — 幼童数
#### ✏️ OrderListVO
- 🆕 `youngChildCount` (`Integer`) — 小童数
- 🆕 `babyCount` (`Integer`) — 幼童数
<details>
<summary>📁 全部变更文件 (点击展开)</summary>
```
M hl-mp-service/src/main/java/com/hulalv/mp/controller/MpProductController.java
M hl-mp-service/src/main/java/com/hulalv/mp/dto/MpCreateOrderRequest.java
M hl-mp-service/src/main/java/com/hulalv/mp/dto/MpProductQuoteRequest.java
M hl-mp-service/src/main/java/com/hulalv/mp/dto/MpTravelerRequest.java
M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpProductFeignClient.java
M hl-mp-service/src/main/java/com/hulalv/mp/feign/MpProductFeignFallbackFactory.java
M hl-mp-service/src/main/java/com/hulalv/mp/vo/MpCustomProductDetailVO.java
M hl-mp-service/src/main/java/com/hulalv/mp/vo/MpOrderDetailVO.java
M hl-mp-service/src/main/java/com/hulalv/mp/vo/MpOrderListItemVO.java
M hl-mp-service/src/main/java/com/hulalv/mp/vo/MpPriceCalendarDayVO.java
M hl-mp-service/src/main/java/com/hulalv/mp/vo/MpProductQuoteVO.java
M hl-mp-service/src/main/java/com/hulalv/mp/vo/MpTravelerVO.java
M hl-order-service/src/main/java/com/hulalv/order/constant/OrderConstants.java
M hl-order-service/src/main/java/com/hulalv/order/dto/AdminCreateOrderRequest.java
M hl-order-service/src/main/java/com/hulalv/order/dto/AdminUpdateOrderRequest.java
M hl-order-service/src/main/java/com/hulalv/order/dto/CreateOrderRequest.java
M hl-order-service/src/main/java/com/hulalv/order/dto/QuotePreviewRequest.java
M hl-order-service/src/main/java/com/hulalv/order/entity/OrderInfo.java
M hl-order-service/src/main/java/com/hulalv/order/feign/ProductFeignClient.java
M hl-order-service/src/main/java/com/hulalv/order/feign/ProductFeignFallbackFactory.java
M hl-order-service/src/main/java/com/hulalv/order/service/DashboardStatsService.java
M hl-order-service/src/main/java/com/hulalv/order/service/OrderCascadeService.java
M hl-order-service/src/main/java/com/hulalv/order/service/OrderService.java
M hl-order-service/src/main/java/com/hulalv/order/service/TripService.java
M hl-order-service/src/main/java/com/hulalv/order/vo/MpOrderListVO.java
M hl-order-service/src/main/java/com/hulalv/order/vo/OrderDetailVO.java
M hl-order-service/src/main/java/com/hulalv/order/vo/OrderListVO.java
M hl-product-service/src/main/java/com/hulalv/product/constant/ProductConstants.java
M hl-product-service/src/main/java/com/hulalv/product/controller/InternalProductController.java
M hl-product-service/src/main/java/com/hulalv/product/controller/PricingController.java
M hl-product-service/src/main/java/com/hulalv/product/controller/QuoteController.java
M hl-product-service/src/main/java/com/hulalv/product/dto/FamilySaveRequest.java
M hl-product-service/src/main/java/com/hulalv/product/dto/PricingRequest.java
M hl-product-service/src/main/java/com/hulalv/product/dto/ProductCreateRequest.java
M hl-product-service/src/main/java/com/hulalv/product/dto/ProductSaveRequest.java
M hl-product-service/src/main/java/com/hulalv/product/dto/ProductUpdateRequest.java
M hl-product-service/src/main/java/com/hulalv/product/dto/QuoteRequest.java
M hl-product-service/src/main/java/com/hulalv/product/entity/Product.java
M hl-product-service/src/main/java/com/hulalv/product/entity/ProductFamily.java
M hl-product-service/src/main/java/com/hulalv/product/entity/ProductPricing.java
M hl-product-service/src/main/java/com/hulalv/product/feign/InsuranceSchemeFeignClient.java
M hl-product-service/src/main/java/com/hulalv/product/feign/MaterialRefFeignClient.java
M hl-product-service/src/main/java/com/hulalv/product/feign/ReviewFeignClient.java
M hl-product-service/src/main/java/com/hulalv/product/service/CostCalculationService.java
M hl-product-service/src/main/java/com/hulalv/product/service/PriceCalendarService.java
M hl-product-service/src/main/java/com/hulalv/product/service/ProductFamilyService.java
M hl-product-service/src/main/java/com/hulalv/product/service/ProductPricingService.java
M hl-product-service/src/main/java/com/hulalv/product/service/ProductService.java
M hl-product-service/src/main/java/com/hulalv/product/service/QuoteCalculatorService.java
M hl-product-service/src/main/java/com/hulalv/product/vo/ProductFamilyVO.java
M hl-product-service/src/main/java/com/hulalv/product/vo/ProductListVO.java
M hl-product-service/src/main/java/com/hulalv/product/vo/ProductPricingVO.java
M hl-product-service/src/main/java/com/hulalv/product/vo/ProductVO.java
M hl-product-service/src/main/java/com/hulalv/product/vo/QuoteResultVO.java
A sql/young_child_baby_price_mode.sql
```
</details>