request->input("pid",0); $data = [ 'pid'=>$pid ]; $result = $this->publicServiceClient->getDistrictList($data); return $result ? Result::success($result['data']) : Result::error($result['message']); } /** * 获取用户等级 * @return array */ public function getUserLevelList() { $requireData = $this->request->all(); $result = $this->publicServiceClient->getUserLevelList($requireData); return $result ? Result::success($result['data']) : Result::error($result['message']); } /** * 上传图片 * @return array */ public function uploadFile() { $urlN = new CommonService(); $file = $this->request->file('file'); try { if ($file == null) { return Result::error("未找到上传文件"); } $data = CommonService::uploadFile($file, ['png','jpg','png','jpeg','gif','xls', 'xlsx', 'pdf', 'xls', 'xlsx', 'doc', 'docx', 'ppt', 'zip', 'pptx', 'mp4', 'flv'], 'image'); $data['imgUrl'] = $urlN->imgUrl($data['src']); return Result::success($data, '上传成功'); } catch (\Exception $e) { return Result::error($e->getMessage()); } } /** * 添加用户等级 * @return array */ public function addUserLevel() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'name' => 'required', ], [ 'name.required' => '等级名不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->publicServiceClient->addUserLevel($requireData); return $result ? Result::success($result['data']) : Result::error($result['message']); } /** * 删除用户等级 * @return array */ public function delUserLevel() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'id' => 'required' ], [ 'id.required' => 'ID不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->publicServiceClient->delUserLevel($requireData); return $result ? Result::success($result['data']) : Result::error($result['message']); } /** * 更新用户等级 * @return array */ public function updateUserLevel() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'name' => 'required', 'id' => 'required' ], [ 'id.required' => 'ID不能为空', 'name.required' => '名称不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->publicServiceClient->updateUserLevel($requireData); return $result ? Result::success($result['data']) : Result::error($result['message']); } /** * 城市列表 * @return array */ public function getCityList() { $requireData = $this->request->all(); var_dump($requireData); $result = $this->publicServiceClient->getDistrictList($requireData); return $result ? Result::success($result['data']) : Result::error($result['message']); } /** * 投诉举报 * @return void */ public function addComplaint() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'title' => 'required', 'nature' => 'required', 'nature_level'=> 'required', 'type'=> 'required', 'name'=> 'required', 'mobile'=> 'required', 'describe'=> 'required', 'type_level'=> 'required', ], [ 'title.required' => '标题不能为空', 'nature.required' => '性质不能为空', 'nature_level.required' => '进度不能为空', 'type.required' => '类型不能为空', 'name.required' => '姓名不能为空', 'mobile.required' => '手机号码不能为空', 'describe.required' => '详细说明不能为空', 'type_level.required' => '详细说明不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $requireData = $this->request->all(); $requireData['user_id'] = $this->UserId; $result = $this->publicServiceClient->addLetterOfComplaint($requireData); return $result ? Result::success($result['data']) : Result::error($result['message']); } /** * 更新投诉举报信息 * @return array */ public function upComplaint() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'id' => 'required', ], [ 'id.required' => 'id不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } var_dump($requireData); if(isset($requireData['is_admin']) && !empty($requireData['is_admin'])){ $requireData['admin_id'] = $this->UserId; } $result = $this->publicServiceClient->upLetterOfComplaint($requireData); return $result ? Result::success([]) : Result::error($result['message']); } /** * 获取投诉列表 * @return array */ public function getComplaint() { $requireData = $this->request->all(); $requireData['user_id'] = $this->UserId; if(isset($data['is_admin']) && !empty($data['is_admin'])){ unset( $requireData['user_id']); } $result = $this->publicServiceClient->getLetterOfComplaint($requireData); return $result ? Result::success($result['data']) : Result::error($result['message']); } /** * 获取投诉举报信息 * @return array */ public function getLetterOfComplaintInfo() { $requireData = $this->request->all(); $requireData['user_id'] = $this->UserId; if(isset($data['is_admin']) && !empty($data['is_admin'])){ unset( $requireData['user_id']); } $result = $this->publicServiceClient->getLetterOfComplaintInfo($requireData); return $result ? Result::success($result['data']) : Result::error($result['message']); } /** * 删除投诉举报信息 * @return array */ public function delLetterOfComplaint() { $requireData = $this->request->all(); $requireData['user_id'] = $this->UserId; if(isset($data['is_admin']) && !empty($data['is_admin'])){ unset( $requireData['user_id']); } $result = $this->publicServiceClient->delLetterOfComplaint($requireData); return $result ? Result::success($result['data']) : Result::error($result['message']); } /** * 获取投诉分类信息 * @return array */ public function getLetterType() { $requireData = $this->request->all(); $result = $this->publicServiceClient->getLetterType($requireData); $rep = PublicData::buildMenuTree($result['data']); return $rep ? Result::success($rep) : Result::error("查询失败"); } public function downloadFile(RequestInterface $request, ResponseInterface $response) { //验证是否有传参数 $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'files' => 'required', ], [ 'files.required' => '文件不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $requireData['fileName'] = $requireData['fileName']??'政讯通'; //打包文件 $zip = new ZipArchive(); $fileType = 'zip'; $date = date('Ymd'); $filePath = $fileType . DIRECTORY_SEPARATOR . $date ; $allDir = 'public' . DIRECTORY_SEPARATOR . $filePath; if (!is_dir($allDir)) { if (!mkdir($allDir, 0755, true)) { return Result::error('创建文件夹失败'); } } $fileName = $requireData['fileName'].time().mt_rand(1, 1000000) . '.zip'; $zipFileName = $allDir.DIRECTORY_SEPARATOR.$requireData['fileName'].time().mt_rand(1, 1000000) . '.zip'; // $zipFileName = 'public/zip/files.zip'; if ($zip->open($zipFileName, ZipArchive::CREATE) === TRUE) { // 将要下载的文件逐个添加到zip文件中 $string = trim($requireData['files'], "[]'"); // 去掉最外层的方括号和单引号(注意:这里假设了单引号,如果是双引号则替换为 ") $string = str_replace("'", '', $string); // 去掉所有剩余的单引号(如果原字符串中使用的是双引号,则替换为双引号) $filePaths = explode(',', $string); foreach ($filePaths as $filePathu) { $attachmentItem = 'public'.$filePathu; $zip->addFile($attachmentItem, pathinfo($attachmentItem, PATHINFO_BASENAME)); } // 关闭zip文件 $zip->close(); // 将zip文件提供给用户进行下载 // readfile($zipFileName); $fileUrlName = explode("public", $zipFileName); return Result::success(['fileUrl'=>env('HOST').$fileUrlName[1]]); } else { return Result::error('无法创建zip文件'); } // 假设我们从请求中获取一个名为'filename'的查询参数 // $filenameParam = $request->input('filename', 'files.zip'); // 如果没有提供'filename',则使用'default_filename.csv' // // // 构造完整的文件路径(这里假设文件都存放在public目录下) // $filePath = BASE_PATH . '/public/zip/files.zip'; // 注意:这里应该是你实际文件的路径 // // // 注意:download方法的第二个参数是可选的,用于指定下载时的文件名 // // 如果不需要动态设置下载文件名,可以省略第二个参数或传递null // return $response->download($filePath, $filenameParam); } }