From 5236c145999b4c60be1061b387f187bed594eaec Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Tue, 11 Aug 2026 17:57:10 +0800 Subject: [PATCH] =?UTF-8?q?changelog(#5846):=20=E9=85=8D=E6=88=BF=E5=80=99?= =?UTF-8?q?=E9=80=89=E5=AE=9A=E5=88=B6=E5=B8=88=E4=B8=BB=E9=80=89/?= =?UTF-8?q?=E5=89=AF=E9=80=89=E6=A0=87=E8=AF=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...…房候选定制师主选副选-修改接å£-管ç†åŽå°.md | 78 +++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 changelogs-v2/2026-08/11_5846_é…æˆ¿å€™é€‰å®šåˆ¶å¸ˆä¸»é€‰å‰¯é€‰-修改接å£-管ç†åŽå°.md diff --git a/changelogs-v2/2026-08/11_5846_é…æˆ¿å€™é€‰å®šåˆ¶å¸ˆä¸»é€‰å‰¯é€‰-修改接å£-管ç†åŽå°.md b/changelogs-v2/2026-08/11_5846_é…æˆ¿å€™é€‰å®šåˆ¶å¸ˆä¸»é€‰å‰¯é€‰-修改接å£-管ç†åŽå°.md new file mode 100644 index 0000000..af32643 --- /dev/null +++ b/changelogs-v2/2026-08/11_5846_é…æˆ¿å€™é€‰å®šåˆ¶å¸ˆä¸»é€‰å‰¯é€‰-修改接å£-管ç†åŽå°.md @@ -0,0 +1,78 @@ +--- +schema: "hl-changelog/v2" +ticket: "5846" +title: "é…æˆ¿å€™é€‰ã€Œå®šåˆ¶å¸ˆæŽ¨èã€æ‹†åˆ†ä¸ºä¸»é€‰/副选:新增 consultantChoiceRank + consultantChoiceLabel" +consumer: "admin" +change_type: "修改接å£" +author: "wx(GIT)" +backend_status: "deployed" +gateway_status: "not_required" +frontend_status: "pending" +frontend_owner: "mmg" +frontend_ref: "" +target_release: "" +verified_at: "2026-08-11" +status_note: "" +updated_at: "2026-08-11" +base: "dev-v3" +--- + +# é…æˆ¿å€™é€‰ï¼šã€Œå®šåˆ¶å¸ˆæŽ¨èã€æ‹†åˆ†ä¸ºä¸»é€‰ / 副选(#5846) + +> **æœåŠ¡**: hl-order-service-v3 +> **PR**: #5863(已åˆå¹¶ dev-v3 并部署测试æœï¼‰ +> **日期**: 2026-08-11 +> **背景**: 房务「é…置酒店ã€å¼¹çª—里,定制师点å的酒店统一显示「定制师推èã€ï¼Œåˆ†ä¸å‡ºä¼˜å…ˆçº§ã€‚wx 转述å¾èޱå£å¾„:**「一个主选,其他都是副选ã€**——定制师需求里排第一ä½çš„候选是主选,其余全部副选。 + +--- + +## å˜æ›´æŽ¥å£ + +`GET /v3/admin/hotel-candidates` —— 候选项**新增 2 个字段**: + +| 字段 | 类型 | å–值 | 说明 | +|---|---|---|---| +| `consultantChoiceRank` | `Integer` | `1` / `2` / `null` | 1=主选,2=副选,null=éžå®šåˆ¶å¸ˆç‚¹å候选 | +| `consultantChoiceLabel` | `String` | `定制师主选` / `定制师副选` / `null` | å¯ç›´æŽ¥æ¸²æŸ“的中文标签 | + +**既有字段 `isConsultantRecommended` / `recommended` / `recommendSource` 行为完全ä¸å˜**(兼容期ä¿ç•™ï¼Œå‰ç«¯åˆ‡æ¢å®ŒæˆåŽå†è®®ä¸‹çº¿ï¼‰ã€‚ + +### 排åºä¿è¯ + +**主选一定排在副选之å‰**。åŽç«¯åœ¨æŽ’åºåŽåšäº†ä¸“门的收å£é‡æŽ’ï¼Œç¡®ä¿æ ‡è¯†ä¸Žé¡ºåºä¸ä¼šè‡ªç›¸çŸ›ç›¾ï¼ˆä¸ä¼šå‡ºçŽ°ã€Œå‰¯é€‰æŽ’åœ¨ä¸»é€‰ä¸Šé¢ã€ï¼‰ã€‚普通候选的相对ä½ç½®ä¸å—å½±å“。 + +### 判定规则(åŽç«¯å·²å®žçŽ°ï¼Œå‰ç«¯ç›´æŽ¥ç”¨å³å¯ï¼‰ + +- 主选 = 定制师需求 `days[].segments[].candidates[]` 里**æ¯æ®µçš„第一个候选** +- ä¸€æ™šæœ‰å¤šæ®µï¼ˆåŒæ™šä½å¤šå®¶ï¼‰æ—¶ï¼Œ**æ¯æ®µå„有一个主选**;候选列表是按天æ‰å¹³è¿”回的,åŒä¸€é…’店若既是 A æ®µä¸»é€‰åˆæ˜¯ B 段副选,按**最高优先级**标为主选 +- æŸ¥è¯¢å‚æ•° `preferredHotelId` **ä¸å½±å“**主/副判定(它åªå‚与置顶展示),所以房务带ä¸åŒå‚æ•°è¿›æ¥çœ‹åˆ°çš„主选ä¸ä¼šå˜ +- å®šåˆ¶å¸ˆåªææˆ¿æ•°æ²¡é€‰é…’åº—çš„å€™é€‰ï¼ˆæ—  `hotelId`)ä¸å‚与标记,两个字段为 `null` + +--- + +## å‰ç«¯è¦åš + +把候选行的「定制师推èã€æ ‡ç­¾æ”¹ä¸ºæŒ‰ `consultantChoiceLabel` 渲染: + +| `consultantChoiceRank` | 标签 | å»ºè®®æ ·å¼ | +|---|---|---| +| `1` | 定制师主选 | 强调色(比现「定制师推èã€æ›´é†’目) | +| `2` | 定制师副选 | 次级色 | +| `null` | 䏿˜¾ç¤ºæ ‡ç­¾ | — | + +直接用 `consultantChoiceLabel` 的文案å³å¯ï¼Œä¸éœ€è¦è‡ªå·±æ ¹æ® rank 拼中文。弹窗顶部「定制师指定酒店已置顶,ä»å¯é€‰æ‹©å…¶ä»–酒店ã€çš„æç¤ºè¯­ç”±å‰ç«¯ç»´æŠ¤ï¼ŒåŽç«¯æœªæ”¹ã€‚ + +--- + +## 验è¯è¯æ® + +2026-08-11 测试æœï¼ˆç½‘å…³ `https://api.test.1814.love:9443`,房务管ç†å‘˜ tokenï¼‰ï¼Œè®¢å• 26-7666: + +| 天 | 需求 days é‡Œçš„å€™é€‰é¡ºåº | 候选查询实测 | +|---|---|---| +| day1 | é˜¿å°”å±±æˆæ‚¦ → 阿尔善国际维景 | `[0]` é˜¿å°”å±±æˆæ‚¦ `rank=1 定制师主选`ã€`[1]` 阿尔善国际维景 `rank=2 定制师副选` | +| day2 | é¢å°”å¤çº³è±ªæ˜Ÿ → é¢å°”å¤çº³ç™½æ¡¦ | `[0]` é¢å°”å¤çº³è±ªæ˜Ÿ `rank=1 定制师主选`ã€`[1]` é¢å°”å¤çº³ç™½æ¡¦ `rank=2 定制师副选` | + +主选å‡åœ¨å‰¯é€‰ä¹‹å‰ï¼Œå…¶ä½™ 19 家候选 `rank=null` 未误标;标识顺åºä¸Žå®šåˆ¶å¸ˆæäº¤é¡ºåºå®Œå…¨ä¸€è‡´ã€‚ + +啿µ‹ï¼šæ ¸å¿ƒ 95 å…¨ç»¿ï¼ˆå«æ–°å¢ž `HotelCandidateConsultantChoiceTest` 9 例ã€`CandidateConsultantChoiceRankTest`),åŒå‘å˜å¼‚验è¯é€šè¿‡ã€‚å…¨é‡ 6515 tests / Failures 0ï¼›5 个 Errors 全在 `AdjustmentRecordMapperIT`(Testcontainers é›†æˆæµ‹è¯•,与本改动零调用关系),**å•è·‘ 5/5 绿**,系本机并行构建的容器资æºç«žäº‰ã€‚