怎样让新注册的会员,自动分配客服?
每注册一个新会员,自动分配一个客服
客服一共有3个(以后会增加更多客服) 怎样处理?
第一个新会员, 客服1
第二个新会员,客服2
第三个新会员,客服3
第四个新会员,客服1
...
我是先查询出客服表中所有客服,然后更新新注册会员表中客服字段。
现在是怎样让之间一一对应?
回复内容:
每注册一个新会员,自动分配一个客服
客服一共有3个(以后会增加更多客服) 怎样处理?
第一个新会员, 客服1
第二个新会员,客服2
第三个新会员,客服3
第四个新会员,客服1
...
我是先查询出客服表中所有客服,然后更新新注册会员表中客服字段。
现在是怎样让之间一一对应?
请问要不要考虑 客服闲置状态
比如客服 a b c
这个时候来了3个人 分给了a b c
此时c 已经帮处理完自己的事情了
这时 又来了第四个人 分给谁
若不存在此情况
<code>$number = file_get_contents("log.txt"); file_put_contents("log.txt", ($number +1)%3);</code>
配合redis来做吧。
使用List结构,先构建客服list,新用户进来的时候RPOP一个队尾客服使用,然后在把这个客服LPUSH到队头去
当新增客服的时候,你如果想序号顺序不变比如目前是 2 3 1,新加入的4后List要变成 2 3 4 1这时候就要去除队列进行逻辑判断下。如果不需要就直接LPUSH 到队头。
不用redis的话就写文件,每个客服用 "\r\n"
隔开取的规则跟上面一样
谢邀,简单写了个函数,是想要这样吗?
<code><?php function distribution_cs($user_id,$cs_total=3){ if($user_id%$cs_total==0){ return $cs_total; } return $user_id%$cs_total; } echo distribution_cs(1).","; echo distribution_cs(2).","; echo distribution_cs(3).","; echo distribution_cs(4).","; echo distribution_cs(5).","; echo distribution_cs(6).","; echo distribution_cs(7).","; echo distribution_cs(8).","; echo distribution_cs(9).","; echo distribution_cs(10).","; echo distribution_cs(11).","; echo distribution_cs(12).","; echo distribution_cs(13).","; echo distribution_cs(14,4).","; echo distribution_cs(15,4).","; echo distribution_cs(16,4).","; echo distribution_cs(17,4).","; echo distribution_cs(18,4).","; echo distribution_cs(19,4).","; echo distribution_cs(20,4).","; echo distribution_cs(21,5).",";</code></code>
输出结果
1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,4,1,2,3,4,1,
<code><?php class serviceFactory{ private $num; private $count = 0; function __construct($num){ $this->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(),",";</code>
超级简单的hash算法来一个, 客服个数 n 新注册用户id m 然后分配的客服为 m % n + 1 即可
之前写过一个类似的,不过不是客服,这里就不贴代码了,讲讲个人的做法了:
最终目的是让每个客服都忙起来,又不能让用户久等。
所以,新来一个用户,就给他分配一个:
<code>if ( 空闲状态的客服数 >= 0 ){ // 分配给最先进入空闲状态的那个客服 }else{ // 说明现在每个客服都有用户在咨询 // 并且可能某些客服下还有在排队等待的用户 获取每个客服 **当前咨询任务** 的开始时间 将这个用户分配给 当前资讯任务 的开始时间最早的 并且 后面排队人数最少的哪个客服 // 其实上面还有一个权重的问题,比如 A 客服 当前客户资讯任务开始时间比 B 早 2分钟,但是 A 后面排队的人数比 B 客服多 1个,这就要靠 权重值 来计算是分配给 A 还是 B。 } </code>
个人觉得哈,可以先分配虚拟客服 X ,其实就是一个机器问答系统,然后某个客服结束后,立即将队列中的用户分配过去,这样不存在插队或者其他麻烦的事情。同时轻松做到每个客服都能忙起来。
我也是刚接触这方面的知识,答得不好还请大家多指正,谢谢

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



PHP 8.4 membawa beberapa ciri baharu, peningkatan keselamatan dan peningkatan prestasi dengan jumlah penamatan dan penyingkiran ciri yang sihat. Panduan ini menerangkan cara memasang PHP 8.4 atau naik taraf kepada PHP 8.4 pada Ubuntu, Debian, atau terbitan mereka

Bekerja dengan pangkalan data dalam CakePHP adalah sangat mudah. Kami akan memahami operasi CRUD (Buat, Baca, Kemas Kini, Padam) dalam bab ini.

Untuk bekerja dengan tarikh dan masa dalam cakephp4, kami akan menggunakan kelas FrozenTime yang tersedia.

Untuk mengusahakan muat naik fail, kami akan menggunakan pembantu borang. Di sini, adalah contoh untuk muat naik fail.

CakePHP ialah rangka kerja sumber terbuka untuk PHP. Ia bertujuan untuk menjadikan pembangunan, penggunaan dan penyelenggaraan aplikasi lebih mudah. CakePHP adalah berdasarkan seni bina seperti MVC yang berkuasa dan mudah difahami. Model, Pandangan dan Pengawal gu

Pengesah boleh dibuat dengan menambah dua baris berikut dalam pengawal.

Log masuk CakePHP adalah tugas yang sangat mudah. Anda hanya perlu menggunakan satu fungsi. Anda boleh log ralat, pengecualian, aktiviti pengguna, tindakan yang diambil oleh pengguna, untuk sebarang proses latar belakang seperti cronjob. Mengelog data dalam CakePHP adalah mudah. Fungsi log() disediakan

Kod Visual Studio, juga dikenali sebagai Kod VS, ialah editor kod sumber percuma — atau persekitaran pembangunan bersepadu (IDE) — tersedia untuk semua sistem pengendalian utama. Dengan koleksi sambungan yang besar untuk banyak bahasa pengaturcaraan, Kod VS boleh menjadi c
