|
|
|
@ -231,25 +231,21 @@ class ParkingPatternController extends BaseController |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 创建导入 |
|
|
|
* 批量导入 |
|
|
|
* @param Request $request |
|
|
|
* @return JsonResponse |
|
|
|
* @throws ValidationException |
|
|
|
*/ |
|
|
|
public function import(Request $request): JsonResponse |
|
|
|
public function batchImport(Request $request): JsonResponse |
|
|
|
{ |
|
|
|
try { |
|
|
|
// 1. 验证上传的文件 |
|
|
|
$data = $request->all(); |
|
|
|
$request->validate([ |
|
|
|
'file' => 'required|mimes:xlsx,xls,csv|max:2048', // 限制文件类型和大小 |
|
|
|
'model_name' => 'required' |
|
|
|
'file' => 'required|mimes:xlsx,xls,csv|max:2048' // 限制文件类型和大小 |
|
|
|
]); |
|
|
|
$validator = Validator::make($data, [ |
|
|
|
'file' => 'required|mimes:xlsx,xls,csv|max:2048', |
|
|
|
'model_name.required' => __( |
|
|
|
'validation.parking_pattern.m_empty' |
|
|
|
), |
|
|
|
'file' => 'required|mimes:xlsx,xls,csv|max:2048' |
|
|
|
], [ |
|
|
|
'file.required' => __('validation.admin_list_vip.file_empty'), |
|
|
|
'file.mimes' => __('validation.admin_list_vip.file_mimes'), |
|
|
|
@ -259,8 +255,6 @@ class ParkingPatternController extends BaseController |
|
|
|
throw new ValidationException($validator); |
|
|
|
} |
|
|
|
|
|
|
|
$model_name = $data['model_name']; |
|
|
|
|
|
|
|
// 2. 获取上传的文件 |
|
|
|
$file = $request->file('file'); |
|
|
|
|
|
|
|
@ -270,7 +264,7 @@ class ParkingPatternController extends BaseController |
|
|
|
// 4. 执行导入(使用存储后的绝对路径) |
|
|
|
// storage_path('app') 获取 storage/app 的绝对路径 |
|
|
|
Excel::import( |
|
|
|
new ParkingPatternImport($model_name, $this->adminUserId), |
|
|
|
new ParkingPatternSpaceImport($this->adminUserId), |
|
|
|
storage_path('app/' . $path) |
|
|
|
); |
|
|
|
|
|
|
|
@ -291,21 +285,26 @@ class ParkingPatternController extends BaseController |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 批量导入 |
|
|
|
* 创建导入 |
|
|
|
* @param Request $request |
|
|
|
* @return JsonResponse |
|
|
|
* @throws ValidationException |
|
|
|
*/ |
|
|
|
public function batchImport(Request $request): JsonResponse |
|
|
|
public function import(Request $request): JsonResponse |
|
|
|
{ |
|
|
|
try { |
|
|
|
// 1. 验证上传的文件 |
|
|
|
$data = $request->all(); |
|
|
|
$request->validate([ |
|
|
|
'file' => 'required|mimes:xlsx,xls,csv|max:2048' // 限制文件类型和大小 |
|
|
|
'file' => 'required|mimes:xlsx,xls,csv|max:2048', |
|
|
|
// 限制文件类型和大小 |
|
|
|
'model_name' => 'required' |
|
|
|
]); |
|
|
|
$validator = Validator::make($data, [ |
|
|
|
'file' => 'required|mimes:xlsx,xls,csv|max:2048' |
|
|
|
'file' => 'required|mimes:xlsx,xls,csv|max:2048', |
|
|
|
'model_name.required' => __( |
|
|
|
'validation.parking_pattern.m_empty' |
|
|
|
), |
|
|
|
], [ |
|
|
|
'file.required' => __('validation.admin_list_vip.file_empty'), |
|
|
|
'file.mimes' => __('validation.admin_list_vip.file_mimes'), |
|
|
|
@ -315,6 +314,8 @@ class ParkingPatternController extends BaseController |
|
|
|
throw new ValidationException($validator); |
|
|
|
} |
|
|
|
|
|
|
|
$model_name = $data['model_name']; |
|
|
|
|
|
|
|
// 2. 获取上传的文件 |
|
|
|
$file = $request->file('file'); |
|
|
|
|
|
|
|
@ -324,7 +325,7 @@ class ParkingPatternController extends BaseController |
|
|
|
// 4. 执行导入(使用存储后的绝对路径) |
|
|
|
// storage_path('app') 获取 storage/app 的绝对路径 |
|
|
|
Excel::import( |
|
|
|
new ParkingPatternSpaceImport($this->adminUserId), |
|
|
|
new ParkingPatternImport($model_name, $this->adminUserId), |
|
|
|
storage_path('app/' . $path) |
|
|
|
); |
|
|
|
|
|
|
|
@ -384,4 +385,58 @@ class ParkingPatternController extends BaseController |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 释出 优越 车位 |
|
|
|
* @param Request $request |
|
|
|
* @return JsonResponse |
|
|
|
* @throws ValidationException |
|
|
|
*/ |
|
|
|
public function release(Request $request): JsonResponse |
|
|
|
{ |
|
|
|
try { |
|
|
|
$id = $request->get('pattern_id', ''); |
|
|
|
$this->validateId($id, ParkingPattern::class); |
|
|
|
if ($id) { |
|
|
|
throw new Exception( |
|
|
|
__('controller.parking_pattern.not_parking_space') |
|
|
|
); |
|
|
|
} |
|
|
|
$this->service->updateDataModel($id, 'release'); |
|
|
|
return $this->responseService->success( |
|
|
|
null, |
|
|
|
__('admin.operation_successful') |
|
|
|
); |
|
|
|
} catch (ValidationException $e) { |
|
|
|
throw $e; |
|
|
|
} catch (Exception $e) { |
|
|
|
return $this->responseService->systemError($e->getMessage()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 切换离场显示 |
|
|
|
* @param Request $request |
|
|
|
* @return JsonResponse |
|
|
|
* @throws ValidationException |
|
|
|
*/ |
|
|
|
public function change(Request $request): JsonResponse |
|
|
|
{ |
|
|
|
try { |
|
|
|
$id = $request->get('pattern_id', ''); |
|
|
|
$this->validateId($id, ParkingPattern::class); |
|
|
|
$this->service->updateDataModel($id, 'change'); |
|
|
|
return $this->responseService->success( |
|
|
|
null, |
|
|
|
__('admin.operation_successful') |
|
|
|
); |
|
|
|
} catch (ValidationException $e) { |
|
|
|
throw $e; |
|
|
|
} catch (Exception $e) { |
|
|
|
return $this->responseService->systemError( |
|
|
|
__('admin.operation_failed') . ':' |
|
|
|
. $e->getMessage() |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|