队列管理组件

com.cloudroom.cloudroomvideosdk.CloudroomQueue 是队列管理组件,实现队列功能,目的是为了实现用户自动分配。 单例组件,整个程序的生命过程中只能有一个实例。


接口函数

注册、反注册监听回调

void registerCallBack(CloudroomQueueCallback callBack)
  • 功能 注册监听回调
  • 返回值
  • 参数
    • callBack 监听回调对象
void unregisterCallBack(CloudroomQueueCallback callBack)
  • 功能 反注册监听回调
  • 返回值
  • 参数
    • callBack 监听回调对象
void setQueueCallback(CloudroomQueueCallback callBack)
  • 功能 注册监听回调,注:建议使用registerCallBack替代
  • 返回值
  • 参数
    • callBack 监听回调对象

初始化队列

void initQueue(String cookie)
  • 功能 初始化用户队列功能数据
  • 返回值
  • 参数
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串
  • 说明 在响应回调initQueueDatRslt初始化成功后,才可获取队列队列相关信息
  • 回调函数 initQueueDatRslt

刷新所有队列状态

void refreshAllQueueStatus()
  • 功能 刷新所有队列状态信息
  • 返回值
  • 参数
  • 说明 当前排队的队列或服务的队列,sdk自动有状态变化回调;其它队列则需要此函数来查询
  • 回调函数 触发 queueStatusChanged 通知刷新的结果

查询队列

ArrayList<QueueInfo> getAllQueueInfo()
  • 功能 获取队列信息
  • 返回值 队列信息列表,详见定义QueueInfo
  • 参数

获取队列状态

QueueStatus getQueueStatus(int queID)
  • 功能 获指定取队列状态
  • 返回值 队列状态,详见定义QueueStatus
  • 参数
    • queID 队列ID

获取我的排队信息

QueuingInfo getQueuingInfo()
  • 功能获取我的排队信息
  • 返回值 我的排队信息,详见定义QueuingInfo
  • 参数

获取我服务的队列信息

ArrayList<Integer> getServiceQueues()
  • 功能 获取我服务的所有队列
  • 返回值 队列ID列表

获取我的会话信息

VideoSessionInfo getSessionInfo()
  • 功能 获取我的会话信息
  • 返回值 我的会话信息,详见定义VideoSessionInfo

开始 / 停止排队

startQueuing(int queID, String usrExtDat, String cookie)
  • 功能 客户开始排队
  • 返回值
  • 参数
    • queID 排队的队列ID
    • usrExtDat 用户排队扩展数据
    • cookie 用户自定义数据(在响应消息中回传给调用者),不需要时传空字符串
  • 回调函数 startQueuingRslt
void stopQueuing(String cookie)
  • 功能 客户停止排队
  • 返回值
  • 参数
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串
  • 回调函数 stopQueuingRslt

开始 / 停止服务队列

void startService(int queID, String cookie)
  • 功能 开始服务某个队列(可以多次调用,开启对多个队列的服务)
  • 返回值
  • 参数
    • queID 队列ID
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串
  • 回调函数 startServiceRslt
void startService(int queID, int priority, String cookie)
  • 功能 开始服务某个队列(可以多次调用,开启对多个队列的服务)
  • 返回值
  • 参数
    • queID 队列ID
    • priority 座席优先级(缺省为0, 0为最高优先级, 值越大优先级越低)
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串
  • 回调函数 startServiceRslt

开启队列服务成功后:

  1. 如果没有开启免打扰,那么系统会自动分配客户:将收到事件autoAssignUser
  2. 如果开启免打扰,系统就不会分配客户,如需服务客户可调用reqAssignUser

座席优先级描述:

  1. 座席优先级只在服务的队列内部有效;
  2. 客户优先分配给服务此队列优先级最高的,且空闲的座席;
  3. 优先级相同时,则分配给最先空闲的座席;
  4. 优先级高的座席变空闲时,不抢夺已分配的客户;
void stopService(int queID, String cookie)
  • 功能 停止服务某个队列
  • 返回值
  • 参数
    • queID 队列ID
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串
  • 回调函数 stopServiceRslt

请求分配用户

void reqAssignUser(String cookie)
  • 功能 请求分配一个客户
  • 返回值
  • 参数
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串
  • 回调函数 reqAssignUserRslt
  1. 当关闭免打扰时,系统将自动分配客户,无需调用此函数
  2. 当开启免打扰时,系统不再自动分配客户,座席如需服务客户可使用此函数分配

接受 / 拒绝分配的用户

void acceptAssignUser(int queID, String userID, String cookie)
  • 功能 接受系统安排的客户
  • 返回值
  • 参数
    • queID 排队的队列ID
    • userID 队列中的用户ID
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串
void rejectAssignUser(int queID, String userID, String cookie)
  • 功能 拒绝系统安排的客户
  • 返回值
  • 参数
    • queID 排队的队列ID
    • userID 队列中的用户ID
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串

被拒绝的客户将重新回到队列的最前端

通知回调函数

com.cloudroom.cloudroomvideosdk.CloudroomQueue.CloudroomQueueCallback 是队列回调接口

初始化队列结果

void initQueueDatRslt(CRVIDEOSDK_ERR_DEF sdkErr, String cookie)
  • 功能 队列初始化操作结果
  • 参数
    • sdkErr 操作结果代码,成功为CRVIDEOSDK_NOERR,其他详见定义CRVIDEOSDK_ERR_DEF
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串

队列状态变化通知

void queueStatusChanged(QueueStatus queStatus)
  • 功能 队列状态变化通知
  • 参数
    • queStatus 新的队列状态,详见定义QueueStatus
  1. 在排队的队列、或服务的队列发生变化时,将有队列状态变化通知到来
  2. 在调用refreshAllQueueStatus时,查询到的队列数据有变化时,会有通知到来

排队信息变化通知

void queuingInfoChanged(QueuingInfo queuingInfo)
  • 功能 排队信息变化通知
  • 参数

开始 / 停止排队操作结果

void startQueuingRslt(CRVIDEOSDK_ERR_DEF sdkErr, String cookie)
  • 功能 startQueuing 开始排队操作结果
  • 参数
    • sdkErr 操作结果代码,CRVIDEOSDK_NOERR为成功操作,其他详见定义CRVIDEOSDK_ERR_DEF
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串
void stopQueuingRslt(CRVIDEOSDK_ERR_DEF sdkErr, String cookie)
  • 功能 stopQueuing 停止排队操作结果
  • 参数
    • sdkErr 操作结果代码,CRVIDEOSDK_NOERR为成功操作,其他详见定义CRVIDEOSDK_ERR_DEF
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串

开始 / 停止队列服务结果

void startServiceRslt(int queID, CRVIDEOSDK_ERR_DEF sdkErr, String cookie)
  • 功能 startService 开始服务队列操作结果
  • 参数
    • queID 服务的队列ID
    • sdkErr 操作结果代码,CRVIDEOSDK_NOERR为成功操作,其他详见定义CRVIDEOSDK_ERR_DEF
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串
void stopServiceRslt(int queID, CRVIDEOSDK_ERR_DEF sdkErr, String cookie)
  • 功能 stopService 停止服务队列操作结果
  • 参数
    • queID 服务的队列ID
    • sdkErr 操作结果代码,CRVIDEOSDK_NOERR为成功操作,其他详见定义CRVIDEOSDK_ERR_DEF
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串

请求分配用户结果

void reqAssignUserRslt(CRVIDEOSDK_ERR_DEF sdkErr, UserInfo usr,
                String cookie)
  • 功能 请求分配客户操作结果
  • 参数
    • sdkErr 操作结果代码,CRVIDEOSDK_NOERR为成功操作,其他详见定义CRVIDEOSDK_ERR_DEF
    • usr 请求到的队列用户,结构详见定义UserInfo
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串

自动分配用户通知

void autoAssignUser(UserInfo usr)
  • 功能 队列系统自动分配客户
  • 参数
    • usr 请求到的队列用户,结构详见定义UserInfo

如果想停止系统的自动分配,请调用CloudroomVideoMgr中的 setDNDStatus 设置免打扰功能。

自动分配用户被取消

void cancelAssignUser(int queID, String userID)
  • 功能 队列系统取消之前自动分配的的客户
  • 参数
    • queID 服务的队列
    • userID 用户ID

自动分配用户被取消

void responseAssignUserRslt(CRVIDEOSDK_ERR_DEF sdkErr, String cookie)
  • 功能 拒绝、接受分配的用户
  • 参数
    • sdkErr 操作结果代码,CRVIDEOSDK_NOERR为成功操作,其他详见定义CRVIDEOSDK_ERR_DEF
    • cookie 自定义数据(在响应消息中回传给调用者),不需要时传空字符串

队列系统通过接口autoAssignUser给开始队列服务的人自动推送用户,收到系统分配的用户后,如果队列服务者还未决定接受acceptAssignUser还是拒绝rejectAssignUser推送的用户,系统可用取消本次推送,并通过本接口通知队列服务者。

© HeDonghai all right reserved,powered by Gitbook文件修订时间: 2018-11-28 16:10:59

results matching ""

    No results matching ""