根据线路分配客服
This commit is contained in:
parent
9fe2effc94
commit
2acaacb420
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace app\command;
|
namespace app\command;
|
||||||
|
|
||||||
|
use app\admin\controller\AdminController;
|
||||||
use app\model\Admins;
|
use app\model\Admins;
|
||||||
use app\model\Blacks;
|
use app\model\Blacks;
|
||||||
use app\model\Finances;
|
use app\model\Finances;
|
||||||
|
@ -41,10 +42,10 @@ class SpiderDy extends Command
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function users()
|
protected function users($routeType)
|
||||||
{
|
{
|
||||||
if (count($this->_users) > 0) return $this->_users;
|
if (count($this->_users) > 0) return $this->_users;
|
||||||
$users = Admins::where('status', 1)->where('is_order', 1)->select();
|
$users = Admins::where('status', 1)->where('is_order', 1)->where('route_type', $routeType)->select();
|
||||||
$us = [];
|
$us = [];
|
||||||
foreach ($users as $u) {
|
foreach ($users as $u) {
|
||||||
$ru = Redis::get('CRM:USER:ONLINE:' . $u->id);
|
$ru = Redis::get('CRM:USER:ONLINE:' . $u->id);
|
||||||
|
@ -60,11 +61,12 @@ class SpiderDy extends Command
|
||||||
|
|
||||||
protected $_redis_pool = [];
|
protected $_redis_pool = [];
|
||||||
|
|
||||||
protected function poolUser($status = 0)
|
protected function poolUser($status = 0, $categoryDesc = '')
|
||||||
{
|
{
|
||||||
if (empty($this->_redis_pool[$status])) {
|
if (empty($this->_redis_pool[$status])) {
|
||||||
$this->_redis_pool[$status] = Redis::hGetAll('CRM:Pool:' . $status);
|
$this->_redis_pool[$status] = Redis::hGetAll('CRM:Pool:' . $status);
|
||||||
$users = $this->users();
|
$routeType = AdminController::ROUTE_LISTS[mb_substr($categoryDesc, 0, 2)] ?? 10;
|
||||||
|
$users = $this->users($routeType);
|
||||||
$_users = [];
|
$_users = [];
|
||||||
if (empty($this->_redis_pool[$status])) {
|
if (empty($this->_redis_pool[$status])) {
|
||||||
foreach ($users as $user) {
|
foreach ($users as $user) {
|
||||||
|
@ -356,7 +358,7 @@ class SpiderDy extends Command
|
||||||
if (!empty($oldMobile)) {
|
if (!empty($oldMobile)) {
|
||||||
$admin_id = $oldMobile->admin_id;
|
$admin_id = $oldMobile->admin_id;
|
||||||
} else {
|
} else {
|
||||||
$admin_id = $this->poolUser($order->orderStatus);
|
$admin_id = $this->poolUser($order->orderStatus, $order->category_desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($admin_id)) return null;
|
if (empty($admin_id)) return null;
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
|
|
||||||
namespace app\command;
|
namespace app\command;
|
||||||
|
|
||||||
|
use app\admin\controller\AdminController;
|
||||||
use app\model\Admins;
|
use app\model\Admins;
|
||||||
use app\model\Blacks;
|
use app\model\Blacks;
|
||||||
use app\model\Finances;
|
use app\model\Finances;
|
||||||
|
@ -42,10 +43,10 @@ class SpiderMt extends Command
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function users()
|
protected function users($routeType)
|
||||||
{
|
{
|
||||||
if (count($this->_users) > 0) return $this->_users;
|
if (count($this->_users) > 0) return $this->_users;
|
||||||
$users = Admins::where('status', 1)->where('is_order', 1)->select();
|
$users = Admins::where('status', 1)->where('is_order', 1)->where('route_type', $routeType)->select();
|
||||||
$us = [];
|
$us = [];
|
||||||
foreach ($users as $u) {
|
foreach ($users as $u) {
|
||||||
$ru = Redis::get('CRM:USER:ONLINE:' . $u->id);
|
$ru = Redis::get('CRM:USER:ONLINE:' . $u->id);
|
||||||
|
@ -84,11 +85,12 @@ class SpiderMt extends Command
|
||||||
|
|
||||||
protected $_redis_pool = [];
|
protected $_redis_pool = [];
|
||||||
|
|
||||||
protected function poolUser($status = 0)
|
protected function poolUser($status = 0, $categoryDesc = '')
|
||||||
{
|
{
|
||||||
if (empty($this->_redis_pool[$status])) {
|
if (empty($this->_redis_pool[$status])) {
|
||||||
$this->_redis_pool[$status] = Redis::hGetAll('CRM:Pool:' . $status);
|
$this->_redis_pool[$status] = Redis::hGetAll('CRM:Pool:' . $status);
|
||||||
$users = $this->users();
|
$routeType = AdminController::ROUTE_LISTS[mb_substr($categoryDesc, 0, 2)] ?? 10;
|
||||||
|
$users = $this->users($routeType);
|
||||||
$_users = [];
|
$_users = [];
|
||||||
if (empty($this->_redis_pool[$status])) {
|
if (empty($this->_redis_pool[$status])) {
|
||||||
foreach ($users as $user) {
|
foreach ($users as $user) {
|
||||||
|
@ -181,7 +183,7 @@ class SpiderMt extends Command
|
||||||
// return 1;
|
// return 1;
|
||||||
|
|
||||||
// sleep(5);
|
// sleep(5);
|
||||||
|
|
||||||
// $time = strtotime(date('Y-m-d'));
|
// $time = strtotime(date('Y-m-d'));
|
||||||
// for ($i = 0; $i <= $d; $i++) {
|
// for ($i = 0; $i <= $d; $i++) {
|
||||||
// $day = $time - $i * 24 * 3600;
|
// $day = $time - $i * 24 * 3600;
|
||||||
|
@ -192,7 +194,7 @@ class SpiderMt extends Command
|
||||||
// }
|
// }
|
||||||
|
|
||||||
$start = date('Y-m-d 00:00:00', strtotime("-{$d} days"));
|
$start = date('Y-m-d 00:00:00', strtotime("-{$d} days"));
|
||||||
$end = date('Y-m-d 23:59:59');
|
$end = date('Y-m-d 23:59:59');
|
||||||
$this->orders($start, $end, false);
|
$this->orders($start, $end, false);
|
||||||
|
|
||||||
if (date('H') >= 1 && date('H') <= 7) {
|
if (date('H') >= 1 && date('H') <= 7) {
|
||||||
|
@ -386,7 +388,7 @@ class SpiderMt extends Command
|
||||||
if (!empty($oldMobile)) {
|
if (!empty($oldMobile)) {
|
||||||
$admin_id = $oldMobile->admin_id;
|
$admin_id = $oldMobile->admin_id;
|
||||||
} else {
|
} else {
|
||||||
$admin_id = $this->poolUser($order->orderStatus);
|
$admin_id = $this->poolUser($order->orderStatus, $order->category_desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (empty($admin_id)) return null;
|
if (empty($admin_id)) return null;
|
||||||
|
|
Loading…
Reference in New Issue