feat: 配房可选酒店接口增加dayIndex参数 + 产品保存refundPolicyIds兼容数组
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
这个提交包含在:
父节点
8c1c7ab7cc
当前提交
25290f9b81
@ -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`,不影响保存。
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户