diff --git a/changelogs/2026-03/2026-03-20_available_hotels_dayindex.md b/changelogs/2026-03/2026-03-20_available_hotels_dayindex.md new file mode 100644 index 0000000..fdb2e72 --- /dev/null +++ b/changelogs/2026-03/2026-03-20_available_hotels_dayindex.md @@ -0,0 +1,90 @@ +# 配房可选酒店接口增加 dayIndex 参数 + +**日期**: 2026-03-20 +**类型**: 接口变更(不兼容) +**影响模块**: 订单管理 → 配房 + +--- + +## 变更说明 + +`GET /admin/order/{orderId}/available-hotels` 接口新增**必填参数** `dayIndex`,因为每天行程的酒店可能不同,配房需要按天查询可选酒店。 + +### 变更前 + +``` +GET /admin/order/{orderId}/available-hotels +``` +返回所有天的快照酒店,不区分行程天。 + +### 变更后 + +``` +GET /admin/order/{orderId}/available-hotels?dayIndex=2 +``` +只返回指定行程天的快照酒店标注。 + +--- + +## 接口定义 + +### `GET /admin/order/{orderId}/available-hotels` + +#### 请求参数 + +| 参数 | 类型 | 必填 | 说明 | +|------|------|------|------| +| orderId | Long | 是 | 订单ID(路径参数) | +| dayIndex | Integer | **是** | 行程第几天(从1开始,Query参数) | + +#### 响应格式 + +```json +{ + "code": 200, + "data": [ + { + "hotelId": "2033911514863382529", + "hotelName": "恩和瓦西里民宿", + "inSnapshot": true + }, + { + "hotelId": "2033911514863382530", + "hotelName": "额尔古纳大酒店", + "inSnapshot": false + } + ] +} +``` + +#### 响应字段说明 + +| 字段 | 类型 | 说明 | +|------|------|------| +| hotelId | String | 酒店ID | +| hotelName | String | 酒店名称 | +| inSnapshot | Boolean | 是否在该天产品快照中(true=该天行程已安排的酒店,应优先选择) | + +- `inSnapshot=true` 的酒店排在前面 +- 同时返回所有启用酒店供选择 + +--- + +## 前端改动要点 + +配房弹窗中选择酒店时,调用此接口需传当前正在配的那一天的 `dayIndex`: + +```js +// 示例:配第2天的房间 +const res = await request.get(`/admin/order/${orderId}/available-hotels`, { + params: { dayIndex: 2 } +}) +``` + +**注意**:`dayIndex` 从 **1** 开始,对应行程的第1天、第2天... + +--- + +## 同步修复:产品保存报错 + +`refundPolicyIds` 字段兼容前端传空数组 `[]` 的情况(之前只接受对象 `{}`,传 `[]` 会返回400)。现在传 `[]` 等价于 `null`,不影响保存。