From cde332a840fa07bf5fbb2dd176fb7b2eca0da7a3 Mon Sep 17 00:00:00 2001 From: API Changelog Bot Date: Wed, 1 Jul 2026 15:17:12 +0800 Subject: [PATCH] =?UTF-8?q?docs(changelog):=20=E8=BD=A6=E5=8A=A1=E7=9C=8B?= =?UTF-8?q?=E6=9D=BF=E5=88=97=E8=A1=A8=E7=BA=A2=E7=82=B9=E5=B7=B2=E8=90=BD?= =?UTF-8?q?=E5=9C=B0=E5=8E=BB=E5=BE=85=E5=AE=9A(PR=20#4698/#4695)=E2=80=94?= =?UTF-8?q?=E2=80=94BoardOrderRecordVO=20+orderId=20+unreadMessageCount?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 原 02_4689 §订单列表红点 标注「待定(端点待确认)」,现确认=派单看板 /admin/fleet/board/orders, 照房务 grab-pool 服务端注入 unreadMessageCount + 数字 orderId(前端开会话/红点用),已合并部署实测。 --- ...车务订单聊天_定制师车务团队_新接口_管理后台.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/changelogs-v2/2026-07/02_4689_车务订单聊天_定制师车务团队_新接口_管理后台.md b/changelogs-v2/2026-07/02_4689_车务订单聊天_定制师车务团队_新接口_管理后台.md index 6d683e3..bf8cd55 100644 --- a/changelogs-v2/2026-07/02_4689_车务订单聊天_定制师车务团队_新接口_管理后台.md +++ b/changelogs-v2/2026-07/02_4689_车务订单聊天_定制师车务团队_新接口_管理后台.md @@ -2,7 +2,7 @@ > 模块:管理后台 · 车管控制台 · 订单聊天 > 类型:**后端新增(已合并 dev-v3 + 部署测试服 + API 实测)** + 前端接入 -> 日期:2026-07-01 · 关联 PR #4690 / 工单 #4689 +> 日期:2026-07-01 · 关联 PR #4690(聊天本体)+ #4698(看板列表红点+数字 orderId) / 工单 #4689 + #4695 > 说明:车务聊天是**房务订单聊天的团队化镜像**——会话键 `FLEET:{orderId}`,与房务 `HOUSE:{orderId}` 同构,大部分聊天接口**复用**。 ## 模型 @@ -30,12 +30,17 @@ body:`{"orderId": 2071784830965620737}`(必填;可选 `peer`) - 车务回复:`senderRole=FLEET`。 - **定制师广播:`senderRole=null`**(团队会话无单一收件人的历史设计)。前端在 FLEET 会话内**按「非 FLEET 即定制师」渲染徽章**(有 `senderName` 可显示姓名)。 -## 【订单列表红点——需后端订单列表接口配合(待定)】 -车务侧「订单列表行内红点」的数据源是 `biz-unread-batch`(bizModule=FLEET,团队共享未读),但它是**服务间 internal 接口(Feign 直连、不经网关,前端不能直接调)**。 -- 需要**车管控制台订单列表所走的那个后端列表接口**像房务 `grab-pool` 一样,内部调 `biz-unread-batch(bizModule=FLEET)` 把每单未读塞进列表项(字段如 `unreadMessageCount`)。 -- ⚠️ **待确认**:车管控制台的订单列表走哪个后端接口(order-v3 用车需求列表 / fleet-service 派单列表)?确定后由后端补这段 FLEET 未读透传(小改)。本次 PR 只交付了聊天本体 + 未读机制,列表透传是下一步。 +## 【订单列表红点——已落地(PR #4698 / 工单 #4695)】 +车管控制台订单列表 = **派单看板列表** `GET /admin/fleet/board/orders`(原型「联系定制师+红点」按钮挂在从该列表打开的派车弹窗,按 order.id 取未读)。已照房务 `grab-pool` 既定模式在该端点**服务端注入**,前端直接读每行字段,无需自己调 internal 接口: + +### 派单看板列表行 `BoardOrderRecordVO` 新增 2 字段 +- **`orderId`**(String·数字雪花):该单数字订单 id。⚠️ 原有 `id` 是**展示号**(如 `HL20260627115248778`),**不能**当会话键;前端开车务会话 `open-fleet`(会话键 `FLEET:{orderId}`)、行内红点都用这个 `orderId`。 +- **`unreadMessageCount`**(Integer):本单**车务团队共享**未读数(定制师发未读→全体车务该行亮红点;任一车务读→全体清零;车务之间回复不计)。默认 0;user-service 不可达时软降级为 0,不影响列表。 + +前端车管控制台订单列表/派车弹窗直接:行 `unreadMessageCount>0` 显红点(`>9` 显 `9+`)、点「联系定制师」用行 `orderId` 调 `open-fleet`。矩阵/其它订单视图如需同款红点,拿到 `orderId` 后走同一 `open-fleet`/未读机制即可(看板列表是主入口,已透出)。 ## 已验证 - open-fleet 实测:200 + 订单卡(HL20260630103610215·吕思远·游牧的森林-短途版)+ 会话三行(车务→定制师 / 定制师→团队 / admin_id=0 团队共享水位行)。 - 车务发消息→定制师收到(unread+1);车务读→团队共享水位推进(任一车务读全体清零)。 - 单测 user-service 3099 绿(房务基线零回归)。 +- **看板列表红点(PR #4698)实测**:`/admin/fleet/board/orders` 74 单每行含 `orderId`(真数字雪花)+ `unreadMessageCount`;定制师向某单广播一条→重查该行 `unreadMessageCount=1`(团队未读联动看板);user-service 软降级路径不阻断列表。fleet-service 全量 1307 测试绿、ArchTest 11/11。