changelog: 6a9ec7ce - feat(product-v2): 实现10个internal接口 + order-v2 Feign改指v2

这个提交包含在:
API Changelog Bot 2026-04-14 11:00:15 +08:00
父节点 6d65caff03
当前提交 ae21373657

查看文件

@ -0,0 +1,145 @@
# 接口变更记录 — 2026-04-14 11:00
> **提交** `6a9ec7ce` · **作者** wx · **时间** 2026-04-14 11:00:15 +0800
>
> feat(product-v2): 实现10个internal接口 + order-v2 Feign改指v2
## 变更总览
- **hl-product-service-v2**
- 🆕 InternalProduct (+10 接口)
---
## hl-product-service-v2
### 🆕 新增: InternalProduct
### 📌 `GET` /internal/product/{productId}/detail — 产品详情(内部)
> 不过滤状态,供订单创建时获取产品快照
**参数**
- `{productId}` (`Long`) — 路径参数产品ID
**响应** `Result<Map<String, Object>>`
### 📌 `GET` /internal/product/{productId}/automation-config — 保险/合同配置
> 返回保险方案ID、合同方案ID、预订条款ID、温馨提示ID
**参数**
- `{productId}` (`Long`) — 路径参数产品ID
**响应** `Result<Map<String, Object>>`
### 📌 `GET` /internal/product/{productId}/simple-quote — 简单报价
> 根据日期和人数计算各人群单价和总价
**参数**
- `{productId}` (`Long`) — 路径参数产品ID
- `adultCount` (`int`) — 查询参数
- `childCount` (`int`) — 查询参数
- `youngChildCount` (`int`) — 查询参数:小童数
- `babyCount` (`int`) — 查询参数:幼童数
- `childNeedBed` (`boolean`) — 查询参数:儿童是否需要加床
**响应** `Result<Map<String, Object>>`
### 📌 `POST` /internal/product/{productId}/deduct-stock — 扣库存
> 乐观锁扣减,库存不足返回错误
**参数**
- `{productId}` (`Long`) — 路径参数产品ID
- `count` (`int`) — 查询参数
**响应** `Result<Void>`
### 📌 `POST` /internal/product/{productId}/restore-stock — 恢复库存
> 取消/退款时恢复已扣库存
**参数**
- `{productId}` (`Long`) — 路径参数产品ID
- `count` (`int`) — 查询参数
**响应** `Result<Void>`
### 📌 `POST` /internal/product/batch/{batchId}/enroll — 报名入团
> 乐观锁扣减人数+房间名额,名额不足返回错误
**参数**
- `{batchId}` (`Long`) — 路径参数班期ID
- `peopleCount` (`int`) — 查询参数
- `roomCount` (`int`) — 查询参数
**响应** `Result<Void>`
### 📌 `POST` /internal/product/batch/{batchId}/unenroll — 取消报名
> 取消/退款时回退人数和房间名额
**参数**
- `{batchId}` (`Long`) — 路径参数班期ID
- `peopleCount` (`int`) — 查询参数
- `roomCount` (`int`) — 查询参数
**响应** `Result<Void>`
### 📌 `GET` /internal/product/batch/{batchId}/info — 团期信息
> 获取班期详细信息
**参数**
- `{batchId}` (`Long`) — 路径参数班期ID
**响应** `Result<Map<String, Object>>`
### 📌 `GET` /internal/product/batch/{batchId}/quote — 团期报价
> 根据人数和房间数计算团期报价
**参数**
- `{batchId}` (`Long`) — 路径参数班期ID
- `adultCount` (`int`) — 查询参数
- `childCount` (`int`) — 查询参数
- `roomCount` (`int`) — 查询参数
**响应** `Result<Map<String, Object>>`
### 📌 `POST` /internal/product/{productId}/custom-status — 定制产品状态变更
> 内部触发产品状态变更通过COLA状态机
**参数**
- `{productId}` (`Long`) — 路径参数产品ID
- `status` (`String`) — 查询参数
**响应** `Result<Void>`
---
<details>
<summary>📁 全部变更文件 (点击展开)</summary>
```
M hl-order-service-v2/src/main/java/com/hulalv/shared/feign/ProductFeignClient.java
A hl-product-service-v2/src/main/java/com/hulalv/controller/internal/InternalProductController.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
A hl-product-service-v2/src/main/java/com/hulalv/service/internal/InternalProductService.java
```
</details>