AnyChat技术支持论坛

标题: 关于视频见证优先级的问题 [打印本页]

作者: 枫之殇    时间: 2016-6-18 13:40
标题: 关于视频见证优先级的问题
1、客户端的优先级在开始登陆的时候没有设置,默认是多少?
2、如果没有设置优先级的话,可以在登陆后改优先级么?
3、如果可以改的话,可以在坐席端对客户的优先级进行修改,用来实现插队的功能么?
4、如果坐席端可以改的话,那么如果多个坐席同时操作时优先级时,这个时候改怎么弄?怎么避免队列混乱的问题?
以上几点主要是为了实现现在的开发的一个手动选择用户视频见证的功能,劳烦解答下,谢谢

作者: admin    时间: 2016-6-18 14:00
1、客户端优先级如果没有设置,默认为0,表示最低优先级;
2、可以在登录后动态修改优先级;
3、如果您想实现插队,有几种途径供参考:
    a)创建一个高优先级的专用队列,需要插队的用户排入这个专用队列,因为该队列的优先级比其他队列高,故会被优先处理;
    b)修改客户端的用户对象优先级,因为该用户的优先级比其它用户高,所以也会被优先处理;
4、坐席不可以直接修改客户对象的优先级,但是可以通过透明通道传送指令给客户端,在客户端本地来修改达到目的;
5、服务器有竞争资源保护策略,若多次对某一属性进行修改,以最后修改的属性值为准;

参考:AnyChat提供业务排队整体解决方案

作者: admin    时间: 2016-6-18 14:02
实现现在的开发的一个手动选择用户视频见证的功能

详细的业务场景是否可以描述一下,我们看是否能给您一些建议?
理论上,使用了AnyChat的业务队列功能,就是自动模式,为什么还需要实现“手动选择”用户呢?

作者: 枫之殇    时间: 2016-6-18 14:06
admin 发表于 2016-6-18 14:00
1、客户端优先级如果没有设置,默认为0,表示最低优先级;
2、可以在登录后动态修改优先级;
3、如果您想 ...

客户端本地修改时什么意思?是说坐席通过透明通道传过去之后,客户端接收该参数,再调用修改优先级的API这种方式来实现,还是?
作者: 枫之殇    时间: 2016-6-18 14:15
admin 发表于 2016-6-18 14:02
详细的业务场景是否可以描述一下,我们看是否能给您一些建议?
理论上,使用了AnyChat的业务队列功能, ...

自动模式,不能直观的体现出队列中用户的排队情况,业务需求要显示队列中用户的姓名来体现排队情况,增加手动选择用户的操作,可以实现对极个别的用户进行插队处理,目前我通过数据库的方式(后期优化准备用缓存)来实现了队列中姓名的方式展示队列信息,但是手动的选择用户接入的就碰到了这种问题,因为虽然改了,但是,接入用户的模式的还是跟自动模式的一样的,从第一个开始接入,所以就想到了通过改优先级的方式来实现对手动选择需求的实现。提升用户优先级,让其处在队列的第一位,然后与自动接入模式一样,目前的场景就是这样
作者: 枫之殇    时间: 2016-6-18 14:20
admin 发表于 2016-6-18 14:00
1、客户端优先级如果没有设置,默认为0,表示最低优先级;
2、可以在登录后动态修改优先级;
3、如果您想 ...

登陆后动态修改优先级,也就是说,如果拿到了从透明通道那边传过来的参数,客户端调用优先级的API就可以实现动态的修改优先级么
作者: admin    时间: 2016-6-18 14:26
如果拿到了从透明通道那边传过来的参数,客户端调用优先级的API就可以实现动态的修改优先级么

是的。
作者: 枫之殇    时间: 2016-6-18 15:06
admin 发表于 2016-6-18 14:26
是的。

调用修改优先的API方法后,是不是要将数据同步到服务器?
作者: admin    时间: 2016-6-18 15:14
应该不需要,会自动同步修改服务器端的优先级。
作者: 枫之殇    时间: 2016-6-18 15:17
但是我这边 通过透明通道传过来的参数 设置优先级为10 用户的队列信息 还是没变化耶
代码如下:
queueParam.user_id:用户id
status:透明通道接收参数10
var err = BRAC_ObjectSetValue(ANYCHAT_OBJECT_TYPE_CLIENTUSER, queueParam.user_id, ANYCHAT_OBJECT_INFO_PRIORITY, status);
返回是0应该是说设置成功了吧,但是队列还是没变化
作者: 枫之殇    时间: 2016-6-18 15:18
admin 发表于 2016-6-18 15:14
应该不需要,会自动同步修改服务器端的优先级。

加了同步的方法 也没变化,是我代码里写错了么?
作者: admin    时间: 2016-6-18 15:28
设置优先级为10 用户的队列信息 还是没变化耶

您是如何确认队列信息没有变化呢,设置后,下一次服务的,应该就是被设置的用户了,如果他的优先级最高的话。
作者: 枫之殇    时间: 2016-6-18 15:34
admin 发表于 2016-6-18 15:28
您是如何确认队列信息没有变化呢,设置后,下一次服务的,应该就是被设置的用户了,如果他的优先级最高的 ...

1、为在登录的时候 是没设置优先级的,所以按优先级的逻辑的话,应该涉及了之后 首先变化的应该是队列的吧2、是在没开始服务之前设置的,所以 当设置了完了优先级后再去走服务的API的话 应该是会去接入设置的优先级的用户的吧
测试的时候 按上面的方式改变了排第二的用户 的优先级,但是队列没变化,他还是在第二位,而服务的 也是第一位 不是改了优先级的第二位
作者: 枫之殇    时间: 2016-6-18 15:39
admin 发表于 2016-6-18 15:28
您是如何确认队列信息没有变化呢,设置后,下一次服务的,应该就是被设置的用户了,如果他的优先级最高的 ...

在demo上测试也没改变也队列耶

LZ(@Z6TC3I[U`$N8T}C@N7P.png (38.93 KB, 下载次数: 3079)

LZ(@Z6TC3I[U`$N8T}C@N7P.png

作者: admin    时间: 2016-6-18 15:40
那可能需要先离开之前的队列,然后设置优先级,最后再重新进入队列,队列才会变化。

如果只是单纯的设置用户的优先级,是不会改变队列属性的。
作者: admin    时间: 2016-6-18 15:51
创建一个高优先级的专用队列,需要插队的用户排入这个专用队列,因为该队列的优先级比其他队列高,故会被优先处理;

您可以试试这套方案,服务器在初始化时多创建一个队列,优先级高一些。




欢迎光临 AnyChat技术支持论坛 (http://bbs.anychat.cn/) Powered by Discuz! X3