|
|
|
@ -6,6 +6,8 @@ use App\Models\ParkingAccessRecord; |
|
|
|
use App\Models\ParkingCamera; |
|
|
|
use App\Models\ParkingSpace; |
|
|
|
use App\Models\ParkingSpaceCamera; |
|
|
|
use Illuminate\Support\Facades\Storage; |
|
|
|
use Illuminate\Support\Str; |
|
|
|
|
|
|
|
class ParkingAccessRecordService extends BaseService |
|
|
|
{ |
|
|
|
@ -20,6 +22,7 @@ class ParkingAccessRecordService extends BaseService |
|
|
|
'space_id' => $data['space_id'], |
|
|
|
'status' => 1, |
|
|
|
'enter_time' => $data['enter_time'], |
|
|
|
'scene_image' => $data['scene_image'], |
|
|
|
'created_at' => date("Y-m-d H:i:s", time()) |
|
|
|
]; |
|
|
|
$model = ParkingAccessRecord::query()->create($data); |
|
|
|
@ -53,7 +56,7 @@ class ParkingAccessRecordService extends BaseService |
|
|
|
} |
|
|
|
|
|
|
|
// 车辆进入车位 |
|
|
|
public function enterOrLeave($camera_ip, $space_number, $license_plate, $now_time) |
|
|
|
public function enterOrLeave($camera_ip, $space_number, $license_plate, $now_time, $image_data = '') |
|
|
|
{ |
|
|
|
$camera_id = ParkingCamera::query()->where('camera_ip', $camera_ip) |
|
|
|
->value('id'); |
|
|
|
@ -99,13 +102,15 @@ class ParkingAccessRecordService extends BaseService |
|
|
|
// 车牌存在 |
|
|
|
} elseif (isset($data['license_plate_id']) && $license_plate) { |
|
|
|
$data['enter_time'] = strtotime($now_time); |
|
|
|
$data['scene_image'] = $this->saveSceneImage($image_data); |
|
|
|
$this->enterData($data); |
|
|
|
// 同步车位车辆进入 |
|
|
|
$ParkingSpaceService->updateEnterLeave( |
|
|
|
$space_id, |
|
|
|
1, |
|
|
|
$now_time, |
|
|
|
$data['license_plate_id'] |
|
|
|
$data['license_plate_id']. |
|
|
|
$data['scene_image'] |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
@ -143,4 +148,17 @@ class ParkingAccessRecordService extends BaseService |
|
|
|
$this->leaveData($id, $data); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 保存场景图 |
|
|
|
public function saveSceneImage($imageData): string |
|
|
|
{ |
|
|
|
$scene_image = ''; |
|
|
|
if ($imageData) { |
|
|
|
$filename = time() . '_' . md5(Str::random(6)) . '.jpg'; |
|
|
|
$save_file_path = 'public/images/scene/' . date("Ymd") . '/' . $filename; |
|
|
|
Storage::put($save_file_path, $imageData); |
|
|
|
$scene_image = Storage::url($save_file_path); |
|
|
|
} |
|
|
|
return $scene_image; |
|
|
|
} |
|
|
|
} |
|
|
|
|