From 1d85cf5b2c5148eb98b162eac233495b1e02129b Mon Sep 17 00:00:00 2001 From: wanghongjun <1445693971@qq.com> Date: Tue, 14 Jul 2026 17:38:56 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E7=A6=BB=E7=BA=BF=E4=B9=9F?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=EF=BC=8C=E5=9C=A8=E7=BA=BF=E6=89=8D=E6=8E=A8?= =?UTF-8?q?=E9=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Models/ParkingSpaceCamera.php | 11 +++++++++-- app/Services/HikParkingCameraService.php | 9 +++++++++ 2 files changed, 18 insertions(+), 2 deletions(-) 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]; }