Admin.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. namespace app\admin\model;
  3. use app\BaseModel;
  4. class Admin extends BaseModel
  5. {
  6. protected $autoWriteTimestamp = true;
  7. protected $createTime = 'created_at';
  8. protected $updateTime = 'updated_at';
  9. public function role()
  10. {
  11. return $this->hasOne(Role::class, 'id', 'role_id')->field(['id', 'name']);
  12. }
  13. public function department()
  14. {
  15. return $this->hasOne(Department::class, 'id', 'department_id')->field(['id', 'name']);
  16. }
  17. public static function isOnline($id)
  18. {
  19. return self::where('id', $id)->value('is_online');
  20. }
  21. public static function setOnline($id, $is_online)
  22. {
  23. if ($is_online == 0) {
  24. //结束今日的签到
  25. $sign = Sign::where('admin_id', $id)->where('created_at', '>=', date('Y-m-d'))->order('id', 'desc')->find();
  26. if ($sign && $sign->time == 0) {
  27. $sign->time = time() - strtotime($sign->created_at);
  28. $sign->updated_at = date('Y-m-d H:i:s');
  29. $sign->save();
  30. }
  31. }
  32. return self::where('id', $id)->update(['is_online' => $is_online]);
  33. }
  34. }