3.1 KiB
3.1 KiB
房务月度对账酒店行增加订单查看
- 工单:HL #4821
- 状态:front-end todo
- 影响端:管理后台房务管家 / 月度对账
/housekeeper/ledger
背景
月度对账页现在只展示“配房完毕订单酒店汇总”,用户需要在每个酒店汇总行上继续查看该酒店本月涉及的订单明细。后端已补充按酒店查询订单明细接口,前端在酒店汇总行增加“订单(查看)”入口。
新增接口
GET /v3/admin/house/reconciliation/monthly/hotel-orders?month=2026-07&hotelId=1234567890123&hotelName=呼伦贝尔香格里拉大酒店
请求参数:
| 参数 | 类型 | 必填 | 示例 | 说明 |
|---|---|---|---|---|
month |
String |
是 | 2026-07 |
对账月份,格式 YYYY-MM |
hotelId |
String |
否 | 1234567890123 |
酒店 ID。酒店汇总行有 hotelId 时传 |
hotelName |
String |
条件必填 | 呼伦贝尔香格里拉大酒店 |
酒店名快照。hotelId 为空时必传;hotelId 有值时也建议一并传 |
重要口径:
- 前端从
/monthly汇总接口拿到的酒店行,如果hotelId有值,也要把同一行的hotelName一起传给明细接口。 - 原因:历史配房行可能只有酒店名没有
hotelId,汇总接口会在同名唯一命中时合并到有 ID 的酒店行;明细接口也用同样口径。 - 如果酒店行
hotelId=null,只传hotelName,后端只查无hotelId的同名历史行,避免误合并其他有 ID 的同名酒店。
响应示例
{
"code": 200,
"message": "成功",
"success": true,
"data": [
{
"orderId": "2074303545149980674",
"orderNo": "HL20260707092437709",
"productName": "测试核心产品-单档-固定订金",
"departDate": "2026-07-23",
"hotelId": "1234567890123",
"hotelName": "呼伦贝尔香格里拉大酒店",
"roomNights": 2,
"totalAmount": "640.00"
}
]
}
空结果:
{
"code": 200,
"message": "成功",
"success": true,
"data": []
}
缺少酒店筛选:
{
"code": 808172,
"message": "hotelId 或 hotelName 至少传一个",
"success": false
}
前端渲染要求
- 月度对账酒店汇总表每个酒店行增加“订单(查看)”入口;合计行不展示。
- 点击后调用新增接口,参数取当前筛选月份和该酒店行的
hotelId/hotelName。 - 明细弹窗建议展示列:订单号、产品名、出发日期、间夜数、金额。
orderId为字符串,跳订单详情时使用orderId,不要转 Number。- 明细列表订单数应与汇总行
orderCount一致;不一致时前端保留后端返回结果并提示刷新,不要自行重新汇总。 - Excel / PDF 导出暂不变,仍导出酒店汇总。
验收
/housekeeper/ledger的酒店汇总行能看到“订单(查看)”。- 点击呼伦贝尔香格里拉大酒店,弹窗能展示该酒店本月订单明细。
hotelId为空的历史酒店行也能通过hotelName查到订单。- 明细金额、间夜数来自配房表快照聚合,和酒店汇总口径一致。