# 接口变更记录 — 2026-03-31 11:41

> **提交** `b2432512` · **作者** wx · **时间** 2026-03-31 11:41:56 +0800
>
> test: 第二轮补充单元测试提升覆盖率

## 变更总览

- **产品服务**
  - InternalProduct (改1)
- **小程序聚合服务**
  - 🆕 MpEdgeCaseTest (+0 接口)
  - 🆕 MpCustomizeBranchTest (+0 接口)
  - 🆕 MpDesignerBranchTest (+0 接口)
  - 🆕 MpLikeBranchTest (+0 接口)
  - 🆕 MpProductBranchTest (+0 接口)
  - 🆕 MpReviewBranchTest (+0 接口)
  - 🆕 MpScenicBranchTest (+0 接口)

---

## 产品服务

### InternalProduct

> 📖 **接口文档**: [http://192.168.100.236:8085/doc.html](http://192.168.100.236:8085/doc.html) → 标签 **「【内部接口】产品（Feign调用）」**

### ✏️ `GET` /internal/product/{productId}/simple-quote — 简单报价（内部）

- 参数: productId(Long), childNeedBed(boolean) → childNeedBed(boolean)

---

## 📦 其他数据对象变更

> 以下变更未直接关联到本次接口变更，但可能影响现有接口的请求/响应

### 产品服务

#### ✏️ FamilySaveRequest

  - ❌ ~~`youngChildCount`~~ (`Integer`) — 小童数
  - ❌ ~~`babyCount`~~ (`Integer`) — 幼童数

#### ✏️ PricingRequest

  - ❌ ~~`babyPrice`~~ (`BigDecimal`) — 婴儿固定价格（不随日期变化）
  - ❌ ~~`childDiscountPercent`~~ (`BigDecimal`) — 小童折扣百分比（小童价=儿童价×此百分比/100，如70表示打7折）

#### ✏️ ProductCreateRequest

  - ❌ ~~`youngChildCount`~~ (`Integer`) — 小童人数
  - ❌ ~~`babyCount`~~ (`Integer`) — 婴儿人数

#### ✏️ ProductFamilyVO

  - ❌ ~~`youngChildCount`~~ (`Integer`) — 小童数
  - ❌ ~~`babyCount`~~ (`Integer`) — 幼童数

#### ✏️ ProductListVO

  - ❌ ~~`youngChildCount`~~ (`Integer`) — 小童数（私人定制/路书）
  - ❌ ~~`babyCount`~~ (`Integer`) — 幼童数（私人定制/路书）

#### ✏️ ProductPricingVO

  - ❌ ~~`babyPrice`~~ (`BigDecimal`) — 婴儿价
  - ❌ ~~`childDiscountPercent`~~ (`BigDecimal`) — 儿童折扣百分比

#### ✏️ 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/YOUNG_CHILD/BABY" → "人员类型：ADULT/CHILD"

### 公共模块

#### 🆕 DtoExtraCoverageTest

#### 🆕 DtoReflectionEqualsCoverageTest

### 小程序聚合服务

#### ✏️ MpCreateOrderRequest

  - ✏️ `travelerType`: 说明 "出行人类型（ADULT/CHILD/YOUNG_CHILD/BABY）" → "出行人类型（ADULT/CHILD）"

#### ✏️ MpCustomProductDetailVO

  - ❌ ~~`youngChildCount`~~ (`Integer`) — 小童数
  - ❌ ~~`babyCount`~~ (`Integer`) — 幼童数
  - ❌ ~~`babyPrice`~~ (`BigDecimal`) — 婴儿价
  - ❌ ~~`childDiscountPercent`~~ (`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/YOUNG_CHILD/BABY" → "出行人类型: ADULT/CHILD"

#### ✏️ MpTravelerVO

  - ✏️ `travelerType`: 说明 "出行人类型: ADULT/CHILD/YOUNG_CHILD/BABY" → "出行人类型: ADULT/CHILD"

### 用户服务

#### ✏️ TravelerRequest

  - ✏️ `travelerType`: 说明 "出行人类型，关联字典traveler_type：ADULT=成人, CHILD=儿童, YOUNG_CHILD=小童, BABY=幼童（无需传入，后端根据birthday自动判断）" → "出行人类型，关联字典traveler_type：ADULT=成人, CHILD=儿童（无需传入，后端根据birthday自动判断）"

### 订单服务

#### ✏️ AdminUpdateOrderRequest

  - ❌ ~~`youngChildCount`~~ (`Integer`) — 小童数
  - ❌ ~~`babyCount`~~ (`Integer`) — 幼童数

#### ✏️ MpOrderListVO

  - ❌ ~~`youngChildCount`~~ (`Integer`) — 小童数
  - ❌ ~~`babyCount`~~ (`Integer`) — 幼童数

#### ✏️ OrderDetailVO

  - ❌ ~~`youngChildCount`~~ (`Integer`) — 小童数
  - ❌ ~~`babyCount`~~ (`Integer`) — 幼童数

#### ✏️ OrderListVO

  - ❌ ~~`youngChildCount`~~ (`Integer`) — 小童数
  - ❌ ~~`babyCount`~~ (`Integer`) — 幼童数

<details>
<summary>📁 全部变更文件 (点击展开)</summary>

```
A	cleanup_temp.py
A	hl-common/hl-common-core/src/test/java/com/hulalv/common/dto/DtoExtraCoverageTest.java
A	hl-common/hl-common-core/src/test/java/com/hulalv/common/dto/DtoReflectionEqualsCoverageTest.java
A	hl-common/hl-common-core/src/test/java/com/hulalv/common/result/ResultExtraCoverageTest.java
A	hl-common/hl-common-core/src/test/java/com/hulalv/common/util/AesEncryptUtilBranchTest.java
A	hl-common/hl-common-core/src/test/java/com/hulalv/common/util/AmapStaticMapUtilBranchTest.java
A	hl-common/hl-common-core/src/test/java/com/hulalv/common/util/SnowflakeIdWorkerBranchTest.java
A	hl-common/hl-common-core/src/test/java/com/hulalv/common/weather/AmapWeatherClientBranchTest.java
A	hl-common/hl-common-core/src/test/java/com/hulalv/common/weather/WeatherInfoExtraCoverageTest.java
M	hl-common/hl-common-redis/src/main/java/com/hulalv/common/util/TravelerTypeResolver.java
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
A	hl-mp-service/src/test/java/com/hulalv/mp/MpServiceApplicationTest.java
A	hl-mp-service/src/test/java/com/hulalv/mp/VoExtraDeepCoverageTest.java
A	hl-mp-service/src/test/java/com/hulalv/mp/VoFieldDiffCoverageTest.java
A	hl-mp-service/src/test/java/com/hulalv/mp/VoReflectionEqualsCoverageTest.java
A	hl-mp-service/src/test/java/com/hulalv/mp/config/Knife4jConfigTest.java
A	hl-mp-service/src/test/java/com/hulalv/mp/controller/MpControllerEdgeCaseTest.java
A	hl-mp-service/src/test/java/com/hulalv/mp/controller/MpCustomizeControllerBranchTest.java
A	hl-mp-service/src/test/java/com/hulalv/mp/controller/MpDesignerControllerBranchTest.java
A	hl-mp-service/src/test/java/com/hulalv/mp/controller/MpLikeControllerBranchTest.java
A	hl-mp-service/src/test/java/com/hulalv/mp/controller/MpProductControllerBranchTest.java
A	hl-mp-service/src/test/java/com/hulalv/mp/controller/MpReviewControllerBranchTest.java
A	hl-mp-service/src/test/java/com/hulalv/mp/controller/MpScenicControllerBranchTest.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
A	hl-order-service/src/test/java/com/hulalv/order/service/OrderServiceExtendedTest.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/service/CostCalculationService.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
M	hl-user-service/src/main/java/com/hulalv/user/dto/TravelerRequest.java
A	hl-user-service/src/test/java/com/hulalv/review/service/ReviewServiceFullTest.java
A	hl-user-service/src/test/java/com/hulalv/user/coverage/DeepFieldEqualsCoverageTest.java
A	hl-user-service/src/test/java/com/hulalv/user/notification/MessageCategoryServiceFullTest.java
A	hl-user-service/src/test/java/com/hulalv/user/service/UserServiceFullTest.java
```
</details>