docs(changelog-v2): 新增58_聊天面板订单信息条空白——订单信息在conversations会话卡(已#4066 enrich),前端打开聊天时取来渲染
这个提交包含在:
父节点
3506d7980c
当前提交
1a7103fed3
@ -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),前端打开聊天面板时取来渲染即可,后端无任何代码改动。
|
||||||
正在加载...
x
在新工单中引用
屏蔽一个用户