# 小童/幼童定价模式扩展 **日期**: 2026-03-31 **PR**: #83 **类型**: feat(新功能) **影响服务**: hl-product-service, hl-mp-service --- ## 变更说明 小童和幼童的定价方式从固定模式改为"百分比 / 固定价"二选一。 ### 之前 - 小童:只能按儿童价百分比(`childDiscountPercent`) - 幼童:只能用固定价(`babyPrice`) ### 现在 - 小童:**百分比**或**固定价**,由 `youngChildPriceMode` 控制 - 幼童:**百分比**或**固定价**,由 `babyPriceMode` 控制 - 百分比基数统一为**儿童售价** --- ## 新增字段(定价配置接口) ### POST/PUT `/api/product/internal/{productId}/pricing` | 字段 | 类型 | 默认值 | 说明 | |------|------|--------|------| | `youngChildPriceMode` | String | `"PERCENT"` | 小童定价模式:`PERCENT`=按儿童价百分比, `FIXED`=固定价 | | `youngChildFixedPrice` | BigDecimal | null | 小童固定价格(`FIXED`模式时使用) | | `babyPriceMode` | String | `"FIXED"` | 幼童定价模式:`PERCENT`=按儿童价百分比, `FIXED`=固定价 | | `babyDiscountPercent` | BigDecimal | null | 幼童折扣百分比(`PERCENT`模式时使用,如50=儿童价的50%) | ### GET `/api/product/internal/{productId}/pricing` 响应同步新增以上4个字段 --- ## 前端适配要点 ### 管理后台 - 定价配置页面 1. **小童定价**区域新增切换: - 百分比模式(默认):显示 `childDiscountPercent` 输入框(已有) - 固定价模式:显示 `youngChildFixedPrice` 输入框(新增) 2. **幼童定价**区域新增切换: - 固定价模式(默认):显示 `babyPrice` 输入框(已有) - 百分比模式:显示 `babyDiscountPercent` 输入框(新增) ### 小程序端 无需改动。价格日历返回的 `youngChildPrice` 和 `babyPrice` 已经是计算后的最终价格。 --- ## 向后兼容 - 不传 `youngChildPriceMode`/`babyPriceMode` 时使用默认值,行为与改动前完全一致 - 已有产品数据无需迁移 ## 部署注意 需要执行 SQL 迁移脚本:`sql/young_child_baby_price_mode.sql`