diff --git a/changelogs-v2/2026-06/25_站内信订单消息改按会话聚合+团号+跳转_前端对接_管理后台.md b/changelogs-v2/2026-06/25_站内信订单消息改按会话聚合+团号+跳转_前端对接_管理后台.md index 3720754..589145f 100644 --- a/changelogs-v2/2026-06/25_站内信订单消息改按会话聚合+团号+跳转_前端对接_管理后台.md +++ b/changelogs-v2/2026-06/25_站内信订单消息改按会话聚合+团号+跳转_前端对接_管理后台.md @@ -65,16 +65,26 @@ Authorization: Bearer {adminToken} - 时间:`lastMessageAt` - 点击行 → 打开该会话线程(用 `conversationKey` 调线程接口 `GET /admin/message/chat/messages`,已有) -### 3.3 跳转按钮(按**当前登录员工角色**定目标页 —— wx 已确认) -每行加一个「跳转到业务页」按钮,目标页 = **当前登录员工自己的角色**(前端已知当前用户角色,**直接用,不用 peerRole 反推**): +### 3.3 跳转按钮(按**你在该会话里的身份**定目标页 —— wx 2026-06-25 修正) -| 当前员工 | 会话 bizModule | 跳转目标 | 路由(按截图,前端核对实际路由) | -|---------|---------------|---------|------| -| 房务 | HOUSE | **配房页**(房务管家配房) | `/housekeeper/orders`(带 `bizId` 定位/打开该订单配房详情,见截图 Image #4) | -| 车务 | FLEET | **配车页**(车务管家派车) | 车务配车页(带 `bizId`,路由前端定) | -| 定制师 | HOUSE/FLEET | **需求页**(定制师订单详情) | `/order-v2/detail/{bizId}`(行程安排→提交房型需求,见截图 Image #5) | +> ⚠️ 修正:**不能按登录账号的全局角色**(如「超级管理员」同时是房务也是定制师,没法定向)。要按 **你在这条会话里是哪一方** = `peerRole` 反推(对方是谁、你就是另一方)。 -> 跳转只需 `bizId`(订单ID)+ 当前员工角色 + `bizModule`,这些前端都拿得到。后端不提供跳转 URL(避免后端耦合前端路由)。 +| 对方角色 `peerRole` | 你在会话里的身份 | 跳转目标 | 路由(按截图,前端核对实际路由) | +|---------|---------|---------|------| +| `HOUSE`(对方是房务) | 你是**定制师** | **订单详情/需求页** | `/order-v2/detail/{bizId}`(见 Image #5) | +| `FLEET`(对方是车务) | 你是**定制师** | **订单详情/需求页** | `/order-v2/detail/{bizId}` | +| `CUSTOMIZER`(对方是定制师)+ `bizModule=HOUSE` | 你是**房务** | **配房页** | `/housekeeper/orders`(带 `bizId`+`requirementId` 自动开配房详情,见 Image #4) | +| `CUSTOMIZER`(对方是定制师)+ `bizModule=FLEET` | 你是**车务** | **配车页** | 车务配车页(带 `bizId`,路由前端定,best-effort) | + +判定逻辑(伪码): +``` +if peerRole == 'CUSTOMIZER': // 对方是定制师 → 我是业务方 + bizModule == 'HOUSE' ? 配房页 : 配车页 +else: // 对方是房务/车务 → 我是定制师 + 订单详情 /order-v2/detail/{bizId} +``` + +> 跳转只需 `bizId`+`peerRole`+`bizModule`(+ 房务侧 `requirementId` 自动开详情),均在会话列表 VO 里。后端不提供跳转 URL(避免耦合前端路由)。`requirementId` 见 §6 后端增强。 --- @@ -91,6 +101,24 @@ Authorization: Bearer {adminToken} ## 5 注意 -1. `orderNo`/订单维度字段是软依赖 order-v3,测试环境用无真实订单的 bizId(如 88888)时为 null,属正常;真实订单会有团号。 +1. `orderNo`/订单维度字段是软依赖 order-v3,测试环境用无真实订单的 bizId(如 88888)/订单已被删时为 null,属正常;真实存在的订单会有团号(实证:库凡巧 HL20260625134754752 团号/客户名都正常)。 2. 跳转目标页路由以前端实际为准(本文路由摘自截图 Image #4 `/housekeeper/orders`、Image #5 `/order-v2/detail/{id}`)。 3. 有疑问找后端(王骁/wx)对字段。 + +--- + +## 6 后端增强(会话列表 VO 新增字段,订单简介条 + 房务跳转,2026-06-25) + +> 需求:① 从站内信会话列表打开对话时,对话顶部「订单简介条」(关于 **产品名** · 客户·人数 · 团号)也要有(此前仅从订单页进才有,见 Image #8);② 房务跳转要能自动打开配房详情(需 `requirementId`)。 +> 后端在 `/admin/message/chat/conversations`(及 internal `by-biz`)的会话 VO 上新增 4 个字段,均由现成 order-v3 enrich 补齐(order_main 已有产品名/人数,hotel_requirement 已有 requirementId),软依赖降级为 null。 + +| 新增字段 | 类型 | 来源 | 用途 | +|---------|------|------|------| +| `productName` | String | order_main | 订单简介条「产品名」(如 游牧的森林-短途版);仅 HOUSE 会话有 | +| `adultCount` | Integer | order_main | 简介条人数「N 大」 | +| `childCount` | Integer | order_main | 简介条人数「N 小」(前端按需拼「2大1小」) | +| `requirementId` | Long | hotel_requirement | 房务跳转配房页时定位/自动打开该订单配房详情(无房务需求时 null) | + +- 订单简介条 = `productName` + `customerName`(已有)+ `adultCount`/`childCount` + `orderNo`(已有,团号)。打开会话时前端用会话行这几个字段渲染顶部简介条,无需再查订单页。 +- 房务跳转:`/housekeeper/orders?orderId={bizId}&requirementId={requirementId}` 前端据此自动开配房详情(之前只 orderId 落到列表页)。 +- 上线后本节标「已上线」,PR 号补此处。