|
@@ -36,6 +36,7 @@ class UserTimeout extends Command
|
|
|
//用户等待即将超时预警
|
|
//用户等待即将超时预警
|
|
|
$list = User::where('status', 1)->where('is_online', 1)->where('service_status', 1)
|
|
$list = User::where('status', 1)->where('is_online', 1)->where('service_status', 1)
|
|
|
->where('service_start', '<=', time() - $user_timeout_warning)
|
|
->where('service_start', '<=', time() - $user_timeout_warning)
|
|
|
|
|
+ ->where('timeout_type', 0)
|
|
|
->select()
|
|
->select()
|
|
|
->toArray();
|
|
->toArray();
|
|
|
$this->sendMessage($list, 1);
|
|
$this->sendMessage($list, 1);
|
|
@@ -52,6 +53,7 @@ class UserTimeout extends Command
|
|
|
$query->where('service_start', '>', time() - $user_timeout_warning);
|
|
$query->where('service_start', '>', time() - $user_timeout_warning);
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
|
|
+ ->where('timeout_type', '<',2)
|
|
|
->select()
|
|
->select()
|
|
|
->toArray();
|
|
->toArray();
|
|
|
$this->sendMessage($list, 2);
|
|
$this->sendMessage($list, 2);
|
|
@@ -64,6 +66,7 @@ class UserTimeout extends Command
|
|
|
//用户服务中-即将超时预警时间
|
|
//用户服务中-即将超时预警时间
|
|
|
$list = User::where('status', 1)->where('is_online', 1)->where('service_status', 2)
|
|
$list = User::where('status', 1)->where('is_online', 1)->where('service_status', 2)
|
|
|
->where('service_start', '<=', time() - $kefu_timeout_warning)
|
|
->where('service_start', '<=', time() - $kefu_timeout_warning)
|
|
|
|
|
+ ->where('timeout_type', '<',3)
|
|
|
->select()
|
|
->select()
|
|
|
->toArray();
|
|
->toArray();
|
|
|
$this->sendMessage($list, 3);
|
|
$this->sendMessage($list, 3);
|
|
@@ -80,6 +83,7 @@ class UserTimeout extends Command
|
|
|
$query->where('service_start', '>', time() - $kefu_timeout_warning);
|
|
$query->where('service_start', '>', time() - $kefu_timeout_warning);
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
|
|
+ ->where('timeout_type', '<',4)
|
|
|
->select()
|
|
->select()
|
|
|
->toArray();
|
|
->toArray();
|
|
|
$output->writeln('用户服务中-已超时提醒'.count($list));
|
|
$output->writeln('用户服务中-已超时提醒'.count($list));
|
|
@@ -100,7 +104,7 @@ class UserTimeout extends Command
|
|
|
try {
|
|
try {
|
|
|
Db::startTrans();
|
|
Db::startTrans();
|
|
|
//用户转给机器人客服
|
|
//用户转给机器人客服
|
|
|
- User::where('user_id', $user['user_id'])->update(['service_status' => 0, 'service_start' => 0, 'cs_uid'=>$cs_uid]);
|
|
|
|
|
|
|
+ User::where('user_id', $user['user_id'])->update(['service_status' => 0, 'service_start' => 0, 'timeout_type' => 0, 'cs_uid'=>$cs_uid]);
|
|
|
KefuTime::endData($user['uid'], 3, $user['cs_uid']); //结束接线时间
|
|
KefuTime::endData($user['uid'], 3, $user['cs_uid']); //结束接线时间
|
|
|
|
|
|
|
|
Db::commit();
|
|
Db::commit();
|
|
@@ -162,6 +166,8 @@ class UserTimeout extends Command
|
|
|
public function sendMessage($list, $type)
|
|
public function sendMessage($list, $type)
|
|
|
{
|
|
{
|
|
|
foreach($list as $user) {
|
|
foreach($list as $user) {
|
|
|
|
|
+ //更新用户超时提醒的状态
|
|
|
|
|
+ User::where('user_id', $user['user_id'])->update(['timeout_type' => $type]);
|
|
|
//通知客服已结束
|
|
//通知客服已结束
|
|
|
wsSendMsg($user['cs_uid'],'timeout',['user_id'=>$user['user_id'], 'realname'=>$user['realname'], 'type'=>$type]);
|
|
wsSendMsg($user['cs_uid'],'timeout',['user_id'=>$user['user_id'], 'realname'=>$user['realname'], 'type'=>$type]);
|
|
|
}
|
|
}
|