|
|
@ -5,6 +5,8 @@ namespace App\Services; |
|
|
use App\Models\AdminFloor; |
|
|
use App\Models\AdminFloor; |
|
|
use App\Models\ParkingElectronicMap; |
|
|
use App\Models\ParkingElectronicMap; |
|
|
use App\Models\ParkingSpace; |
|
|
use App\Models\ParkingSpace; |
|
|
|
|
|
use Exception; |
|
|
|
|
|
use Illuminate\Support\Facades\DB; |
|
|
|
|
|
|
|
|
class ParkingElectronicMapService extends BaseService |
|
|
class ParkingElectronicMapService extends BaseService |
|
|
{ |
|
|
{ |
|
|
@ -20,34 +22,49 @@ class ParkingElectronicMapService extends BaseService |
|
|
$this->logService->menuTitle = 'draw_map'; |
|
|
$this->logService->menuTitle = 'draw_map'; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public function saveModel(array $data) |
|
|
/** |
|
|
|
|
|
* @param array $dataArray |
|
|
|
|
|
* @return bool |
|
|
|
|
|
* @throws Exception |
|
|
|
|
|
*/ |
|
|
|
|
|
public function saveModel(array $dataArray): bool |
|
|
{ |
|
|
{ |
|
|
$floor_id = $data['floor_id']; |
|
|
try { |
|
|
$space_id = $data['parking_space_id']; |
|
|
DB::beginTransaction(); |
|
|
|
|
|
foreach ($dataArray as $data) { |
|
|
|
|
|
$floor_id = $data['floor_id']; |
|
|
|
|
|
$space_id = $data['parking_space_id']; |
|
|
|
|
|
|
|
|
$saveData = $where = [ |
|
|
$saveData = $where = [ |
|
|
'floor_id' => $floor_id, |
|
|
'floor_id' => $floor_id, |
|
|
'space_id' => $space_id |
|
|
'space_id' => $space_id |
|
|
]; |
|
|
]; |
|
|
$res = ParkingElectronicMap::query()->where($where)->first(); |
|
|
$res = ParkingElectronicMap::query()->where($where)->first(); |
|
|
$saveData['width'] = $data['width'] ?? '0'; |
|
|
$saveData['width'] = $data['width'] ?? '0'; |
|
|
$saveData['height'] = $data['height'] ?? '0'; |
|
|
$saveData['height'] = $data['height'] ?? '0'; |
|
|
$saveData['coordinate_x'] = $data['coordinate_x'] ?? ''; |
|
|
$saveData['coordinate_x'] = $data['coordinate_x'] ?? ''; |
|
|
$saveData['coordinate_y'] = $data['coordinate_y'] ?? ''; |
|
|
$saveData['coordinate_y'] = $data['coordinate_y'] ?? ''; |
|
|
$saveData['min_width'] = $data['min_width'] ?? ''; |
|
|
$saveData['min_width'] = $data['min_width'] ?? ''; |
|
|
$saveData['min_height'] = $data['min_height'] ?? ''; |
|
|
$saveData['min_height'] = $data['min_height'] ?? ''; |
|
|
$saveData['keep_aspect_ratio'] = $data['keep_aspect_ratio'] ?? '0'; |
|
|
$saveData['keep_aspect_ratio'] = $data['keep_aspect_ratio'] ?? '0'; |
|
|
$saveData['aspect_ratio'] = $data['aspect_ratio'] ?? ''; |
|
|
$saveData['aspect_ratio'] = $data['aspect_ratio'] ?? ''; |
|
|
if ($res) { |
|
|
if ($res) { |
|
|
$saveData['update_at'] = get_datetime(); |
|
|
$saveData['update_at'] = get_datetime(); |
|
|
$model = ParkingElectronicMap::query()->findOrFail($res['id']); |
|
|
$model = ParkingElectronicMap::query()->findOrFail($res['id']); |
|
|
$oldValues = $model->toArray(); |
|
|
$oldValues = $model->toArray(); |
|
|
$model->update($saveData); |
|
|
$model->update($saveData); |
|
|
$this->logService->logUpdated($model, $oldValues, 'map.save'); |
|
|
$this->logService->logUpdated($model, $oldValues, 'map.save'); |
|
|
} else { |
|
|
} else { |
|
|
$saveData['create_at'] = get_datetime(); |
|
|
$saveData['create_at'] = get_datetime(); |
|
|
$model = ParkingElectronicMap::query()->create($saveData); |
|
|
$model = ParkingElectronicMap::query()->create($saveData); |
|
|
$this->logService->logCreated($model, 'map.save'); |
|
|
$this->logService->logCreated($model, 'map.save'); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
DB::commit(); |
|
|
|
|
|
return true; |
|
|
|
|
|
} catch (Exception $e) { |
|
|
|
|
|
DB::rollBack(); |
|
|
|
|
|
throw $e; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|