vali 6 жил өмнө
parent
commit
e3ef30f2b8

+ 31 - 0
vendor/GatewayWorker_linux/GatewayWorker/Applications/whisper/Events.php

@@ -224,8 +224,37 @@ class Events
                 case 'kfupdateinfo':
                     self::kfupdateinfo($client_id, $message['data']);
                     break;
+                case 'kfusersmaps':
+                    $kfuid = $message['data']['kfuid'] ?? 0;
+                    self::kfusersmaps($kfuid, $client_id);
+                    break;
+            }
+        }
+        return true;
+    }
+
+    //客服获取自己的用户列表
+    public static function kfusersmaps($kfuid, $clientid)
+    {
+        $kfuid = self::getkfuid($kfuid);
+        if (empty($kfuid)) {
+            return false;
+        }
+
+        $kfinfo = json_decode(self::$redis->hget(self::KFINFOKEY, $kfuid), true);
+        if (empty($kfinfo) || ($kfinfo['client_id'] != $clientid)) {
+            return false;
+        }
+
+        $key = self::KEFU_USERIDS . ':' . self::getkfuid($kfuid);
+        $ret = self::$redis->hgetall($key);
+        $return = [];
+        if ($ret) {
+            foreach ($ret as $key => $val) {
+                $return[] = $key;
             }
         }
+        self::MySendMsg($clientid, (json_encode(['message_type' => 'kfusersmap', 'data' => $return, 'msg' => '获取客服的用户列表成功!'], 256)));
         return true;
     }
 
@@ -1067,6 +1096,8 @@ class Events
         ];
         self::$db->update('ws_service_log')->cols($updateServiceLogData)->where("servicelog_id=$servicelogId")->query();
         self::$db->update('ws_alarm')->cols($updataAlarmData)->where("servicelog_id=$servicelogId")->query();
+
+        self::addKfUsermap($data['kf_id'], $data['user_id'], 0);
     }
 
 

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

@@ -224,8 +224,37 @@ class Events
                 case 'kfupdateinfo':
                     self::kfupdateinfo($client_id, $message['data']);
                     break;
+                case 'kfusersmaps':
+                    $kfuid = $message['data']['kfuid'] ?? 0;
+                    self::kfusersmaps($kfuid, $client_id);
+                    break;
+            }
+        }
+        return true;
+    }
+
+    //客服获取自己的用户列表
+    public static function kfusersmaps($kfuid, $clientid)
+    {
+        $kfuid = self::getkfuid($kfuid);
+        if (empty($kfuid)) {
+            return false;
+        }
+
+        $kfinfo = json_decode(self::$redis->hget(self::KFINFOKEY, $kfuid), true);
+        if (empty($kfinfo) || ($kfinfo['client_id'] != $clientid)) {
+            return false;
+        }
+
+        $key = self::KEFU_USERIDS . ':' . self::getkfuid($kfuid);
+        $ret = self::$redis->hgetall($key);
+        $return = [];
+        if ($ret) {
+            foreach ($ret as $key => $val) {
+                $return[] = $key;
             }
         }
+        self::MySendMsg($clientid, (json_encode(['message_type' => 'kfusersmap', 'data' => $return, 'msg' => '获取客服的用户列表成功!'], 256)));
         return true;
     }
 
@@ -1067,6 +1096,8 @@ class Events
         ];
         self::$db->update('ws_service_log')->cols($updateServiceLogData)->where("servicelog_id=$servicelogId")->query();
         self::$db->update('ws_alarm')->cols($updataAlarmData)->where("servicelog_id=$servicelogId")->query();
+
+        self::addKfUsermap($data['kf_id'], $data['user_id'], 0);
     }