docs(chat): 真已读readByPeer+im-chat-read SSE + 房务侧detail.messages已上线实测(22_4223§11/22_4237§8, #4288/#4289 PR#4294)
这个提交包含在:
@@ -46,7 +46,22 @@ DAY2 俄式标准房 ×1 ¥280:candidates = [恩和瓦西里民宿, 呼伦贝
|
||||
- 实测(抢单池单 `GET /admin/house/orders/{id}`):`houseStatus=PENDING_CLAIM, houseStatusLabel=待配房, currentStep=1, steps[0].completed=false`。
|
||||
- **内部留言计数**:`tabCounts.messageCount` 由恒 0 改为计入定制师需求(=1)。实测 `messageCount=1`。
|
||||
- **H 留言空态对齐(前端)**:既然口径是「定制师需求算 1 条留言」(messageCount=1),内部留言区**别再显「该订单暂无内部留言」**(与 count=1 自相矛盾,且该文案是前端写死,后端不返)。正确:把「定制师需求」当作**第 1 条留言**展示;真正空态只针对**抢单后**房务↔定制师聊天那部分——抢单前聊天关闭,可显「抢单后可与定制师沟通」之类引导而非笼统「暂无内部留言」。
|
||||
- **H2 抢单池「抢单后可与定制师沟通」门控保持不变(与定制师留言不冲突)**:定制师在抢单前可**单向留言**,这些留言由后端压在 pending、**房务抢单那刻自动整批送达抢到的人**(带未读角标 + SSE)。房务在抢单池里未接单、无身份,先不聊是对的;**抢单后**这些留言会出现在房务↔定制师聊天里。聊天气泡的「已读/留言/已送达」显示口径见 **`22_4223` §10**(后端无「已读」字段,抢单前我方消息标「留言」、抢单后标「已送达」,**别写死「已读」**)。
|
||||
- **H2 抢单池「抢单后可与定制师沟通」门控保持不变(与定制师留言不冲突)**:定制师在抢单前可**单向留言**,这些留言由后端压在 pending、**房务抢单那刻自动整批送达抢到的人**(带未读角标 + SSE)。房务在抢单池里未接单、无身份,先不聊是对的;**抢单后**这些留言会出现在房务↔定制师聊天里。聊天气泡的「已读/留言/已送达」显示口径见 **`22_4223` §10/§11**(后端原无「已读」字段,抢单前标「留言」;#4289 已补真已读 `readByPeer`,抢单后 true=「已读」/false=「已送达」,**别写死「已读」**)。
|
||||
|
||||
## 8.「内部留言」框显示定制师留言(✅ #4288 已上线测试服 + API 实测,可接)
|
||||
|
||||
**现状(你 Image #28 反馈「有留言没显示」)**:房务侧订单详情「内部留言」tab 只显「定制师需求」+「抢单后可与定制师沟通」占位,**定制师抢单前发的留言不显示**(你 Image #29 定制师侧已显 2 条留言,房务侧却看不到)。
|
||||
|
||||
**后端已补(实测 `GET /admin/house/orders/{orderId}`)**:详情 **新增顶层 `messages` 列表**(抢单前定制师留言),`tabCounts.messageCount` 由恒 1 改为 **`1(定制师需求) + N(留言)`**。**抢单池/未抢单也返**——房务在池里浏览即见定制师留了什么话。
|
||||
|
||||
**字段契约**:
|
||||
```
|
||||
data.messages: [ { messageId(String雪花), senderName, senderRole, content, sentAt("yyyy-MM-dd HH:mm:ss"), msgType } ]
|
||||
data.tabCounts.messageCount = 1 + messages.length
|
||||
```
|
||||
**实测**(订单 2068234602970828802,抢单池态):`messageCount=3`,`messages`=[「你好 测试消息」14:05、「确认单发我一下」14:32],与定制师侧 Image #29 一致。
|
||||
|
||||
**前端**:「内部留言」框 = 第 1 条「定制师需求」(沿用现有 requirement 渲染)+ 下面按 `messages` 逐条渲染留言(`senderName` + `content` + `sentAt`)。`senderRole` 抢单前留言可能为 null(恒定制师,按「定制师」渲染即可)。抢单后这些留言并入房务↔定制师聊天,气泡已读口径见 `22_4223 §11`。
|
||||
|
||||
## 6. 操作日志「操作人」别打整串 JSON,渲染 `operator.name`(前端 bug,可立即接)
|
||||
|
||||
|
||||
在新工单中引用
屏蔽一个用户