|
|
|
@ -19,12 +19,8 @@ use Illuminate\Validation\ValidationException; |
|
|
|
use Maatwebsite\Excel\Facades\Excel; |
|
|
|
use Symfony\Component\HttpFoundation\BinaryFileResponse; |
|
|
|
|
|
|
|
class ParkingSpaceController extends Controller |
|
|
|
class ParkingSpaceController extends BaseController |
|
|
|
{ |
|
|
|
/** |
|
|
|
* @var ApiResponseService |
|
|
|
*/ |
|
|
|
protected ApiResponseService $responseService; |
|
|
|
|
|
|
|
/** |
|
|
|
* @var ParkingSpaceService |
|
|
|
@ -32,6 +28,7 @@ class ParkingSpaceController extends Controller |
|
|
|
protected ParkingSpaceService $service; |
|
|
|
|
|
|
|
/** |
|
|
|
* 构造函数 |
|
|
|
* @param ApiResponseService $responseService |
|
|
|
* @param ParkingSpaceService $service |
|
|
|
*/ |
|
|
|
@ -39,7 +36,7 @@ class ParkingSpaceController extends Controller |
|
|
|
ApiResponseService $responseService, |
|
|
|
ParkingSpaceService $service |
|
|
|
) { |
|
|
|
$this->responseService = $responseService; |
|
|
|
parent::__construct($responseService); |
|
|
|
$this->service = $service; |
|
|
|
} |
|
|
|
|
|
|
|
@ -295,4 +292,40 @@ class ParkingSpaceController extends Controller |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
public function updateStatus(Request $request): JsonResponse |
|
|
|
{ |
|
|
|
try { |
|
|
|
$data = $request->all(); |
|
|
|
$statusArr = $this->service->getStatusArrKey(); |
|
|
|
$statusStr = implode(',', $statusArr); |
|
|
|
$rules = [ |
|
|
|
'status' => 'required|numeric|in:'.$statusStr |
|
|
|
]; |
|
|
|
$messages = [ |
|
|
|
'status.required' => __( |
|
|
|
'validation.parking_space.status_empty' |
|
|
|
), |
|
|
|
'status.numeric' => __( |
|
|
|
'validation.parking_space.status_numeric' |
|
|
|
), |
|
|
|
'status.in' => __('validation.parking_space.status_in') |
|
|
|
]; |
|
|
|
$validator = Validator::make($data, $rules, $messages); |
|
|
|
if ($validator->fails()) { |
|
|
|
throw new ValidationException($validator); |
|
|
|
} |
|
|
|
$parking_space_id = $data['parking_space_id']; |
|
|
|
$status = $data['status']; |
|
|
|
$number = $data['license_plate']; |
|
|
|
$this->validateId($parking_space_id, ParkingSpace::class); |
|
|
|
$this->service->updateStatus($parking_space_id, $status, $number); |
|
|
|
return $this->responseService->success('', __('admin.save_succeeded')); |
|
|
|
} catch (Exception $e) { |
|
|
|
$m_prefix = __('exception.exception_handler.resource'); |
|
|
|
return $this->responseService->systemError( |
|
|
|
$m_prefix . ':' . $e->getMessage() |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|