- 上一版误判产品意图(让前端删在线态)作废 - 规格(wx):抢单后真实在线/离线,抢单前房务专员显示「未知」 - 后端补:SSE presence(Redis+TTL)+chat peerOnline+订单详情claimerId - 正式联调字段等上线测试服验证后更新版
2.4 KiB
2.4 KiB
订单详情「联系房务」面板 在线态/房务专员 —— 需求澄清 + 后端补真实在线态 + claimerId(#4223)
变更类型:📌 需求澄清 + 后端实现中(作废 6-22 上一版「让前端去掉在线态」的结论) 端类型:管理后台(订单详情·定制师侧「行程安排 → 联系房务」聊天面板) 日期:2026-06-22 工单:#4223 | 服务:hl-user-service(在线态/聊天)、hl-order-service-v3(订单详情)
⚠️ 先读:上一版结论作废
上一版 changelog 写「后端无在线态来源,请前端去掉在线/离线绿点」—— 这条作废,抱歉(后端误判产品意图)。在线/离线要保留并做成真的,由后端补能力,不是删功能。
产品规格(wx 拍板 2026-06-22)
| 抢单状态 | 房务专员 | 在线态 |
|---|---|---|
| 抢单后 | 真实接单人姓名 | 真实在线 / 离线 |
| 抢单前(无接单房务) | 「未知」 | 不显示 |
- 抢单前
claimerId / claimerName为空 → 前端显示「未知」、不显示在线点。 - 抢单后显示真实房务专员姓名 + 真实在线/离线状态。
后端正在补(#4223)
- 真实在线态(presence):房务专员(admin)当前登录后台且有活跃实时(SSE)连接 = 在线;离线靠 TTL 反映(near-live,最多约 45s 延迟,本期不做在线态即时推送)。
- 聊天出参加
peerOnline:POST /admin/message/chat/open与GET /admin/message/chat/conversations出参新增peerOnline(Boolean) → 驱动绿点。 - 订单详情补
claimerId:行程住宿需求摘要(hotelRequirementBrief)加claimerId(接单房务 adminId,前端开聊天用peerAdminId;未抢单为 null)。
前端动作
- 在线态绿点:先别删;待后端上线后接
peerOnline(抢单后真实态;抢单前不显示)。 - 房务专员:
claimerName/claimerId为空(未抢单)→ 显示「未知」、不显示在线点;有值 → 显示姓名 + 按peerOnline显示在线/离线。 - 开聊天:抢单后用订单详情的
claimerId作peerAdminId调/chat/open。
⏳ 正式联调
本节先给方向。完整字段 / 示例 / curl 以「后端上线测试服并验证后的更新版 changelog」为准,请勿据此提前联调(避免对未验证契约联调踩坑)。