vali 6 年 前
コミット
f70523fb9a
1 ファイル変更30 行追加0 行削除
  1. 30 0
      vendor/GatewayWorker_windows/Applications/whisper/Events.php

+ 30 - 0
vendor/GatewayWorker_windows/Applications/whisper/Events.php

@@ -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)
     {