Browse Source

绘制电子地图删除接口

master
wanghongjun 4 weeks ago
parent
commit
e14a140449
  1. 36
      app/Http/Controllers/Admin/ParkingElectronicMapController.php
  2. 24
      app/Services/ParkingElectronicMapService.php
  3. 1
      database/seeders/AdminMenuSeeder.php
  4. 3
      resources/lang/en/log.php
  5. 3
      resources/lang/zh-CN/log.php
  6. 3
      resources/lang/zh-TW/log.php
  7. 1
      routes/admin/api.php

36
app/Http/Controllers/Admin/ParkingElectronicMapController.php

@ -3,6 +3,7 @@
namespace App\Http\Controllers\Admin;
use App\Exceptions\CustomException;
use App\Models\ParkingElectronicMap;
use App\Services\AdminFloorService;
use App\Services\ApiResponseService;
use App\Services\ParkingElectronicMapService;
@ -42,7 +43,9 @@ class ParkingElectronicMapController extends BaseController
try {
$building_floor = $request->get('building_floor', '1');
$data = [
'floor_list' => AdminFloorService::getSelectList($building_floor)
'floor_list' => AdminFloorService::getSelectList(
$building_floor
)
];
return $this->responseService->success($data);
} catch (Exception $e) {
@ -115,8 +118,12 @@ class ParkingElectronicMapController extends BaseController
];
if ($is_save) {
$rules['parking_space_id'] = 'required|numeric';
$messages['parking_space_id.required'] = __('validation.map.p_empty');
$messages['parking_space_id.numeric'] = __('validation.map.p_number');
$messages['parking_space_id.required'] = __(
'validation.map.p_empty'
);
$messages['parking_space_id.numeric'] = __(
'validation.map.p_number'
);
}
$validator = Validator::make($data, $rules, $messages);
@ -137,7 +144,8 @@ class ParkingElectronicMapController extends BaseController
$this->saveValidator($item, 1);
}
$this->service->saveModel($saveData);
return $this->responseService->success([], __('admin.save_succeeded'));
return $this->responseService->success([],
__('admin.save_succeeded'));
} catch (CustomException|ValidationException $e) {
throw $e;
} catch (Exception $e) {
@ -146,7 +154,6 @@ class ParkingElectronicMapController extends BaseController
$m_prefix . ':' . $e->getMessage()
);
}
}
public function index(Request $request): JsonResponse
@ -165,4 +172,23 @@ class ParkingElectronicMapController extends BaseController
);
}
}
public function destroy(string $id)
{
try {
$this->validateId($id, ParkingElectronicMap::class);
$this->service->deleteModel($id);
return $this->responseService->success(
null,
__('admin.delete_succeeded')
);
} catch (ValidationException $e) {
throw $e;
} catch (Exception $e) {
return $this->responseService->systemError(
__('admin.operation_failed') . ':'
. $e->getMessage()
);
}
}
}

24
app/Services/ParkingElectronicMapService.php

@ -131,4 +131,28 @@ class ParkingElectronicMapService extends BaseService
self::syncDeleteMapSpace($space_id, $old_floor_id);
}
}
/**
* @param $id
* @return bool
* @throws Exception
*/
public function deleteModel($id): bool
{
try {
DB::beginTransaction();
$model = ParkingElectronicMap::query()->findOrFail($id);
$this->logService->logDeleted($model, 'map.delete');
$model->delete();
DB::commit();
return true;
} catch (Exception $e) {
DB::rollBack();
throw $e;
}
}
}

1
database/seeders/AdminMenuSeeder.php

@ -180,6 +180,7 @@ class AdminMenuSeeder extends Seeder
'child' => [
'read_only' => 'map.index',
'save' => 'map.save',
'delete' => 'map.destroy'
]
],
'parking_information' => [

3
resources/lang/en/log.php

@ -56,7 +56,8 @@ return [
],
'map' => [
'save' => 'Draw an electronic map and save it',
'sync_delete' => 'Synchronized deletion of parking spaces'
'sync_delete' => 'Synchronized deletion of parking spaces',
'delete' => 'Delete drawing position'
],
'parking_information' => [
'create' => 'Create parking information',

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

@ -56,7 +56,8 @@ return [
],
'map' => [
'save' => '绘制电子地图保存',
'sync_delete' => '车位同步删除'
'sync_delete' => '车位同步删除',
'delete' => '删除绘制位置'
],
'parking_information' => [
'create' => '创建车位资讯',

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

@ -56,7 +56,8 @@ return [
],
'map' => [
'save' => '繪製電子地圖保存',
'sync_delete' => '車位同步删除'
'sync_delete' => '車位同步删除',
'delete' => '刪除繪製位置'
],
'parking_information' => [
'create' => '創建車位資訊',

1
routes/admin/api.php

@ -170,6 +170,7 @@ Route::group(['prefix' => 'admin'], function () {
Route::get('/map/parkingSpaceList/{id}', [ParkingElectronicMapController::class, 'getParkingSpaceList']);
Route::post('/map/save', [ParkingElectronicMapController::class, 'save']);
Route::get('/map/rule', [ParkingElectronicMapController::class, 'rule']);
Route::delete('/map/{id}', [ParkingElectronicMapController::class, 'destroy']);
// 车辆停车资讯
Route::get('/information', [ParkingInformationController::class, 'index']);
Route::get('/information/search', [ParkingInformationController::class, 'search']);

Loading…
Cancel
Save