From 6cbed28e94ee4a56ff8fd3aa10067c675217903e Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Thu, 25 Jun 2026 17:55:55 +0800 Subject: [PATCH] =?UTF-8?q?docs(changelog-v2):=20=E9=85=8D=E6=88=BF?= =?UTF-8?q?=E7=BB=9F=E4=B8=80=E6=8D=A2=E9=85=92=E5=BA=97=E5=86=99=E5=8F=A3?= =?UTF-8?q?=20+=20=E5=8E=BB=E6=8D=A2=E9=85=92=E5=BA=97=E6=8C=89=E9=92=AE?= =?UTF-8?q?=20+=20=E5=9B=9E=E6=98=BE=E5=B7=B2=E9=85=8D=E9=85=92=E5=BA=97?= =?UTF-8?q?=20(#4407)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...¢é…’店写å£-去æ¢é…’店按钮-回显已é…酒店-管ç†åŽå°.md | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 changelogs-v2/2026-06/25_4407_é…æˆ¿ç»Ÿä¸€æ¢é…’店写å£-去æ¢é…’店按钮-回显已é…酒店-管ç†åŽå°.md diff --git a/changelogs-v2/2026-06/25_4407_é…æˆ¿ç»Ÿä¸€æ¢é…’店写å£-去æ¢é…’店按钮-回显已é…酒店-管ç†åŽå°.md b/changelogs-v2/2026-06/25_4407_é…æˆ¿ç»Ÿä¸€æ¢é…’店写å£-去æ¢é…’店按钮-回显已é…酒店-管ç†åŽå°.md new file mode 100644 index 0000000..4c539c0 --- /dev/null +++ b/changelogs-v2/2026-06/25_4407_é…æˆ¿ç»Ÿä¸€æ¢é…’店写å£-去æ¢é…’店按钮-回显已é…酒店-管ç†åŽå°.md @@ -0,0 +1,45 @@ +# é…æˆ¿ç»Ÿä¸€æ¢é…’åº—å†™å£ â€” 去「æ¢é…’åº—ã€æŒ‰é’® + 回显已é…酒店 + æ ¹æ²»é…æˆ¿é‡æè¶…å– + +> å˜æ›´ç±»åž‹ï¼šâ™»ï¸ 釿ž„(åŽç«¯ï¼Œ**房务管家å‰ç«¯éœ€é…åˆï¼šåŽ»æ¢é…’店按钮 + 候选回显**) +> 端类型:管ç†åŽå°ï¼ˆæˆ¿åŠ¡ç®¡å®¶Â·é…æˆ¿/æ¢é…’店) +> 日期:2026-06-25 | å·¥å•:#4401 | PR:#4407(在 #4402 基础上é‡å†™ï¼‰ï½œ æœåŠ¡ï¼šhl-order-service-v3(åŒå®žä¾‹å·²éƒ¨ç½² health UP,**æµ‹è¯•æœ API+DB 实测全通过**) + +--- + +## 背景 +ã€Œé…æˆ¿ã€ä¸Žã€Œæ¢é…’åº—ã€æœ¬è´¨åŒä¸€åŠŸèƒ½ï¼ˆåŒåŸŽåŒæ—¥é€‰é…’店+房型)。原两个按钮/两æ¡åŽç«¯è·¯å¾„,且æ¢é…’店候选æ¼ä¼  roomTypeId 导致æäº¤æŠ¥ `808403 新酒店库存扣å‡å¤±è´¥`ã€‚æœ¬å•æŠŠæ¢é…’店**并入酿ˆ¿ä¿å­˜å”¯ä¸€å†™å£**,去æ¢é…’åº—æŒ‰é’®ï¼Œå¹¶æ ¹æ²»ã€Œé…æˆ¿é‡æåŒå¤©æ¢é…’åº—â†’æ–°åº—ä¸æ‰£(è¶…å–)/旧店ä¸é‡Šæ”¾(泄æ¼)ã€æ½œä¼ P0。 + +--- + +## å‰ç«¯å¿…改(房务管家,mmg) + +### 1. 去掉「æ¢é…’åº—ã€æŒ‰é’®ï¼Œæ”¹æˆ¿ç»Ÿä¸€èµ°ã€Œé…房〠+- **æ¢é…’店 3 个端点已删除**,å‰ç«¯åœæ­¢è°ƒç”¨ï¼š + - `GET /v3/admin/order/swap-hotel/candidates`(删) + - `POST /v3/admin/order/swap-hotel/preview`(删) + - `POST /v3/admin/order/swap-hotel/commit`(删) +- **æ”¹æˆ¿ç»Ÿä¸€èµ°é…æˆ¿ä¿å­˜**:`POST /v3/admin/order/hotel-requirements/{requirementId}/assignments`(§2.2ï¼ŒåŽŸé…æˆ¿ä¿å­˜æŽ¥å£ï¼‰ã€‚ç»™æŸå¤©æäº¤ä¸€ä¸ªæ–°çš„酒店/房型 item å³å®Œæˆã€Œæ¢é…’店ã€â€”—åŽç«¯è‡ªåŠ¨è¯†åˆ«ï¼šåŒé…’åº—åŒæˆ¿åž‹åŒé—´æ•°=幂等ä¸åŠ¨ï¼›é…’åº—/房型/é—´æ•°å˜=替æ¢ï¼ˆé‡Šæ”¾æ—§åº—库存+扣新店+软删旧行+ä¿ç•™ swap 血缘+呿¢åº—通知)。**一个 item 一个 (天,酒店,房型),åŒå¤©åŒä¸‰å…ƒç»„ä¸è¦é‡å¤æäº¤**(åŽç«¯ 808117 拒,请åˆå¹¶é—´æ•°ï¼‰ã€‚ + +### 2. é…æˆ¿å€™é€‰å›žæ˜¾ã€Œæœ¬å¤©å½“å‰å·²é…酒店ã€ï¼ˆç”¨æˆ·è¦æ±‚) +`GET /v3/admin/hotel-candidates?orderId=&dayNumber=` 候选项 `candidates[]` **新增 2 字段**: +- `isCurrentlyAssigned`(Boolean):该候选是å¦=本天当å‰å·²é…酒店。å‰ç«¯æ®æ­¤**高亮/默认选中**原酒店。 +- `assignedRoomTypeId`(String 雪花):本天已é…的房型 ID,供**预填原房型下拉**。 +- å·²é…酒店**ä¿è¯å‡ºçŽ°åœ¨å€™é€‰ç»“æžœä¸­**(å³ä½¿æŽ’åºé åŽä¹Ÿå¼ºåˆ¶ä¿ç•™ï¼Œä¸è¢« limit 截断)。 +- å€™é€‰é¡¹æœ¬å°±å« `tags`(è¿è¥æ ‡ç­¾ï¼‰ã€`roomTypes[]`(roomTypeId/房型/å议价/å¯ç”¨æ•°ï¼‰â€”—æ¢é…’店选房直接å¤ç”¨é…房候选这套,标签照常展示。 + +### 3. 订å•详情 currentAssignment è¡¥ roomTypeId +`GET /admin/house/orders/{orderId}` → `itinerary[].currentAssignment` **新增 `roomTypeId`**(String 雪花),供详情侧精确回显/预填原房型。 + +--- + +## åŽç«¯è¡Œä¸ºï¼ˆå‰ç«¯çŸ¥æ‚‰å³å¯ï¼‰ +- é…æˆ¿ä¿å­˜æŒ‰å¤©å¯¹è´¦ï¼šæŸå¤©æ¢é…’店时先释放旧酒店库存ã€å†ç”¨éš”离幂等键扣新酒店(根治åŒå¤©å¤šæˆ¿åž‹/æ¢åº—å¤ç”¨é”®çŸ­è·¯ä¸æ‰£çš„è¶…å–ï¼‰ï¼Œè½¯åˆ æ—§è¡ŒåŽæ–°è¡Œ `swap_from_id` æŒ‡å‘æ—§è¡Œã€‚ +- æ¢é…’店(hotelId 真å˜ï¼‰ä»å‘ 3 æ¡é€šçŸ¥ï¼ˆæ—§åº—/新店/客户,走通知中心)+ 写 SWAP_SUCCESS 审计 + 自动归档 SWAP_HOTEL 待办。 +- 原 `808403` ä¸å†å¤çŽ°ï¼ˆé…æˆ¿å€™é€‰è‡ªå¸¦ roomTypeId)。 + +--- + +## 测试æœå®žæµ‹ï¼ˆå·²é€šè¿‡ï¼‰ +- 回显:候选 day2 正确标已é…酒店 `isCurrentlyAssigned=true`+`assignedRoomTypeId`;详情 currentAssignment è¿” roomTypeId。 +- æ¢é…’åº—ï¼šé…æˆ¿ä¿å­˜æ¢æŸå¤©é…’店 → 旧行软删+åº“å­˜é‡Šæ”¾ã€æ–°è¡Œ swap è¡€ç¼˜ã€æ¯å¤©ä»… 1 activeã€æ–°æ—§å¹‚等键隔离真扣。 +- 多房型åŒå¤©ï¼šä¸€æ¬¡æäº¤ 2 房型 → å„自独立扣å‡ï¼ˆé”®ä¸åŒã€ä¸çŸ­è·¯ï¼‰ã€‚