7.0 KiB
7.0 KiB
应急群聊拉人 API 接口文档(移动端联调)
本次新增/变更的接口,Base URL:
{host}/health-emergency/api/emergency
1. 搜索专家(专业人员)
搜索可邀请的专家列表
GET /health-emergency/api/emergency/order/searchExpert
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| realname | String | 否 | 姓名,模糊搜索 |
| centerId | String | 否 | 应急中心ID |
| excludeSessionId | String | 否 | 群组ID,用于排除已在群中的人 |
| pageNo | Integer | 否 | 页码,默认1 |
| pageSize | Integer | 否 | 每页条数,默认10 |
Response:
{
"success": true,
"result": {
"records": [
{
"userId": "xxx",
"realname": "张医生",
"avatar": "https://...",
"type": "6",
"centerId": "xxx",
"post": "主任医师",
"school": "北京大学",
"edu": "博士",
"goodAt": "心血管内科",
"deptName": "急诊科"
}
],
"total": 50,
"size": 10,
"current": 1
}
}
| 字段 | 说明 |
|---|---|
| userId | 用户ID,邀请时传入 memberList |
| realname | 姓名 |
| avatar | 头像 |
| type | 类型,"6"=专业人员 |
| centerId | 应急中心ID |
| post | 职称 |
| school | 毕业院校 |
| edu | 学历 |
| goodAt | 擅长领域 |
| deptName | 科室 |
2. 搜索员工
搜索可邀请的员工列表
GET /health-emergency/api/emergency/order/searchEmployee
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| realname | String | 否 | 姓名,模糊搜索 |
| orgCode | String | 否 | 部门编码 |
| workNo | String | 否 | 工号 |
| phone | String | 否 | 手机号 |
| excludeSessionId | String | 否 | 群组ID,用于排除已在群中的人 |
| pageNo | Integer | 否 | 页码,默认1 |
| pageSize | Integer | 否 | 每页条数,默认10 |
Response:
{
"success": true,
"result": {
"records": [
{
"userId": "xxx",
"realname": "张三",
"avatar": "https://...",
"orgCode": "650000001001",
"orgName": "新疆油田公司",
"deptName": "安全环保部",
"phone": "13800000000",
"workNo": "A00123"
}
],
"total": 200,
"size": 10,
"current": 1
}
}
| 字段 | 说明 |
|---|---|
| userId | 用户ID,邀请时传入 memberList |
| realname | 姓名 |
| avatar | 头像 |
| orgCode | 部门编码 |
| orgName | 单位名称(二级单位) |
| deptName | 部门名称 |
| phone | 手机号 |
| workNo | 工号 |
3. 邀请进群
拉专家或员工加入应急群聊
POST /health-emergency/api/emergency/addGroupUser
Request Body (JSON):
{
"groupId": "1907659384834752513",
"memberList": ["userId1", "userId2"],
"memberType": 1
}
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| groupId | String | 是 | 群组ID(即 createGroupMag 返回的 groupId) |
| memberList | List<String> | 是 | 要邀请的用户ID列表,最多100个 |
| memberType | Integer | 否 | 0=专家/专业人员, 1=员工,默认0 |
Response:
{
"success": true,
"message": "",
"result": true
}
注意: 已在群中的人员会自动跳过,不会报错。所有选中的人都在群中时返回失败。
4. 移除群成员
将成员移出应急群聊
POST /health-emergency/api/emergency/removeGroupUser
Request Body (JSON):
{
"groupId": "1907659384834752513",
"memberList": ["userId1"]
}
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| groupId | String | 是 | 群组ID |
| memberList | List<String> | 是 | 要移除的用户ID列表 |
Response:
{
"success": true,
"message": "",
"result": true
}
注意: 只能移除后续拉入的协助人员,不能移除发起人和初始操作/专业人员。
5. 群成员列表
获取当前群成员及可邀请的专业人员
GET /health-emergency/api/emergency/order/getGroupMemberList
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| sessionId | String | 是 | 群组ID |
Response:
{
"success": true,
"result": [
{
"orderId": "1765357845598556162",
"userId": "发起人id",
"userName": "李四",
"avatar": "https://...",
"isGroupMember": 1,
"memberType": -1
},
{
"orderId": "1765357845598556162",
"userId": "操作人员id",
"userName": "王五",
"avatar": "https://...",
"isGroupMember": 1,
"memberType": 0
},
{
"orderId": "1765357845598556162",
"userId": "专业人员id",
"userName": "张医生",
"avatar": "https://...",
"isGroupMember": 1,
"memberType": 1
},
{
"orderId": "1765357845598556162",
"userId": "员工id",
"userName": "张三",
"avatar": "https://...",
"isGroupMember": 1,
"memberType": 2
},
{
"orderId": "1765357845598556162",
"userId": "其他专业人id",
"userName": "赵医生",
"avatar": "https://...",
"isGroupMember": 0,
"memberType": 1
}
]
}
| 字段 | 说明 |
|---|---|
| orderId | 应急单ID |
| userId | 用户ID |
| userName | 姓名 |
| avatar | 头像 |
| isGroupMember | 1=在群中, 0=可邀请 |
| memberType | -1=发起人, 0=操作人员, 1=专业人员, 2=员工 |
memberType 字典
| 值 | 含义 | 场景 |
|---|---|---|
| -1 | 发起人 | 创建应急的人 |
| 0 | 操作人员 | 应急中心调度员 |
| 1 | 专业人员 | 专家/医生 |
| 2 | 员工 | 普通员工(被拉入群) |
典型调用流程
1. 查看当前成员
GET /health-emergency/api/emergency/order/getGroupMemberList?sessionId={groupId}
→ 展示群成员列表(按 memberType 区分标签展示)
→ isGroupMember=0 的显示为"可邀请"
2. 搜索要拉的人
GET /health-emergency/api/emergency/order/searchExpert?realname=张&excludeSessionId={groupId}
GET /health-emergency/api/emergency/order/searchEmployee?realname=李&excludeSessionId={groupId}
→ 展示搜索结果,用户勾选
3. 确认邀请
POST /health-emergency/api/emergency/addGroupUser
{"groupId": "{groupId}", "memberList": ["id1","id2"], "memberType": 0}
4. 移除成员
POST /health-emergency/api/emergency/removeGroupUser
{"groupId": "{groupId}", "memberList": ["id1"]}
5. 刷新成员列表
GET /health-emergency/api/emergency/order/getGroupMemberList?sessionId={groupId}