diff --git a/changelogs/2026-04/2026-04-14_1100_6a9ec7ce_feat_product-v2.md b/changelogs/2026-04/2026-04-14_1100_6a9ec7ce_feat_product-v2.md new file mode 100644 index 0000000..863df9e --- /dev/null +++ b/changelogs/2026-04/2026-04-14_1100_6a9ec7ce_feat_product-v2.md @@ -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>` + +### 📌 `GET` /internal/product/{productId}/automation-config — 保险/合同配置 + +> 返回保险方案ID、合同方案ID、预订条款ID、温馨提示ID + +**参数** + + - `{productId}` (`Long`) — 路径参数:产品ID + +**响应** `Result>` + +### 📌 `GET` /internal/product/{productId}/simple-quote — 简单报价 + +> 根据日期和人数计算各人群单价和总价 + +**参数** + + - `{productId}` (`Long`) — 路径参数:产品ID + - `adultCount` (`int`) — 查询参数 + - `childCount` (`int`) — 查询参数 + - `youngChildCount` (`int`) — 查询参数:小童数 + - `babyCount` (`int`) — 查询参数:幼童数 + - `childNeedBed` (`boolean`) — 查询参数:儿童是否需要加床 + +**响应** `Result>` + +### 📌 `POST` /internal/product/{productId}/deduct-stock — 扣库存 + +> 乐观锁扣减,库存不足返回错误 + +**参数** + + - `{productId}` (`Long`) — 路径参数:产品ID + - `count` (`int`) — 查询参数 + +**响应** `Result` + +### 📌 `POST` /internal/product/{productId}/restore-stock — 恢复库存 + +> 取消/退款时恢复已扣库存 + +**参数** + + - `{productId}` (`Long`) — 路径参数:产品ID + - `count` (`int`) — 查询参数 + +**响应** `Result` + +### 📌 `POST` /internal/product/batch/{batchId}/enroll — 报名入团 + +> 乐观锁扣减人数+房间名额,名额不足返回错误 + +**参数** + + - `{batchId}` (`Long`) — 路径参数:班期ID + - `peopleCount` (`int`) — 查询参数 + - `roomCount` (`int`) — 查询参数 + +**响应** `Result` + +### 📌 `POST` /internal/product/batch/{batchId}/unenroll — 取消报名 + +> 取消/退款时回退人数和房间名额 + +**参数** + + - `{batchId}` (`Long`) — 路径参数:班期ID + - `peopleCount` (`int`) — 查询参数 + - `roomCount` (`int`) — 查询参数 + +**响应** `Result` + +### 📌 `GET` /internal/product/batch/{batchId}/info — 团期信息 + +> 获取班期详细信息 + +**参数** + + - `{batchId}` (`Long`) — 路径参数:班期ID + +**响应** `Result>` + +### 📌 `GET` /internal/product/batch/{batchId}/quote — 团期报价 + +> 根据人数和房间数计算团期报价 + +**参数** + + - `{batchId}` (`Long`) — 路径参数:班期ID + - `adultCount` (`int`) — 查询参数 + - `childCount` (`int`) — 查询参数 + - `roomCount` (`int`) — 查询参数 + +**响应** `Result>` + +### 📌 `POST` /internal/product/{productId}/custom-status — 定制产品状态变更 + +> 内部触发产品状态变更(通过COLA状态机) + +**参数** + + - `{productId}` (`Long`) — 路径参数:产品ID + - `status` (`String`) — 查询参数 + +**响应** `Result` + +--- + +
+📁 全部变更文件 (点击展开) + +``` +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 +``` +
\ No newline at end of file