From 1a7103fed3047b98093bf07879c7781a404ce1cb Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Tue, 30 Jun 2026 14:42:58 +0800 Subject: [PATCH] =?UTF-8?q?docs(changelog-v2):=20=E6=96=B0=E5=A2=9E58=5F?= =?UTF-8?q?=E8=81=8A=E5=A4=A9=E9=9D=A2=E6=9D=BF=E8=AE=A2=E5=8D=95=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=E6=9D=A1=E7=A9=BA=E7=99=BD=E2=80=94=E2=80=94=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E4=BF=A1=E6=81=AF=E5=9C=A8conversations=E4=BC=9A?= =?UTF-8?q?=E8=AF=9D=E5=8D=A1(=E5=B7=B2#4066=20enrich),=E5=89=8D=E7=AB=AF?= =?UTF-8?q?=E6=89=93=E5=BC=80=E8=81=8A=E5=A4=A9=E6=97=B6=E5=8F=96=E6=9D=A5?= =?UTF-8?q?=E6=B8=B2=E6=9F=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...从conversations会话卡取订单信息渲染_前端处理-管理后台.md | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 changelogs-v2/2026-06/58_聊天会话面板订单信息条空白_前端从conversations会话卡取订单信息渲染_前端处理-管理后台.md diff --git a/changelogs-v2/2026-06/58_聊天会话面板订单信息条空白_前端从conversations会话卡取订单信息渲染_前端处理-管理后台.md b/changelogs-v2/2026-06/58_聊天会话面板订单信息条空白_前端从conversations会话卡取订单信息渲染_前端处理-管理后台.md new file mode 100644 index 0000000..6ce11d2 --- /dev/null +++ b/changelogs-v2/2026-06/58_聊天会话面板订单信息条空白_前端从conversations会话卡取订单信息渲染_前端处理-管理后台.md @@ -0,0 +1,42 @@ +# 聊天会话面板顶部「订单信息」条空白——订单信息在 `conversations` 会话卡上,前端打开聊天时去取并渲染 + +> 模块:管理后台 · 站内信聊天会话面板(订单消息点进聊天后顶部的订单信息条) +> 类型:**前端处理**(订单信息后端早已提供,无需改后端) +> 日期:2026-06-30 +> 反馈来源:wx 手动测试(从「订单消息」tab 点进 王骁 会话,聊天面板顶部「订单信息」区空白) +> 关联:57_(订单消息 tab 已用 `list?messageType=ORDER` 修好,现进一步看聊天面板) + +## 现象 +在「订单消息」tab 点开某条订单消息 → 右侧弹出聊天会话面板,顶部「对方姓名/角色/在线」下面那条**「订单信息」区是空白**(用户标注「咋没有订单信息呢」),只看到聊天气泡,看不到这条会话是关于哪个订单(团号/客户/目的地/状态等)。 + +## 根因(前端取数据源取错了,后端数据齐全) +前端打开聊天面板走的两个接口**都不含订单信息**,订单信息在**第三个接口的会话卡**上: +- `POST /admin/message/chat/open-house`(打开/找回会话)→ 只返 `conversationKey / peerName / peerRole / peerOnline / unreadCount / isNew`,**无订单信息**; +- `GET /admin/message/chat/{conversationKey}/messages`(拉线程消息)→ 只返聊天消息列表,**无订单信息**; +- ✅ **`GET /admin/message/chat/conversations`(我的会话列表)的会话卡(`ChatConversationRespVO`)才带完整订单信息**(工单 #4066 已 enrich,经 Feign 从 order-v3 批量补齐),后端实测这些字段都已填充。 + +## 后端现状(已提供,勿改后端) +`GET /admin/message/chat/conversations?bizModule=HOUSE&bizId={订单id}` 返回该订单的会话卡,含订单信息字段(HOUSE 会话才有,order-v3 不可达时留空、不阻断): + +| 字段 | 含义 | 例 | +|------|------|-----| +| `orderNo` | 订单号/团号 | HL20260630103610215 | +| `customerName` | 订单联系人 | 吕思远 | +| `destination` | 目的地 | 云南·大理 | +| `tripDays` | 行程天数 | 5 | +| `bizStatusLabel` | 业务状态标签(中文) | 待配房 | +| `progressDesc` | 进度描述 | 已配 2/4 间 | +| `productName` | 产品名 | 游牧的森林-短途版 | +| `adultCount` / `childCount` | 成人/儿童数(前端拼「2大1小」) | 2 / 1 | +| `requirementId` | 房务需求ID(跳配房页用,无则 null) | 70456 | +| `peerName` / `peerRole` / `peerRoleLabel` / `peerOnline` | 对方信息 | 王骁 / CUSTOMIZER / 定制师 / true | + +## 【前端处理】 +打开 HOUSE 订单聊天会话面板时,**额外调一次 `GET /admin/message/chat/conversations?bizModule=HOUSE&bizId={orderId}&pageNo=1&pageSize=10`**,用返回的会话卡渲染顶部「订单信息」条(团号 / 客户 / 目的地 / 天数 / 状态 / 进度 / 产品 / 人数 等): +- **orderId 来源**:HOUSE 订单会话键格式是 `HOUSE:{orderId}`(如 `HOUSE:2071784830965620737`),从 `conversationKey` 冒号后解析;或直接用收件箱「订单消息」行的 `bizId`(即订单 id)。 +- 返回可能含同订单的多条会话(定制师↔房务、组长↔房务),按 `conversationKey` 取与当前打开会话匹配的那条即可(订单信息同 orderId 一致,取任一条的订单字段也行)。 +- 仅 `conversationKey` 以 `HOUSE:` 开头(订单维度会话)才渲染订单信息条;DIRECT/非订单会话无此条。 +- 字段为空(order-v3 暂不可达 / 非 HOUSE)时隐藏对应项即可,不报错。 + +## 备注(无后端改动) +本说明仅澄清既有接口契约——订单信息后端已在 `conversations` 会话卡提供(#4066),前端打开聊天面板时取来渲染即可,后端无任何代码改动。