From 0297550ae8b39741f3d6c6bb9167910479c24642 Mon Sep 17 00:00:00 2001 From: wanghongjun <1445693971@qq.com> Date: Tue, 14 Jul 2026 11:51:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=89=8B=E5=8A=A8=E5=8D=A0=E7=94=A8=E4=BF=AE?= =?UTF-8?q?=E6=94=B9=E8=BD=A6=E4=BD=8D=E7=81=AF=E9=A2=9C=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Services/ParkingSpaceService.php | 40 ++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/app/Services/ParkingSpaceService.php b/app/Services/ParkingSpaceService.php index c7714f7..ef2eefd 100644 --- a/app/Services/ParkingSpaceService.php +++ b/app/Services/ParkingSpaceService.php @@ -350,15 +350,33 @@ class ParkingSpaceService extends BaseService $update['recognition'] = '90'; } $update['status'] = 1; + $this->changeStatusCameraColor( + $oldValues['id'], + $oldValues['space_type_id'], + $oldValues['space_attr_id'], + 1 + ); } else if ($status == 4) { $update['license_plate_id'] = 0; $update['berthing_time'] = null; $update['recognition'] = ''; $update['status'] = 1; + $this->changeStatusCameraColor( + $oldValues['id'], + $oldValues['space_type_id'], + $oldValues['space_attr_id'], + 1 + ); } else if (!$status) { $update['license_plate_id'] = 0; $update['berthing_time'] = null; $update['recognition'] = ''; + $this->changeStatusCameraColor( + $oldValues['id'], + $oldValues['space_type_id'], + $oldValues['space_attr_id'], + 0 + ); } if ($status == 2) { // 维修 @@ -483,6 +501,28 @@ class ParkingSpaceService extends BaseService } } + // 手动修改油车更改车位灯颜色 + public function changeStatusCameraColor($space_id, $space_type_id, $space_attr, $status) + { + $SpaceType = ParkingSpaceType::query()->find($space_type_id); + $SpaceTypeAttr = ParkingSpaceTypeAttr::getSpaceTypeAttrInfo($space_type_id, $space_attr); + $color_occupy = $SpaceType['default_color_occupy']; + $color_vacant = $SpaceType['default_color_vacant']; + $is_flicker = $SpaceType['default_is_warning']; + if ($SpaceTypeAttr) { + $color_occupy = $SpaceTypeAttr['color_occupy']; + $color_vacant = $SpaceTypeAttr['color_vacant']; + $is_flicker = $SpaceTypeAttr['is_warning']; + } + if ($status == 1) { + $color_vacant = $color_occupy; + } + $camera_ip = ParkingSpaceCamera::getCameraIp($space_id); + if ($camera_ip) { + HikParkingCameraService::setBody($camera_ip, $color_occupy, $color_vacant, $is_flicker); + } + } + /** * @param array $data * @param int $id