|
|
|
@ -17,15 +17,11 @@ use Illuminate\Support\Facades\Storage; |
|
|
|
use Illuminate\Support\Facades\Validator; |
|
|
|
use Illuminate\Validation\ValidationException; |
|
|
|
use Maatwebsite\Excel\Facades\Excel; |
|
|
|
use Psr\SimpleCache\InvalidArgumentException; |
|
|
|
use Symfony\Component\HttpFoundation\BinaryFileResponse; |
|
|
|
|
|
|
|
class VipListController extends BaseController |
|
|
|
{ |
|
|
|
/** |
|
|
|
* @var ApiResponseService |
|
|
|
*/ |
|
|
|
protected ApiResponseService $responseService; |
|
|
|
|
|
|
|
/** |
|
|
|
* @var AdminVipListService |
|
|
|
*/ |
|
|
|
@ -39,7 +35,7 @@ class VipListController extends BaseController |
|
|
|
ApiResponseService $responseService, |
|
|
|
AdminVipListService $vipListService |
|
|
|
) { |
|
|
|
$this->responseService = $responseService; |
|
|
|
parent::__construct($responseService); |
|
|
|
$this->vipListService = $vipListService; |
|
|
|
} |
|
|
|
|
|
|
|
@ -66,6 +62,7 @@ class VipListController extends BaseController |
|
|
|
$item['username'] = AdminUsers::getUsername( |
|
|
|
$item['user_id'] |
|
|
|
); |
|
|
|
unset($item['user_id']); |
|
|
|
return $item; |
|
|
|
} |
|
|
|
); |
|
|
|
@ -161,6 +158,23 @@ class VipListController extends BaseController |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @return JsonResponse |
|
|
|
* @throws InvalidArgumentException |
|
|
|
*/ |
|
|
|
public function rule(): JsonResponse |
|
|
|
{ |
|
|
|
try { |
|
|
|
return $this->responseService->success( |
|
|
|
$this->methodShow('list_vip') |
|
|
|
); |
|
|
|
} catch (Exception $e) { |
|
|
|
return $this->responseService->systemError( |
|
|
|
__('exception.get_data_failed') . ':' . $e->getMessage() |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @param Request $request |
|
|
|
* @return JsonResponse |
|
|
|
@ -173,7 +187,7 @@ class VipListController extends BaseController |
|
|
|
$request->validate([ |
|
|
|
'file' => 'required|mimes:xlsx,xls,csv|max:2048' // 限制文件类型和大小 |
|
|
|
]); |
|
|
|
$validator = Validator::make($request->file('file'), [ |
|
|
|
$validator = Validator::make($request->all(), [ |
|
|
|
'file' => 'required|mimes:xlsx,xls,csv|max:2048' |
|
|
|
], [ |
|
|
|
'file.required' => __('validation.admin_list_vip.file_empty'), |
|
|
|
@ -201,7 +215,7 @@ class VipListController extends BaseController |
|
|
|
// 5. (可选)导入完成后删除临时文件 |
|
|
|
Storage::delete($path); |
|
|
|
|
|
|
|
return $this->responseService->systemError( |
|
|
|
return $this->responseService->success( |
|
|
|
__('controller.import.success') |
|
|
|
); |
|
|
|
} catch (ValidationException $e) { |
|
|
|
@ -247,7 +261,7 @@ class VipListController extends BaseController |
|
|
|
{ |
|
|
|
return Excel::download( |
|
|
|
new AdminVipListImportTemplateExport(), |
|
|
|
__('exports.vip_list.import_template') . '.xlsx' |
|
|
|
__('exports.vip_list.import_template') . time() .'.xlsx' |
|
|
|
); |
|
|
|
} |
|
|
|
|
|
|
|
@ -258,7 +272,7 @@ class VipListController extends BaseController |
|
|
|
{ |
|
|
|
return Excel::download( |
|
|
|
new AdminVipListExport(), |
|
|
|
__('exports.vip_list.list') . '.xlsx' |
|
|
|
__('exports.vip_list.list') . time() . '.xlsx' |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|