diff --git a/changelogs/2026-03/2026-03-19_remove_calendar_reserved_status.md b/changelogs/2026-03/2026-03-19_remove_calendar_reserved_status.md new file mode 100644 index 0000000..3009563 --- /dev/null +++ b/changelogs/2026-03/2026-03-19_remove_calendar_reserved_status.md @@ -0,0 +1,48 @@ +# 价格日历状态去除「已预留」+ 定制产品详情接口强类型化 + +> 日期: 2026-03-19 | 服务: hl-product-service, hl-mp-service + +--- + +## 一、变更说明 + +### 1. 价格日历状态字典变更 + +`calendar_status` 字典删除 `RESERVED`(已预留)状态,无实际业务场景。 + +**变更前(4个状态)**: +| dict_value | dict_label | +|------------|-----------| +| AVAILABLE | 可售 | +| SOLD_OUT | 已售罄 | +| CLOSED | 已关闭 | +| ~~RESERVED~~ | ~~已预留~~ | + +**变更后(3个状态)**: +| dict_value | dict_label | +|------------|-----------| +| AVAILABLE | 可售 | +| SOLD_OUT | 已售罄 | +| CLOSED | 已关闭 | + +**前端需处理**:价格日历编辑弹窗中「状态」下拉选项去除「已预留」。 + +--- + +### 2. C端定制产品详情接口强类型化 + +`GET /hl-mp-service/mp/custom/product/{productId}` 查询已完成的定制产品详情 + +**变更前**:`data` 字段为 `Map`(Knife4j 显示 object,无字段结构) + +**变更后**:`data` 字段为强类型 `MpCustomProductDetailVO`,与核心产品详情返回相同的完整结构,包含: + +- 行程天列表 `itineraryDays` → 行程节点 `nodes` → 资源详情 `resourceDetail`(含 `cover` 封面图、`images` 轮播图、`address` 地址等) +- 每日酒店 `hotels`(含 `coverUrl`、房型名称、家庭分配) +- 每日用餐 `restaurants`(含 `coverUrl`、餐次、价格) +- 定价配置 `pricing`(完整定价模式、支付方式等) +- 成本项 `costItems`、自定义费用 `customFees`、物资 `suppliesList` +- 人员配置 `staffConfigs`、家庭分组 `families` +- 权益说明 `benefitsDescription` + +**前端无需改代码**,返回数据结构不变,仅 Knife4j 文档从 object 变为完整字段定义,方便查阅。