Browse Source

车位相机数据保存优化

master
wanghongjun 4 weeks ago
parent
commit
166a0da5ce
  1. 15
      app/Services/ParkingCameraService.php
  2. 3
      resources/lang/en/validation.php
  3. 3
      resources/lang/zh-CN/validation.php
  4. 3
      resources/lang/zh-TW/validation.php

15
app/Services/ParkingCameraService.php

@ -79,7 +79,7 @@ class ParkingCameraService extends BaseService
} }
$floor_id = $data['floor_id'] ?? 0; $floor_id = $data['floor_id'] ?? 0;
$is_control_lights = $data['is_control_lights'] ?? 0; $is_control_lights = $data['is_control_lights'] ?? 0;
self::validateSpaceData($parking_space_data, $floor_id, $is_control_lights); self::validateSpaceData($parking_space_data, 0, $is_control_lights);
$model = ParkingCamera::query()->create([ $model = ParkingCamera::query()->create([
'number' => $data['number'], 'number' => $data['number'],
@ -113,7 +113,7 @@ class ParkingCameraService extends BaseService
* @return void * @return void
* @throws CustomException * @throws CustomException
*/ */
private function validateSpaceData(&$data, $floor_id, $is_control_lights): void private function validateSpaceData(&$data, $id, $is_control_lights): void
{ {
foreach ($data as &$item) { foreach ($data as &$item) {
$control_lights_ip = $item['control_lights_ip'] ?? ''; $control_lights_ip = $item['control_lights_ip'] ?? '';
@ -136,6 +136,15 @@ class ParkingCameraService extends BaseService
__validation('parking_camera.number_exists') . ":" . $item['space_number'] __validation('parking_camera.number_exists') . ":" . $item['space_number']
); );
} }
$exists_space = ParkingSpaceCamera::query()->where('space_id', $space_id);
if ($id) {
$exists_space->where('camera_id', '<>', $id);
}
if ($exists_space->exists()) {
throw new CustomException(
__validation('parking_camera.space_exists') . ":" . $item['space_number']
);
}
if ($space_attr_id) { if ($space_attr_id) {
// 更新车位属性 // 更新车位属性
(new ParkingSpaceService($this->logService))->updateAttr( (new ParkingSpaceService($this->logService))->updateAttr(
@ -181,7 +190,7 @@ class ParkingCameraService extends BaseService
throw new Exception(__('service.parking_camera.number_exists')); throw new Exception(__('service.parking_camera.number_exists'));
} }
$is_control_lights = $data['is_control_lights'] ?? 0; $is_control_lights = $data['is_control_lights'] ?? 0;
self::validateSpaceData($parking_space_data, $data['floor_id'], $is_control_lights); self::validateSpaceData($parking_space_data, $id, $is_control_lights);
// 更新 // 更新
$model = ParkingCamera::query()->findOrFail($id); $model = ParkingCamera::query()->findOrFail($id);

3
resources/lang/en/validation.php

@ -106,7 +106,8 @@ return [
'p_array' => 'Parking data must be an array', 'p_array' => 'Parking data must be an array',
'lights_ip_empty' => 'Control light camera IP cannot be empty', 'lights_ip_empty' => 'Control light camera IP cannot be empty',
'lights_ip_max' => 'Control light camera IP up to 15 characters', 'lights_ip_max' => 'Control light camera IP up to 15 characters',
'number_exists' => 'Parking space number does not exist' 'number_exists' => 'Parking space number does not exist',
'space_exists' => 'The parking space number is already linked to another device.'
], ],
'parking_pattern' => [ 'parking_pattern' => [
'm_empty' => 'Activity mode cannot be empty', 'm_empty' => 'Activity mode cannot be empty',

3
resources/lang/zh-CN/validation.php

@ -106,7 +106,8 @@ return [
'p_array' => '车位数据必须是数组', 'p_array' => '车位数据必须是数组',
'lights_ip_empty' => '控灯相机IP不能为空', 'lights_ip_empty' => '控灯相机IP不能为空',
'lights_ip_max' => '控灯相机IP最多15个字符', 'lights_ip_max' => '控灯相机IP最多15个字符',
'number_exists' => '车位号码不存在' 'number_exists' => '车位号码不存在',
'space_exists' => '车位号码已绑定其他设备'
], ],
'parking_pattern' => [ 'parking_pattern' => [
'm_empty' => '活动模式不能为空', 'm_empty' => '活动模式不能为空',

3
resources/lang/zh-TW/validation.php

@ -106,7 +106,8 @@ return [
'p_array' => '車位數據必須是數組', 'p_array' => '車位數據必須是數組',
'lights_ip_empty' => '控燈相機IP不能為空', 'lights_ip_empty' => '控燈相機IP不能為空',
'lights_ip_max' => '控燈相機IP最多15個字元', 'lights_ip_max' => '控燈相機IP最多15個字元',
'number_exists' => '車位號碼不存在' 'number_exists' => '車位號碼不存在',
'space_exists' => '車位號碼已綁定其他設備'
], ],
'parking_pattern' => [ 'parking_pattern' => [
'm_empty' => '活動模式不能為空', 'm_empty' => '活動模式不能為空',

Loading…
Cancel
Save