|
|
@@ -220,12 +220,42 @@ class Events
|
|
|
case 'tickkf':
|
|
|
//将某个kf踢下线
|
|
|
self::tickkf($client_id, $message['data']);
|
|
|
+ case 'kfupdateinfo':
|
|
|
+ self::kfupdateinfo($client_id, $message['data']);
|
|
|
break;
|
|
|
}
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
+ //客服信息更新
|
|
|
+ public static function kfupdateinfo($client_id, $message)
|
|
|
+ {
|
|
|
+ $kfid = intval(self::getkfid($message['kfuid']));
|
|
|
+ $kfuid = self::getkfuid($kfid);
|
|
|
+
|
|
|
+ if (!$kfid) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $user = self::$db->select('*')->from('ws_users')->where('id=:id')->bindValues(array('id' => $kfid))->row();
|
|
|
+ if (!$user) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ $redisuser = json_decode(self::$redis->hget(self::KFINFOKEY, $kfuid), true);
|
|
|
+ if (empty($redisuser)) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if ($user['group_id'] != $redisuser['group']) {
|
|
|
+ Gateway::closeClient($redisuser['client_id']);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ $redisuser['name'] = $user['user_name'];
|
|
|
+ $redisuser['job_name'] = $user['user_job_number'];
|
|
|
+ self::$redis->hset(self::KFINFOKEY, $kfuid, json_encode($redisuser, 256));
|
|
|
+ return;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
//将某个客服踢下线 (只能是管理员连上来的socket才可以操作)
|
|
|
public static function tickkf($client_id, $messag)
|
|
|
{
|