当前位置:Gxlcms > PHP教程 > 怎样让新注册的会员,自动分配客服?

怎样让新注册的会员,自动分配客服?

时间:2021-07-01 10:21:17 帮助过:52人阅读

每注册一个新会员,自动分配一个客服

客服一共有3个(以后会增加更多客服) 怎样处理?
第一个新会员, 客服1
第二个新会员,客服2
第三个新会员,客服3
第四个新会员,客服1
...

我是先查询出客服表中所有客服,然后更新新注册会员表中客服字段。
现在是怎样让之间一一对应?

回复内容:

每注册一个新会员,自动分配一个客服

客服一共有3个(以后会增加更多客服) 怎样处理?
第一个新会员, 客服1
第二个新会员,客服2
第三个新会员,客服3
第四个新会员,客服1
...

我是先查询出客服表中所有客服,然后更新新注册会员表中客服字段。
现在是怎样让之间一一对应?

请问要不要考虑 客服闲置状态
比如客服 a b c
这个时候来了3个人 分给了a b c
此时c 已经帮处理完自己的事情了
这时 又来了第四个人 分给谁

若不存在此情况

$number = file_get_contents("log.txt");
file_put_contents("log.txt", ($number +1)%3);

配合redis来做吧。

使用List结构,先构建客服list,新用户进来的时候RPOP一个队尾客服使用,然后在把这个客服LPUSH到队头去

当新增客服的时候,你如果想序号顺序不变比如目前是 2 3 1,新加入的4后List要变成 2 3 4 1这时候就要去除队列进行逻辑判断下。如果不需要就直接LPUSH 到队头。

不用redis的话就写文件,每个客服用 "\r\n" 隔开取的规则跟上面一样

谢邀,简单写了个函数,是想要这样吗?

输出结果

1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,4,1,2,3,4,1,

setNum($num);
    }

    function getService(){
        if($this->count >= $this->num){
            $this->count = 0;
        }
        $this->count ++;
        return $this->count;
    }

    function setNum($num){
        $this->num = $num;
    }

}

$factory = new serviceFactory(3);
echo $factory->getService(),",";
echo $factory->getService(),",";
echo $factory->getService(),",";
echo $factory->getService(),",";
echo $factory->getService(),",";
echo $factory->getService(),",";
echo $factory->getService(),",";
echo $factory->getService(),",";
echo $factory->getService(),",";
$factory->setNum(4);
echo $factory->getService(),",";
echo $factory->getService(),",";
echo $factory->getService(),",";
echo $factory->getService(),",";
echo $factory->getService(),",";

超级简单的hash算法来一个, 客服个数 n 新注册用户id m 然后分配的客服为 m % n + 1 即可

之前写过一个类似的,不过不是客服,这里就不贴代码了,讲讲个人的做法了:

最终目的是让每个客服都忙起来,又不能让用户久等。

所以,新来一个用户,就给他分配一个:

if ( 空闲状态的客服数 >= 0 ){
    // 分配给最先进入空闲状态的那个客服
}else{
    // 说明现在每个客服都有用户在咨询
    // 并且可能某些客服下还有在排队等待的用户
    获取每个客服 **当前咨询任务** 的开始时间
    
    将这个用户分配给 当前资讯任务 的开始时间最早的 并且 后面排队人数最少的哪个客服
    // 其实上面还有一个权重的问题,比如 A 客服 当前客户资讯任务开始时间比 B 早 2分钟,但是 A 后面排队的人数比 B 客服多 1个,这就要靠 权重值 来计算是分配给 A 还是 B。
}

个人觉得哈,可以先分配虚拟客服 X ,其实就是一个机器问答系统,然后某个客服结束后,立即将队列中的用户分配过去,这样不存在插队或者其他麻烦的事情。同时轻松做到每个客服都能忙起来。

我也是刚接触这方面的知识,答得不好还请大家多指正,谢谢

人气教程排行