Files
xj-platform/health-emergency/API文档-应急群聊拉人.md
T

7.0 KiB
Raw Blame History

应急群聊拉人 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}