lip 3 месяцев назад
Родитель
Сommit
b83f2b3865
3 измененных файлов с 12 добавлено и 1 удалено
  1. 1 1
      app/admin/model/Admin.php
  2. 4 0
      app/admin/model/User.php
  3. 7 0
      app/common.php

+ 1 - 1
app/admin/model/Admin.php

@@ -18,7 +18,7 @@ class Admin extends BaseModel
         return $this->hasOne(Department::class, 'id', 'department_id')->field(['id', 'name']);
     }
 
-    public static function inOnline($id)
+    public static function isOnline($id)
     {
         return self::where('id', $id)->value('is_online');
     }

+ 4 - 0
app/admin/model/User.php

@@ -20,6 +20,10 @@ class User extends BaseModel
    public static function getCsId($admin_id) {
       return self::where('from', 0)->where('uid', $admin_id)->value('user_id');
    }
+
+   public static function getAdminId($user_id) {
+      return self::where('from', 0)->where('user_id', $user_id)->value('uid');
+   }
    public function getAvatarAttr($value,$data)
     {
         return avatarUrl($data['avatar'],$data['realname'],$data['user_id']);

+ 7 - 0
app/common.php

@@ -778,6 +778,13 @@ function wsSendMsg($user, $type,  $data, $isGroup=0)
             }
             Gateway::$send($user, $message);
         }
+
+        if ($type == 'isOnline' && $data['is_online'] == 0) {
+            $admin_id = \app\admin\model\User::getAdminId($user);
+            if ($admin_id) {
+                \app\admin\model\Admin::setOnline($admin_id, 0);
+            }
+        }
      }catch(\Exception $e){
         //忽略错误
      }