diff --git a/app/Models/ParkingSpaceCamera.php b/app/Models/ParkingSpaceCamera.php index 594b076..4ade102 100644 --- a/app/Models/ParkingSpaceCamera.php +++ b/app/Models/ParkingSpaceCamera.php @@ -98,14 +98,21 @@ class ParkingSpaceCamera extends Model return self::query()->where('camera_id', $camera_id)->count(); } - // 获取在线相机IP地址 + // 获取相机IP地址 public static function getCameraIp($space_id) { $res = self::query()->where('space_id', $space_id)->first(); if ($res) { return ParkingCamera::query()->where('id', $res['camera_id']) - ->where('status', 1)->value('camera_ip'); + ->value('camera_ip'); } return ''; } + + // 判断设备是否在线 + public static function isOnlineCamera($camera_ip) + { + return ParkingCamera::query()->where('camera_ip', $camera_ip) + ->where('status', 1)->exists(); + } } diff --git a/app/Services/HikParkingCameraService.php b/app/Services/HikParkingCameraService.php index 47cb455..6a6fe43 100644 --- a/app/Services/HikParkingCameraService.php +++ b/app/Services/HikParkingCameraService.php @@ -3,6 +3,7 @@ namespace App\Services; use App\Models\ParkingCameraSendLog; +use App\Models\ParkingSpaceCamera; class HikParkingCameraService { @@ -56,6 +57,14 @@ class HikParkingCameraService })->toArray(); if (!$body) { return []; + } else { + foreach ($body as $key => $value) { + if ($value['ip']) { + if (!ParkingSpaceCamera::isOnlineCamera($value['ip'])) { + unset($body[$key]); + }; + } + } } return ['list' => $body]; }