|
|
|
@ -65,10 +65,9 @@ class ParkingCameraService extends BaseService |
|
|
|
/** |
|
|
|
* 创建车位相机 |
|
|
|
* @param array $data |
|
|
|
* @return Builder|Model |
|
|
|
* @throws CustomException |
|
|
|
*/ |
|
|
|
public function createModel(array $data): Builder|Model |
|
|
|
public function createModel(array $data) |
|
|
|
{ |
|
|
|
try { |
|
|
|
DB::beginTransaction(); |
|
|
|
@ -80,7 +79,8 @@ class ParkingCameraService extends BaseService |
|
|
|
throw new Exception(__('service.parking_camera.number_exists')); |
|
|
|
} |
|
|
|
$floor_id = $data['floor_id'] ?? 0; |
|
|
|
self::validateSpaceData($parking_space_data, $floor_id); |
|
|
|
$is_control_lights = $data['is_control_lights'] ?? 0; |
|
|
|
self::validateSpaceData($parking_space_data, $floor_id, $is_control_lights); |
|
|
|
|
|
|
|
$model = ParkingCamera::query()->create([ |
|
|
|
'number' => $data['number'], |
|
|
|
@ -88,7 +88,7 @@ class ParkingCameraService extends BaseService |
|
|
|
'server_ip' => $data['server_ip'], |
|
|
|
'floor_id' => $floor_id, |
|
|
|
'floor_region_id' => $data['floor_region_id'] ?? 0, |
|
|
|
'is_control_lights' => $data['is_control_lights'] ?? 1, |
|
|
|
'is_control_lights' => $is_control_lights, |
|
|
|
'is_external' => $data['is_external'] ?? 0, |
|
|
|
'built_in_light' => $data['built_in_light'] ?? 0, |
|
|
|
'off_light' => $data['off_light'] ?? 0, |
|
|
|
@ -114,12 +114,12 @@ class ParkingCameraService extends BaseService |
|
|
|
* @return void |
|
|
|
* @throws CustomException |
|
|
|
*/ |
|
|
|
private function validateSpaceData(&$data, $floor_id): void |
|
|
|
private function validateSpaceData(&$data, $floor_id, $is_control_lights): void |
|
|
|
{ |
|
|
|
foreach ($data as &$item) { |
|
|
|
$control_lights_ip = $item['control_lights_ip'] ?? ''; |
|
|
|
$space_attr_id = $item['space_attr_id'] ?? ''; |
|
|
|
if ($data['is_control_lights'] == 1) { |
|
|
|
if ($is_control_lights == 1) { |
|
|
|
if (empty($control_lights_ip)) { |
|
|
|
throw new CustomException( |
|
|
|
__('validation.parking_camera.lights_ip_empty') |
|
|
|
@ -172,10 +172,9 @@ class ParkingCameraService extends BaseService |
|
|
|
* 更新车位相机 |
|
|
|
* @param array $data |
|
|
|
* @param string $id |
|
|
|
* @return Builder|Model |
|
|
|
* @throws CustomException |
|
|
|
*/ |
|
|
|
public function updateModel(array $data, string $id): Builder|Model |
|
|
|
public function updateModel(array $data, string $id) |
|
|
|
{ |
|
|
|
try { |
|
|
|
DB::beginTransaction(); |
|
|
|
@ -188,7 +187,8 @@ class ParkingCameraService extends BaseService |
|
|
|
if (ParkingCamera::query()->where($existsWhere)->exists()) { |
|
|
|
throw new Exception(__('service.parking_camera.number_exists')); |
|
|
|
} |
|
|
|
self::validateSpaceData($parking_space_data, $data['floor_id']); |
|
|
|
$is_control_lights = $data['is_control_lights'] ?? 0; |
|
|
|
self::validateSpaceData($parking_space_data, $data['floor_id'], $is_control_lights); |
|
|
|
|
|
|
|
// 更新 |
|
|
|
$model = ParkingCamera::query()->findOrFail($id); |
|
|
|
@ -199,7 +199,7 @@ class ParkingCameraService extends BaseService |
|
|
|
'server_ip' => $data['server_ip'], |
|
|
|
'floor_id' => $data['floor_id'] ?? 0, |
|
|
|
'floor_region_id' => $data['floor_region_id'] ?? 0, |
|
|
|
'is_control_lights' => $data['is_control_lights'] ?? 1, |
|
|
|
'is_control_lights' => $is_control_lights, |
|
|
|
'is_external' => $data['is_external'] ?? 0, |
|
|
|
'built_in_light' => $data['built_in_light'] ?? 0, |
|
|
|
'off_light' => $data['off_light'] ?? 0, |
|
|
|
|