hl-api-changelog/changelogs-v2/2026-07/10_订单详情联系房务按钮未读红点缺失-前端修复-管理后台.md

3.6 KiB

订单详情「联系房务」按钮未读红点缺失

模块:管理后台 · 订单详情 /order-v2/detail/{orderId} · 行程安排 · 住宿安排 类型:前端修复(复用既有站内信/会话未读数据) 日期2026-07-02 背景:顶部站内信铃铛已有未读红点,站内信列表也能看到当前订单会话未读,但订单详情住宿安排卡片里的「联系房务」按钮没有红点提示,导致用户在订单详情内看不到该订单会话待处理状态。

问题现象

测试订单示例:

  • 订单:HL20260702100458640
  • 页面:/order-v2/detail/2072501756742242305
  • 顶部铃铛:显示未读红点 1
  • 站内信列表:存在未读订单会话 【订单会话】HL20260702100458640 测多旅客五
  • 订单详情:住宿安排卡片「联系房务」按钮未显示红点

【前端 · 管理后台】需改动

1. 「联系房务」按钮展示订单维度未读红点

在订单详情页住宿安排卡片中,只要当前订单存在未读房务/订单会话消息,「联系房务」按钮必须展示未读红点或未读数量。

建议规则:

const showHouseChatUnread =
  currentOrderUnreadCount > 0

展示形式:

  • currentOrderUnreadCount === 1:显示红点或数字 1
  • currentOrderUnreadCount > 1:显示数量,超过上限可显示 99+
  • currentOrderUnreadCount === 0:隐藏红点

2. 未读数据源口径

复用现有站内信/会话未读能力,不需要新增后端接口。

前端需要按订单维度映射未读,不要只看顶部全局未读数:

  • 顶部铃铛红点是全局未读,只能说明“有未读”,不能说明当前订单按钮是否应亮。
  • 订单详情按钮需要按当前 orderId / orderNo / 会话业务 key 匹配对应会话未读数。
  • 如果已有会话列表、未读统计或站内信列表中包含 orderIdorderNobizIdconversationId 等字段,优先使用这些字段做精确映射。
  • 如果当前接口没有可稳定映射到订单的字段,前端需要反馈缺字段,不能静默不展示红点。

3. 点击后的状态同步

用户点击「联系房务」进入会话并读完消息后,需要同步刷新:

  • 当前订单「联系房务」按钮红点
  • 顶部站内信铃铛红点/数量
  • 站内信列表该会话未读状态

建议在以下时机刷新:

  • 订单详情页进入时
  • 打开/关闭聊天窗口后
  • 站内信 SSE / 轮询 / unread-count 更新后
  • 手动点击“全部已读”后

4. 适用范围

本次明确要求修复:

  • 住宿安排卡片:联系房务

如果「联系车务」「联系服务」使用同一套聊天按钮组件,也应复用相同未读红点逻辑,避免只修房务按钮造成同类问题残留。

验收标准

场景 期望
当前订单有 1 条未读订单会话 顶部铃铛显示红点,订单详情「联系房务」按钮也显示红点/数字 1
当前订单无未读,但其他订单有未读 顶部铃铛可显示红点,当前订单「联系房务」按钮不显示红点
点击「联系房务」并读完消息 当前按钮红点消失,顶部铃铛和站内信列表同步更新
切换订单详情 红点按新订单重新计算,不沿用上一个订单状态

涉及页面/能力

页面/能力 说明
/order-v2/detail/{orderId} 订单详情住宿安排卡片「联系房务」按钮
/notification/my-messages 站内信列表已有订单会话未读状态
顶部铃铛 unread-count 全局未读提示,需要与订单维度按钮状态联动刷新