@
feat(emergency): 新增腾讯IM验证的群成员列表接口,优化searchEmployee模糊搜索 - 新增 /order/getActualGroupMemberList 接口,先查本地参与人员再调腾讯IM验证,以交集为准 - 新增 GetGroupMemberInfoVO,封装腾讯IM get_group_member_info API响应 - TencentCloudImUtil 新增 getGroupMemberInfo 方法,TXController/IMHelloApi 新增对应端点 - GroupMemberVO 新增 isSelf 字段区分本人 (0/1),默认值 0 - searchEmployee 姓名/工号/手机号改为模糊搜索(* 包装实现) - 修复 getActualGroupMemberList IM 调用失败时静默返回空列表的 bug,失败时降级使用本地成员 - 接口文档更新变更摘要,标明新接口替换原 /order/getGroupMemberList 地址 Co-Authored-By: Claude <noreply@anthropic.com> @
This commit is contained in:
@@ -6,8 +6,9 @@
|
||||
|---|------|:---:|------|
|
||||
| 1 | `GET /createGroupMagFirstAider` | **新增** | 急救员建群:不发起音视频通话,自动拉入关爱联络员+急救员1+急救员2 |
|
||||
| 2 | `GET /order/searchExpert` | 补充 | 响应新增 `phone` 字段 |
|
||||
| 3 | `GET /order/getGroupMemberList` | 补充 | 响应新增 `phone` 字段 |
|
||||
| 4 | `order_operator` 表 `operatorType` | 扩展 | 新增值:3=急救人员1, 4=急救人员2, 5=关爱联络员 |
|
||||
| 3 | `GET /order/searchEmployee` | 修复 | 姓名、手机号、员工编号改为模糊搜索(之前为精确匹配) |
|
||||
| 4 | `GET /order/getActualGroupMemberList` | **新增** | 新增实际群成员列表接口,替换原 `/order/getGroupMemberList`。调用腾讯 IM 验证实际群成员,新增 `isSelf` 字段区分本人 |
|
||||
| 5 | `GroupMemberVO` 响应 | 扩展 | 新增 `isSelf` 字段:`0`=不是本人, `1`=是本人 |
|
||||
|
||||
> **memberType 字典**(群成员列表中用):-1=发起人, 0=操作人员, 1=专业人员, 2=员工
|
||||
|
||||
@@ -180,6 +181,8 @@
|
||||
|
||||
### 1.7 群成员列表 `GET /order/getGroupMemberList`
|
||||
|
||||
> ⚠️ 本接口仅查本地 DB,不验证腾讯 IM。**建议改用 1.8 `/order/getActualGroupMemberList`。**
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|:---:|------|
|
||||
| sessionId | String | 是 | 群组ID |
|
||||
@@ -205,7 +208,37 @@
|
||||
| isGroupMember | `1`=在群中, `0`=可邀请 |
|
||||
| memberType | `-1`=发起人, `0`=操作人员, `1`=专业人员, `2`=员工 |
|
||||
|
||||
### 1.8 memberType 字典
|
||||
### 1.8 实际群成员列表 `GET /order/getActualGroupMemberList` 🆕
|
||||
|
||||
> **与 1.7 的区别**:本接口先查本地参与人员,再调用腾讯 IM `get_group_member_info` API 获取群内实际成员,以 IM 成员为准取交集,确保返回的都是 IM 群中真实存在的成员。**不过滤本人,通过 `isSelf` 标识。**
|
||||
|
||||
| 参数 | 类型 | 必填 | 说明 |
|
||||
|------|------|:---:|------|
|
||||
| sessionId | String | 是 | 群组ID |
|
||||
|
||||
```json
|
||||
// 响应 result(与 getGroupMemberList 格式完全一致,但不过滤本人)
|
||||
[
|
||||
{ "orderId": "...", "userId": "当前用户id", "userName": "我", "avatar": "https://...", "phone": "13800000000", "isGroupMember": 1, "memberType": 0, "isSelf": 1 },
|
||||
{ "orderId": "...", "userId": "发起人id", "userName": "李四", "avatar": "https://...", "phone": "13800000001", "isGroupMember": 1, "memberType": -1, "isSelf": 0 },
|
||||
{ "orderId": "...", "userId": "专业人员id", "userName": "张医生", "avatar": "https://...", "phone": "13800000003", "isGroupMember": 1, "memberType": 1, "isSelf": 0 }
|
||||
]
|
||||
```
|
||||
|
||||
| 字段 | 说明 |
|
||||
|------|------|
|
||||
| orderId | 应急单ID |
|
||||
| userId | 用户ID |
|
||||
| userName | 姓名 |
|
||||
| avatar | 头像 |
|
||||
| phone | 手机号 |
|
||||
| isGroupMember | 始终为 `1`(所有返回成员均经 IM 验证在群中) |
|
||||
| memberType | `-1`=发起人, `0`=操作人员, `1`=专业人员, `2`=员工 |
|
||||
| isSelf | `0`=不是本人, `1`=是本人 |
|
||||
|
||||
> **建议**:前端优先使用本接口获取群成员列表,1.7 接口后续可淘汰。
|
||||
|
||||
### 1.9 memberType 字典
|
||||
|
||||
| 值 | 含义 | 场景 |
|
||||
|:---:|------|------|
|
||||
@@ -222,7 +255,8 @@
|
||||
GET /health-emergency/api/emergency/createGroupMag?name=xxx&longitude=xxx&latitude=xxx
|
||||
|
||||
2. 查看当前成员 → 搜索要拉的人 → 确认邀请 → 移除成员 → 刷新列表
|
||||
(同下方急救员流程步骤 2-6)
|
||||
GET /health-emergency/api/emergency/order/getActualGroupMemberList?sessionId={groupId}
|
||||
(以下步骤同急救员流程)
|
||||
```
|
||||
|
||||
**急救员(不发起通话,自动拉关爱/急救员)**:
|
||||
@@ -231,10 +265,9 @@
|
||||
GET /health-emergency/api/emergency/createGroupMagFirstAider?name=xxx&longitude=xxx&latitude=xxx
|
||||
→ 自动拉入:发起人 + 操作人员 + 专业人员 + 关爱联络员 + 急救员1 + 急救员2
|
||||
|
||||
2. 查看当前成员
|
||||
GET /health-emergency/api/emergency/order/getGroupMemberList?sessionId={groupId}
|
||||
→ 展示群成员列表(按 memberType 区分标签展示)
|
||||
→ isGroupMember=0 的显示为"可邀请"
|
||||
2. 查看当前成员(🔀 替换原 /order/getGroupMemberList)
|
||||
GET /health-emergency/api/emergency/order/getActualGroupMemberList?sessionId={groupId}
|
||||
→ 返回经腾讯IM验证的实际群成员,新增 isSelf 字段区分本人
|
||||
|
||||
3. 搜索要拉的人
|
||||
GET /health-emergency/api/emergency/order/searchExpert?realname=张&excludeSessionId={groupId}
|
||||
@@ -249,8 +282,8 @@
|
||||
POST /health-emergency/api/emergency/removeGroupUser
|
||||
{"groupId": "{groupId}", "memberList": ["id1"]}
|
||||
|
||||
6. 刷新成员列表
|
||||
GET /health-emergency/api/emergency/order/getGroupMemberList?sessionId={groupId}
|
||||
6. 刷新成员列表(🔀 替换原 /order/getGroupMemberList)
|
||||
GET /health-emergency/api/emergency/order/getActualGroupMemberList?sessionId={groupId}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user