lip 3 месяцев назад
Родитель
Сommit
ee4c892503
3 измененных файлов с 14 добавлено и 11 удалено
  1. 11 9
      app/admin/controller/Kefu.php
  2. 2 1
      app/admin/model/Department.php
  3. 1 1
      app/enterprise/controller/Im.php

+ 11 - 9
app/admin/controller/Kefu.php

@@ -299,21 +299,23 @@ class Kefu extends BaseController
      */
     public function select() 
     {
-        $department_id = Admin::where('id', $this->admin_id)->value('department_id');
-        $parent_department_id = Department::where('id', $department_id)->value('parent_id');
-        $where[] = ['department_id', '=', $parent_department_id];
+        // $department_id = Admin::where('id', $this->admin_id)->value('department_id');
+        // $parent_department_id = Department::where('id', $department_id)->value('parent_id');
+        // $where[] = ['department_id', '=', $parent_department_id];
 
+        $cs_uids = Department::getDepartmentCsUids($this->admin_id);
         $list = Admin::alias('admin')->join('user', 'admin.id = user.uid', 'left')
                 ->where('user.role', '>', 0)
                 ->where('user.status', 1)
-                ->where('admin.department_id', $department_id)->whereOr(function ($query) use ($parent_department_id) {
-                    if ($parent_department_id) {
-                        $query->where('admin.department_id', $parent_department_id);
-                    }
-                })
+                // ->where('admin.department_id', $department_id)->whereOr(function ($query) use ($parent_department_id) {
+                //     if ($parent_department_id) {
+                //         $query->where('admin.department_id', $parent_department_id);
+                //     }
+                // })
                 ->where('admin.id','<>', $this->admin_id)
-                ->order('admin.department_id', 'asc')
+                ->whereIn('user.user_id', $cs_uids)
                 ->order('user.is_online', 'desc')
+                ->order('admin.department_id', 'asc')
                 ->field(['admin.id','user.user_id','user.account','user.realname','user.avatar','user.is_online','admin.nickname','admin.username'])
                 ->select()
                 ->toArray();

+ 2 - 1
app/admin/model/Department.php

@@ -36,7 +36,8 @@ class Department extends BaseModel
     //获取部门下级的所有客服ID
     public static function getDepartmentCsUids($admin_id) { 
         $department_id = Admin::where('id', $admin_id)->value('department_id');
-        $tree = self::getChildrenTree($department_id);
+        $parent_department_id = self::where('id', $department_id)->value('parent_id');
+        $tree = self::getChildrenTree($parent_department_id);
         $department_ids = self::getChildrenIds($tree);
 
         $cs_uids = Admin::alias('admin')->join('user', 'admin.id=user.uid','left')

+ 1 - 1
app/enterprise/controller/Im.php

@@ -575,7 +575,7 @@ class Im extends BaseController
             }
 
             $toUser = User::where('user_id', $param['toContactId'])->find();
-            if ($toUser && $toUser->service_status == 1) {
+            if ($toUser && $toUser->service_status == 1 && $toUser->cs_uid == $this->userInfo['user_id']) {
                 //将用户待处理的状态更新成服务中
                 $toUser->service_status = 2;
                 $toUser->service_time = time();