|
|
|
@ -49,15 +49,22 @@ class ParkingLicensePlateService |
|
|
|
*/ |
|
|
|
public function createData($data) |
|
|
|
{ |
|
|
|
if (ParkingLicensePlate::query()->whereRaw( |
|
|
|
$license = ParkingLicensePlate::query()->whereRaw( |
|
|
|
'BINARY `number` = ?', |
|
|
|
[$data['number']] |
|
|
|
) |
|
|
|
->exists() |
|
|
|
) { |
|
|
|
)->first(); |
|
|
|
if ($license && $license['space_type_id']) { |
|
|
|
throw new Exception(__('service.license_plate.number_exists')); |
|
|
|
} |
|
|
|
return $this->createNumber($data['number'], $data['space_type_id']); |
|
|
|
if ($license) { |
|
|
|
return $this->updateData( |
|
|
|
$license['id'], |
|
|
|
$data['number'], |
|
|
|
$data['space_type_id'] |
|
|
|
); |
|
|
|
} else { |
|
|
|
return $this->createNumber($data['number'], $data['space_type_id']); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public function createNumber($number, $space_type_id = 0) |
|
|
|
@ -81,6 +88,20 @@ class ParkingLicensePlateService |
|
|
|
return $id; |
|
|
|
} |
|
|
|
|
|
|
|
public function updateData($id, $number, $space_type_id) |
|
|
|
{ |
|
|
|
$update = [ |
|
|
|
'number' => $number, |
|
|
|
'space_type_id' => $space_type_id, |
|
|
|
'updated_at' => date("Y-m-d H:i:s", time()) |
|
|
|
]; |
|
|
|
$model = ParkingLicensePlate::query()->findOrFail($id); |
|
|
|
$oldValues = $model->toArray(); |
|
|
|
$model->update($update); |
|
|
|
$this->logService->logUpdated($model, $oldValues, 'license_plate.update'); |
|
|
|
return $model; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @param array $data |
|
|
|
* @param int $id |
|
|
|
|