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'); $fileName = $this->request->input("fileName", ''); 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']); $data['oldFileName'] = $fileName; 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'] = Context::get("UserId"); if ($requireData['id']) { $result = $this->publicServiceClient->userUpLetterOfComplaint($requireData); } else { $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'] = Context::get("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'] = Context::get("UserId"); var_dump("用户id:", Context::get("UserId")); if (isset($requireData['is_admin']) && !empty($requireData['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'] = Context::get("UserId"); if (isset($requireData['is_admin']) && !empty($requireData['is_admin'])) { unset($requireData['user_id']); } $result = $this->publicServiceClient->getLetterOfComplaintInfo($requireData); if ($result) { $result['data']['judgment'] = $result['data']['judgment'] ? json_decode($result['data']['judgment']) : ''; $result['data']['audio_and_video'] = $result['data']['audio_and_video'] ? json_decode($result['data']['audio_and_video']) : ''; $result['data']['contract'] = $result['data']['contract'] ? json_decode($result['data']['contract']) : ''; $result['data']['qualifications'] = $result['data']['qualifications'] ? json_decode($result['data']['qualifications']) : ''; } return $result ? Result::success($result['data']) : Result::error($result['message']); } /** * 删除投诉举报信息 * @return array */ public function delLetterOfComplaint() { $requireData = $this->request->all(); $requireData['user_id'] = Context::get("UserId"); if (isset($requireData['is_admin']) && !empty($requireData['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 ($requireData['files'] 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文件'); } } /** * 检测是否被处理 * @return array */ public function checkMeasure() { $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); } $requireData['user_id'] = Context::get("UserId"); $result = $this->publicServiceClient->checkMeasure($requireData); return $result['code'] == 200 ? Result::success() : Result::error("已经处理了"); } /** * 获取职能部门 * @return void */ public function getDepartment() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'pid' => 'required', ], [ 'pid.required' => 'id不能为空', ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->publicServiceClient->getDepartment($requireData); return $result['code'] == 200 ? Result::success($result['data']) : Result::error("查询失败"); } /** * 获取职能部门 * @return array */ public function getZhinengbumenList() { // 获取请求参数 $requireData = $this->request->all(); // 参数验证 $validator = $this->validationFactory->make( $requireData, [ 'page' => 'integer|min:1', 'pagesize' => 'integer|min:1', 'search' => 'string|nullable', ], [ 'page.integer' => 'page 必须是整数', 'page.min' => 'page 必须大于等于 1', 'pagesize.integer' => 'pagesize 必须是整数', 'pagesize.min' => 'pagesize 必须大于等于 1', 'search.string' => 'search 必须是字符串', ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } // 添加用户 ID $requireData['user_id'] = Context::get("UserId"); // 调用服务客户端方法获取分页数据 $result = $this->publicServiceClient->getZhinengbumenList($requireData); // 处理结果 return $result['code'] == 200 ? Result::success($result['data']) : Result::error("查询失败"); } /** * 添加职能部门 * @return array */ public function addZhinengbumen() { // 获取请求参数 $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'name' => 'required|string|regex:/^[\x{4e00}-\x{9fa5}]+$/u', 'pid' => 'required|integer', ], [ 'name.required' => 'name 不能为空', 'name.string' => 'name 必须是字符串', 'name.regex' => 'name 必须是汉字', 'pid.required' => 'pid 不能为空', 'pid.integer' => 'pid 必须是整数', ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } // $requireData['user_id'] = Context::get("UserId"); $result = $this->publicServiceClient->addZhinengbumen($requireData); return $result['code'] == 200 ? Result::success() : Result::error("添加失败"); } /** * 删除职能部门 * @return array */ public function delZhinengbumen() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'id' => 'required|integer', ], [ 'id.required' => 'id 不能为空', 'id.integer' => 'id 必须是整数', ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $requireData['user_id'] = Context::get("UserId"); $result = $this->publicServiceClient->delZhinengbumen($requireData); return $result['code'] == 200 ? Result::success() : Result::error("删除失败"); } /** * 职能部门详情 * @return array */ public function getZhinengbumen() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'id' => 'required|integer', ], [ 'id.required' => 'id 不能为空', 'id.integer' => 'id 必须是整数', ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $requireData['user_id'] = Context::get("UserId"); $result = $this->publicServiceClient->getZhinengbumen($requireData); return $result['code'] == 200 ? Result::success($result['data']) : Result::error("查询失败"); } /** * 获取职能部门某pid的所有子级,默认0级 * @return array */ public function getPidZhinengbumen() { // 获取请求参数 $requireData = $this->request->all(); // 参数验证 $validator = $this->validationFactory->make( $requireData, [ 'pid' => 'integer|min:0', ], [ 'pid.integer' => 'pid 必须是整数', 'pid.min' => 'pid 必须大于等于 0', ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $requireData['user_id'] = Context::get("UserId"); $result = $this->publicServiceClient->getPidZhinengbumen($requireData); return $result['code'] == 200 ? Result::success($result['data']) : Result::error("查询失败"); } /** * 修改职能部门名称 * @return array */ public function modZhinengbumen() { $requireData = $this->request->all(); // 参数验证 $validator = $this->validationFactory->make( $requireData, [ 'id' => 'required|integer', 'name' => 'required|string|regex:/^[\x{4e00}-\x{9fa5}]+$/u', ], [ 'id.required' => 'id 不能为空', 'id.integer' => 'id 必须是整数', 'name.required' => 'name 不能为空', 'name.string' => 'name 必须是字符串', 'name.regex' => 'name 必须是汉字', ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $requireData['user_id'] = Context::get("UserId"); $result = $this->publicServiceClient->upZhinengbumen($requireData); return $result['code'] == 200 ? Result::success() : Result::error("修改失败"); } }