From eaa784994d54301b8c62ae0e7a845d46cc65793a Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Tue, 7 Jul 2026 18:17:50 +0800 Subject: [PATCH] docs(frontend): add house ledger order detail contract --- ...¡æœˆåº¦å¯¹è´¦é…’åº—è®¢å•æŸ¥çœ‹-å‰ç«¯å¾…处ç†-管ç†åŽå°.md | 88 +++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 changelogs-v2/2026-07/42_4821_æˆ¿åŠ¡æœˆåº¦å¯¹è´¦é…’åº—è®¢å•æŸ¥çœ‹-å‰ç«¯å¾…处ç†-管ç†åŽå°.md diff --git a/changelogs-v2/2026-07/42_4821_æˆ¿åŠ¡æœˆåº¦å¯¹è´¦é…’åº—è®¢å•æŸ¥çœ‹-å‰ç«¯å¾…处ç†-管ç†åŽå°.md b/changelogs-v2/2026-07/42_4821_æˆ¿åŠ¡æœˆåº¦å¯¹è´¦é…’åº—è®¢å•æŸ¥çœ‹-å‰ç«¯å¾…处ç†-管ç†åŽå°.md new file mode 100644 index 0000000..bd59ec4 --- /dev/null +++ b/changelogs-v2/2026-07/42_4821_æˆ¿åŠ¡æœˆåº¦å¯¹è´¦é…’åº—è®¢å•æŸ¥çœ‹-å‰ç«¯å¾…处ç†-管ç†åŽå°.md @@ -0,0 +1,88 @@ +# æˆ¿åŠ¡æœˆåº¦å¯¹è´¦é…’åº—è¡Œå¢žåŠ è®¢å•æŸ¥çœ‹ + +- å·¥å•:HL #4821 +- 状æ€ï¼šfront-end todo +- å½±å“端:管ç†åŽå°æˆ¿åŠ¡ç®¡å®¶ / 月度对账 `/housekeeper/ledger` + +## 背景 + +月度对账页现在åªå±•ç¤ºâ€œé…æˆ¿å®Œæ¯•订å•酒店汇总â€ï¼Œç”¨æˆ·éœ€è¦åœ¨æ¯ä¸ªé…’店汇总行上继续查看该酒店本月涉åŠçš„è®¢å•æ˜Žç»†ã€‚åŽç«¯å·²è¡¥å……æŒ‰é…’åº—æŸ¥è¯¢è®¢å•æ˜Žç»†æŽ¥å£ï¼Œå‰ç«¯åœ¨é…’店汇总行增加“订å•(查看)â€å…¥å£ã€‚ + +## æ–°å¢žæŽ¥å£ + +```http +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 çš„åŒå酒店。 + +## å“应示例 + +```json +{ + "code": 200, + "message": "æˆåŠŸ", + "success": true, + "data": [ + { + "orderId": "2074303545149980674", + "orderNo": "HL20260707092437709", + "productName": "测试核心产å“-啿¡£-固定订金", + "departDate": "2026-07-23", + "hotelId": "1234567890123", + "hotelName": "呼伦è´å°”香格里拉大酒店", + "roomNights": 2, + "totalAmount": "640.00" + } + ] +} +``` + +空结果: + +```json +{ + "code": 200, + "message": "æˆåŠŸ", + "success": true, + "data": [] +} +``` + +缺少酒店筛选: + +```json +{ + "code": 808172, + "message": "hotelId 或 hotelName 至少传一个", + "success": false +} +``` + +## å‰ç«¯æ¸²æŸ“è¦æ±‚ + +1. 月度对账酒店汇总表æ¯ä¸ªé…’店行增加“订å•(查看)â€å…¥å£ï¼›åˆè®¡è¡Œä¸å±•示。 +2. 点击åŽè°ƒç”¨æ–°å¢žæŽ¥å£ï¼Œå‚æ•°å–当å‰ç­›é€‰æœˆä»½å’Œè¯¥é…’店行的 `hotelId` / `hotelName`。 +3. 明细弹窗建议展示列:订å•å·ã€äº§å“åã€å‡ºå‘日期ã€é—´å¤œæ•°ã€é‡‘é¢ã€‚ +4. `orderId` 为字符串,跳订å•详情时使用 `orderId`,ä¸è¦è½¬ Number。 +5. æ˜Žç»†åˆ—è¡¨è®¢å•æ•°åº”与汇总行 `orderCount` 一致;ä¸ä¸€è‡´æ—¶å‰ç«¯ä¿ç•™åŽç«¯è¿”回结果并æç¤ºåˆ·æ–°ï¼Œä¸è¦è‡ªè¡Œé‡æ–°æ±‡æ€»ã€‚ +6. Excel / PDF 导出暂ä¸å˜ï¼Œä»å¯¼å‡ºé…’店汇总。 + +## 验收 + +- `/housekeeper/ledger` 的酒店汇总行能看到“订å•(查看)â€ã€‚ +- 点击呼伦è´å°”é¦™æ ¼é‡Œæ‹‰å¤§é…’åº—ï¼Œå¼¹çª—èƒ½å±•ç¤ºè¯¥é…’åº—æœ¬æœˆè®¢å•æ˜Žç»†ã€‚ +- `hotelId` 为空的历å²é…’店行也能通过 `hotelName` 查到订å•。 +- 明细金é¢ã€é—´å¤œæ•°æ¥è‡ªé…房表快照èšåˆï¼Œå’Œé…’店汇总å£å¾„一致。