JWT = $JWT; } /** * 创建站点 * @return array */ public function addWebsite() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_column_arr_id' => 'required', 'website_name' => 'required', 'website_url' => 'required', ], [ 'website_column_id.required' => '上级网系id不能为空', 'website_name.required' => '站点名称不能为空', 'website_url.required' => '网站地址不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $requireData['website_url'] = json_encode($requireData['website_url']); $requireData['city_id'] = isset($requireData['city_arr_id'])?end($requireData['city_arr_id']):0; $requireData['city_arr_id'] = isset($requireData['city_arr_id'])?json_encode($requireData['city_arr_id']):[0]; $requireData['website_column_id'] = isset($requireData['website_column_arr_id'])?end($requireData['website_column_arr_id']):''; $requireData['website_column_arr_id'] = isset($requireData['website_column_arr_id'])?json_encode($requireData['website_column_arr_id']):''; var_dump($requireData); $result = $this->websiteServiceClient->createWebsite($requireData); return $result?Result::success($result['data']):Result::error($result['message']); } /** * 获取站点列表 * @return void */ public function getWebsiteList() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'page' => 'required', 'pageSize' => 'required', ], [ 'page.required' => '页码不能为空', 'pageSize.required' => '每页显示条数不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->getWebsitetList($requireData); if($result['data']){ foreach ($result['data']['rows'] as $k=>$v) { $result['data']['rows'][$k]['city_arr_id'] = $v['city_arr_id']?json_decode($v['city_arr_id']):''; $result['data']['rows'][$k]['website_url'] = $v['website_url']?json_decode($v['website_url']):[]; } } return $result?Result::success($result['data']):Result::error($result['message']); } /** * 更新站点 * @return array */ public function updateWebsite() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'id' => 'required', 'website_column_arr_id' => 'required', 'website_name' => 'required', 'website_url' => 'required', ], [ 'id.required' => 'id不能为空', 'website_column_id.required' => '网系id不能为空', 'website_name.required' => '站点名称不能为空', 'website_url.required' => '网站地址不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $requireData['website_url'] = json_encode($requireData['website_url']); $requireData['city_id'] = isset($requireData['city_arr_id'])?end($requireData['city_arr_id']):0; $requireData['city_arr_id'] = isset($requireData['city_arr_id'])?json_encode($requireData['city_arr_id']):[0]; $requireData['website_column_id'] = isset($requireData['website_column_arr_id'])?end($requireData['website_column_arr_id']):''; $requireData['website_column_arr_id'] = isset($requireData['website_column_arr_id'])?json_encode($requireData['website_column_arr_id']):''; $result = $this->websiteServiceClient->updateWebsite((int)$requireData['id'],$requireData); return $result?Result::success($result['data']):Result::error($result['message']); } /** * 删除站点 * @return array */ public function delWebsite() { $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); } $id = (int)$requireData['id']; $result = $this->websiteServiceClient->delWebsite($id); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 获取站点信息 * @return array */ public function getWebsiteInfo() { $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); } $id = (int)$requireData['id']; $result = $this->websiteServiceClient->getWebsiteInfo($id); if($result['code']==200){ $result['data']['website_url'] = isset($result['data']['website_url']) && $result['data']['website_url']?json_decode($result['data']['website_url']):''; $result['data']['website_column_arr_id'] = isset($result['data']['website_column_arr_id']) && $result['data']['website_column_arr_id']?json_decode($result['data']['website_column_arr_id']):''; $result['data']['city_arr_id'] = isset($result['data']['city_arr_id']) && $result['data']['city_arr_id']?json_decode($result['data']['city_arr_id']):''; return Result::success($result['data']); }else{ return Result::error($result['message']); } } /** * 添加的时候 选择上级网系 * @return array */ public function getWebsiteColumn() { $result = $this->websiteServiceClient->getWebsiteColumn([]); $rep = PublicData::buildMenuTree($result['data']); return $rep?Result::success($rep):Result::error("查询失败"); } /** * 获取网系列表 * @return void */ public function getWebsiteColumnList() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'page' => 'required', 'pageSize' => 'required', ], [ 'page.required' => '页码不能为空', 'pageSize.required' => '每页显示条数不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->getWebsiteColumnList($requireData); if($result['data']){ foreach ($result['data']['rows'] as $k=>$v) { $result['data']['rows'][$k]['column_arr_id'] = $v['column_arr_id']?json_decode($v['column_arr_id']):[0]; } } return $result?Result::success($result['data']):Result::error($result['message']); } /** * 创建网系 * @return array */ public function addWebsiteColumn() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'column_name' => 'required', ], [ 'column_name.required' => '网系名称不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $requireData['pid'] = isset($requireData['column_arr_id'])?end($requireData['column_arr_id']):''; $requireData['column_arr_id'] = isset($requireData['column_arr_id'])?json_encode($requireData['column_arr_id']):''; $result = $this->websiteServiceClient->createWebsiteColumn($requireData); return $result?Result::success($result['data']):Result::error($result['message']); } /** * 更新网系 * @return array */ public function updateWebsiteColumn() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'column_name' => 'required', ], [ 'column_name.required' => '栏目名称不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $requireData['pid'] = isset($requireData['column_arr_id'])?end($requireData['column_arr_id']):''; $requireData['column_arr_id'] = isset($requireData['column_arr_id'])?json_encode($requireData['column_arr_id']):''; $result = $this->websiteServiceClient->updateWebsiteColumn($requireData['id'],$requireData); return $result?Result::success($result['data']):Result::error($result['message']); } /** * 删除网系 * @return array */ public function delWebsiteColumn() { $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->websiteServiceClient->delWebsiteColumn(intval($requireData['id'])); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 获取站点角色列表 * @return void */ public function getWebsiteRoleList() { $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); } $keyword = $this->request->input("keyword",''); $page = (int)$this->request->input("page",1); $pageSize = (int)$this->request->input("pageSize",10); $websiteId = (int)$this->request->input("id",''); $result = $this->websiteServiceClient->getWebsiteRoleList($keyword,$page,$pageSize,$websiteId); return $result?Result::success($result['data']):Result::error($result['message']); } /** * 创建站点角色 * @return array */ public function createWebsiteRole() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'type' => 'required', 'role_id' => 'required', 'website_id' => 'required' ], [ 'type.required' => '类型不能为空', 'type_id.required' => 'ID不能为空', 'website_id.required' => '站点ID不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $requireData['admin_user_id'] =Context::get("UserId"); $result = $this->websiteServiceClient->createWebsiteRole($requireData); return $result['code']!=0?Result::success($result['data']):Result::error($result['message']); } /** * 删除站点角色 * @return array */ public function delWebsiteRole() { $id = (int)$this->request->input("id",''); $result = $this->websiteServiceClient->delWebsiteRole($id); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 获取站点角色用户列表 * @return void */ public function getWebsiteRoleUserList() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' => 'required', 'role_id' => 'required', ], [ 'website_id.required' => '站点ID不能为空', 'role_id.required' => '角色ID不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $keyword = $this->request->input("keyword",''); $page = (int)$this->request->input("page",1); $pageSize = (int)$this->request->input("pageSize",10); $roleId = (int)$this->request->input("role_id",''); $websiteId = (int)$this->request->input("website_id",''); $result = $this->websiteServiceClient->getWebsiteRoleUserList($keyword,$page,$pageSize,$websiteId,$roleId); return $result?Result::success($result['data']):Result::error($result['message']); } /** * 创建站点角色用户 * @return array */ public function createWebsiteRoleUser() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'type' => 'required', 'role_id' => 'required', 'website_id' => 'required', 'user_id' => 'required', ], [ 'type.required' => '类型不能为空', 'website_id.required' => '站点ID不能为空', 'role_id.required' => '角色ID不能为空', 'user_id.required' => '用户ID不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $requireData['admin_user_id'] =Context::get("UserId"); $requireData['role_id'] = (int)$requireData['role_id']; $requireData['type'] = (int)$requireData['type']; $requireData['website_id'] =(int)$requireData['website_id']; $requireData['user_id'] = (int)$requireData['user_id']; $result = $this->websiteServiceClient->createWebsiteRoleUser($requireData); return $result['code']!=0?Result::success($result['data']):Result::error($result['message']); } /** * 删除站点角色用户 * @return array */ public function delWebsiteRoleUser() { $id = (int)$this->request->input("id",''); $result = $this->websiteServiceClient->delWebsiteRoleUser($id); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 网站栏目映射 * @return void */ public function addWebsiteCategory() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' => 'required', 'category_arr_id' => 'required', ], [ 'website_id.required' => '网站ID不能为空', 'category_arr_id.required' => '网站导航ID不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->addWebsiteCategory($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 删除网站导航 * @return void */ public function delWebsiteCategory() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' => 'required', 'category_id' => 'required', ], [ 'website_id.required' => '网站ID不能为空', 'category_id.required' => '网站导航ID不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->delWebsiteCategory($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 获取网站导航 * @return void */ public function getAdminWebsiteCategory() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' => 'required', ], [ 'website_id.required' => '网站ID不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->getAdminWebsiteCategory($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 更新网站导航 * @return void */ public function upWebsiteCategory() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' => 'required', 'category_arr_id' => 'required', ], [ 'website_id.required' => '网站ID不能为空', 'category_arr_id.required' => '栏目id不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->upWebsiteCategory($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 获取网站与导航 * @return array */ public function getWebsiteCategoryList() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'page' => 'required', 'pageSize' => 'required', ], [ 'page.required' => '当前页码数不能为空', 'pageSize.required' => '每页显示条数不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->getWebsiteCategoryList($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 删除网站下面的所有导航 * @return void */ public function delWebsiteAllCategory() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' => 'required' ], [ 'website_id.required' => '网站ID不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->delWebsiteAllCategory($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 查看指定的导航 * @return array */ public function getWebsiteCategoryOnes() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' => 'required', 'category_id' => 'required', ], [ 'website_id.required' => '网站ID不能为空', 'category_id.required' => '网站导航ID不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->getWebsiteCategoryOnes($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 更新指定的某一个导航 * @return array */ public function upWebsiteCategoryones() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' => 'required', 'category_id'=> 'required', 'alias'=> 'required', 'seo_title'=> 'required', 'seo_keywords'=> 'required', 'seo_description'=> 'required', ], [ 'website_id.required' => '网站ID不能为空', 'category_id.required' => '导航ID不能为空', 'alias.required' => '名称不能为空', 'seo_title.required' => 'seo标题不能为空', 'seo_keywords.required' => '关键词不能为空', 'seo_description.required' => '网站描述不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->upWebsiteCategoryones($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 站下的所有导航包含子导航 * @return array */ public function getWebsiteAllCategory() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' => 'required' ], [ 'website_id.required' => '网站ID不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->getWebsiteAllCategory($requireData); if($result['code']==200){ return Result::success(PublicData::buildCategoryTree($result['data'])); }else{ return Result::error($result['message']); } } /** * 管理后台首页统计 * @return array */ public function getAdminIndex() { // $token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJwaHBlcjY2Ni9qd3QiLCJ1aWQiOjMyLCJ1c2VyX25hbWUiOiIxIiwibW9iaWxlIjoiMTU4MDEyNDU3NTUiLCJlbWFpbCI6IjVAcXEuY29tIiwicm9uZ190b2tlbiI6IiIsImxldmVsX2lkIjoxLCJ0eXBlX2lkIjoxLCJqd3Rfc2NlbmUiOiJkZWZhdWx0IiwianRpIjoiZGVmYXVsdF82NzFiNDc3MDcwODI2OC4wOTk4ODA3NyIsImlhdCI6MTcyOTg0MTAwOCwibmJmIjoxNzI5ODQxMDA4LCJleHAiOjE3Mjk4NDQwMDh9.4X-Q-vwPxddX75q6CKtOXqWgtnFAikRwX308T0iDxYE"; // $time = $this->JWT->getTokenDynamicCacheTime($token); // var_dump("有效时间:",$time); $typeId = intval(Context::get("TypeId")); var_dump("用户类型:",$typeId); switch ($typeId){ case 4: $dates = []; $startDate = (new DateTime())->modify('-29 day'); // 从 29 天前开始(因为我们要 30 天,包括今天的前一天) for ($i = 0; $i < 30; $i++) { $dates[] = $startDate->format('Y-m-d'); $startDate->modify('+1 day'); // 每天递增一天 } $result = $this->websiteServiceClient->getAdminIndex(['type_id'=>$typeId]); $list = []; if($result['data']){ $list = PublicData::arrayColumnAsKey($result['data'],'date'); var_dump($list); } $newResult = []; if($dates){ foreach ($dates as $key=>$val){ $newResult[$key]['date'] = $val; $newResult[$key]['total_count'] = $list[$val]['total_count']??0; } } //投诉举报列表 $res['letterOfComplaintList'] = $newResult; return $result['code']==200?Result::success($res):Result::error($result['message']); break; case 10000: $result = $this->websiteServiceClient->getAdminIndex(['type_id'=>$typeId]); if($result){ $dates = []; $startDate = (new DateTime())->modify('-29 day'); // 从 29 天前开始(因为我们要 30 天,包括今天的前一天) for ($i = 0; $i < 30; $i++) { $dates[] = $startDate->format('Y-m-d'); $startDate->modify('+1 day'); // 每天递增一天 } $list = []; if($result['data']['monthArticle']){ $list = PublicData::arrayColumnAsKey($result['data']['monthArticle'],'date'); } $newResult = []; if($dates){ foreach ($dates as $key=>$val){ $newResult[$key]['date'] = $val; $newResult[$key]['total_count'] = $list[$val]['total_count']??0; } } //1:个人会员 2:政务会员 3:企业会员 4:调研员 10000:管理员 $userType=[ '1'=>'个人会员', '2'=>'政务会员', '3'=>'企业会员', '4'=>'调研员', '10000'=>'管理员', '20000'=>'游客', ]; if($result['data']['userType']){ foreach ($result['data']['userType'] as $k=>$v){ $result['data']['userType'][$k]['typeName'] = $userType[$v['type_id']]; } } $result['data']['monthArticle'] = $newResult; return Result::success($result['data']); }else{ return Result::error($result['message']); } return Result::success($result); break; } } /** * 获取模板皮肤分类 * @return void */ public function getTemplateClass() { $requireData = $this->request->all(); $result = $this->websiteServiceClient->getTemplateClass($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 添加模板分类 * @return void */ public function addTemplateClass() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'name' => 'required' ], [ 'name.required' => '模板类型不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $data = [ 'name' => $requireData['name'], 'sort' => $requireData['sort']??0, ]; $result = $this->websiteServiceClient->addTemplateClass($data); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 更新模板分类 * @return array */ public function upTemplateClass() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'name' => 'required', 'id'=> 'required', ], [ 'name.required' => '模板类型不能为空', 'name.id' => '模板类型ID不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $data = [ 'id'=> $requireData['id'], 'name' => $requireData['name'], 'sort' => $requireData['sort']??0, ]; $result = $this->websiteServiceClient->upTemplateClass($data); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 删除模板分类 * @return array */ public function delTemplateClass() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'id' => 'required' ], [ 'name.required' => '类型id不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $data = [ 'id' => $requireData['id'] ]; $result = $this->websiteServiceClient->delTemplateClass($data); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 获取分类下的模板 * @return array */ public function getTemplate() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ // 'template_class_id' => 'required', 'page' => 'required', 'pageSize' => 'required', ], [ // 'template_class_id.required' => '类型template_class_id不能为空', 'page.required' => 'page不能为空', 'pageSize.required' => '每页显示条数不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $data = [ 'template_class_id' => $requireData['template_class_id'], 'page' => $requireData['page'], 'pageSize' => $requireData['pageSize'], ]; $result = $this->websiteServiceClient->getTemplate($data); var_dump("模板列表:",$result['data']['rows']); if($result['data']['rows']){ foreach ($result['data']['rows'] as $key=>$val){ $result['data']['rows'][$key]['template_img'] = json_decode($val['template_img'],true); } } return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 创建皮肤模板 * @return array */ public function addTemplate() { $requireData = $this->request->all(); // var_dump("FCK:",$requireData); $validator = $this->validationFactory->make( $requireData, [ 'template_name' => 'required', 'template_class_id' => 'required', 'template_img' => 'required' ], [ 'template_name.required' => '模板名称不能为空', 'template_class_id.required' => '模板类型id不能为空', 'template_img.required' => '模板图片不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } // var_dump($requireData); $data = [ 'template_name' => $requireData['template_name'], 'template_class_id' => $requireData['template_class_id'], 'template_img' => $requireData['template_img'], ]; $result = $this->websiteServiceClient->addTemplate($data); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 更新模板 * @return array */ public function upTemplate() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'template_name' => 'required', 'template_class_id' => 'required', 'template_img' => 'required', 'id' => 'required', ], [ 'template_name.required' => '模板名称不能为空', 'template_class_id.required' => '模板类型id不能为空', 'template_img.required' => '模板图片不能为空', 'id.required' => '模板id不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $data = [ 'id'=> $requireData['id'], 'template_name' => $requireData['template_name'], 'template_img' => $requireData['template_img'], 'template_class_id' => $requireData['template_class_id'], ]; $result = $this->websiteServiceClient->upTemplate($data); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 删除模板 * @return array */ public function delTemplate() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'id' => 'required' ], [ 'name.required' => '模板id不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $data = [ 'id' => $requireData['id'] ]; $result = $this->websiteServiceClient->delTemplate($data); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 搜索网站 * @return array */ public function websiteList() { $requireData = $this->request->all(); $result = $this->websiteServiceClient->websiteList($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 检测网站名称是否存在 * @return array */ public function checkWebsiteName() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_name' => 'required' ], [ 'website_name.required' => '网站名称不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->checkWebsiteName($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 检测网站网址是否存在 * @return array */ public function checkWebsiteUrl() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_url' => 'required' ], [ 'website_url.required' => '网站网址不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->checkWebsiteUrl($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } //20250212 网站标识 public function addWebsiteGroup() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'name' =>'required', 'web_ids' =>'required', ], [ 'name.required' => '网站标识名称不能为空', 'web_ids.required' => '网站标识不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); }; $result = $this->websiteServiceClient->addWebsiteGroup($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } public function getWebsiteGrouplist() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'page' =>'required', 'pageSize' =>'required', ], [ 'page.required' => 'page不能为空', 'pageSize.required' => '每页显示条数不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); }; $result = $this->websiteServiceClient->getWebsiteGrouplist($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } public function getWebsiteGroupInfo() { $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->websiteServiceClient->getWebsiteGroupInfo($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } public function updateWebsiteGroup() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'id' => 'required', 'name' => 'required', 'web_ids' => 'required', ], [ 'id.required' => '网站标识id不能为空', 'name.required' => '网站标识名称不能为空', 'web_ids.required' => '网站标识不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); }; $result = $this->websiteServiceClient->updateWebsiteGroup($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } public function deleteWebsiteGroup() { $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->websiteServiceClient->deleteWebsiteGroup($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } //获取网站下导航列表 public function getWebsiteNavList() { $requireData = $this->request->all(); var_dump("获取网站下导航列表",$requireData); $validator = $this->validationFactory->make( $requireData, [ 'website_id' => 'required', 'pid' => 'required', ], [ 'website_id.required' => '网站id不能为空', 'pid.required' => '父级id不能为空', ] ); if ($validator->fails()){ $errorMessage= $validator->errors()->first(); return Result::error($errorMessage); }; //获取用户信息 $user_id = Context::get("UserId"); var_dump("用户id:",$user_id); $userInfo = $this->userServiceClient->getUserInfo((int)$user_id); var_dump("用户信息:",$userInfo); $sszq = $userInfo['data']['sszq']; $type_id = $userInfo['data']['type_id']; if($type_id != 10000){ if($sszq == ""){ return Result::error("请配置用户的网站标识"); } //获取websiteid $groupInfo = $this->websiteServiceClient->getWebsiteGroupInfo(['id' => $sszq]); var_dump("groupInfo:",$groupInfo); if(empty($groupInfo['data'])){ return Result::error("没有找到该网站标识"); } if(empty($groupInfo['data']['web_ids'])){ return Result::error("该网站标识没有绑定网站"); } $sszqarr = json_decode($groupInfo['data']['web_ids']); var_dump($website_id = Context::get("SiteId")??2 ,'------------website------'); if (!in_array($website_id, $sszqarr)) { return Result::error("您没有权限访问该网站"); } } $result = $this->websiteServiceClient->getWebsiteNavList($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } // 20250307 根据网站标识获取导航池 public function getWebsiteNavPool() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'pid' => 'required|integer' ], [ 'pid.required' => 'pid不能为空', 'pid.integer' => 'pid必须为整数' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } //获取用户信息 $user_id = Context::get("UserId"); var_dump("用户id:",$user_id); $userInfo = $this->userServiceClient->getUserInfo((int)$user_id); var_dump("用户信息:",$userInfo); $sszq = $userInfo['data']['sszq']; $type_id = $userInfo['data']['type_id']; $sszqarr = ''; if($type_id != 10000){ if($sszq == ""){ return Result::error("请配置用户的网站标识"); } //获取websiteid $groupInfo = $this->websiteServiceClient->getWebsiteGroupInfo(['id' => $sszq]); var_dump("groupInfo:",$groupInfo); if(empty($groupInfo['data'])){ return Result::error("没有找到该网站标识"); } if(empty($groupInfo['data']['web_ids'])){ return Result::error("该网站标识没有绑定网站"); } $sszqarr = json_decode($groupInfo['data']['web_ids']); var_dump($website_id = Context::get("SiteId")??2 ,'------------website------'); if (!in_array($website_id, $sszqarr)) { return Result::error("您没有权限访问该网站"); } } $data = [ 'pid' => $requireData['pid'], 'websiteids' => $sszqarr, ]; // unset($data['websiteids']); if($type_id == 10000){ unset($data['websiteids']); } $result = $this->websiteServiceClient->getWebsiteNavPool($data); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } public function getWebsiteNavPoolSite($website_id) { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'category_id' => 'required|integer' ], [ 'category_id.required' => '分类id不能为空', 'category_id.integer' => '分类id必须为整数' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $data = [ 'category_id' => $requireData['category_id'], ]; $result = $this->websiteServiceClient->getWebsiteNavPoolSite($data); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 查看所有的栏目 * @return array */ public function getAllCategory() { $requireData = $this->request->all(); $result = $this->websiteServiceClient->getAllCategory($requireData); if($result['code']==200){ return Result::success(PublicData::buildMenuTree($result['data'])); } return Result::error($result['message']); } public function upWebsiteCategorySort() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' => 'required', 'id'=> 'required', 'sort'=> 'required', ], [ 'website_id.required' => '网站ID不能为空', 'id.required' => 'ID不能为空', 'sort.required' => '排序不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->upWebsiteCategorySort($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } // --自助建站-----------fr----------------------start /** * 搜索并获取网站模板信息 * @return array */ public function getWebsiteintel() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'page' =>'required', 'pageSize' =>'required' ], [ 'page.required' => '第几页不能为空', 'pageSize.required' => '每页显示条数不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->getWebsiteintel($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 添加网站基础信息 * @return array */ public function addWebsiteTemplateintel() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' =>'required' ], [ 'website_id.required' => '网站id不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $websiteIdKey = ['website_id' => '']; // 创建一个只包含 website_id 键的数组 $diff = array_diff_key($requireData, $websiteIdKey); // 获取 $requireData 中除了 website_id 以外的其他键值对 if(!empty($diff)){ $validator = $this->validationFactory->make( $requireData, [ 'website_id' =>'required', 'page_type' =>'required|array|min:2', 'statement' =>'required', 'organizer' =>'required', 'copyright_information' =>'required', 'project_logo' =>'required', 'record_number' =>'required|max:50', 'record_number_url' =>'required|max:100', 'icp_number' =>'required|max:100', 'icp_number_url' =>'required|max:100', 'customer_service_qq' =>'required|max:50', 'communications' =>'required|max:50' ], [ 'website_id.required' => '网站id不能为空', 'page_type.required' => '页面类型不能为空', 'page_type.array' => '页面类型必须是数组', 'page_type.min' => '页面类型至少有两个元素', 'statement.required' => '网站声明不能为空', 'organizer.required' => '主办单位不能为空', 'copyright_information.required' => '版权信息不能为空', 'project_logo.required' => '项目logo不能为空', 'record_number.required' => '网安备案号不能为空', 'record_number.max' => '网安备案号不能超过50个字符', 'record_number_url.required' => '网安备案号链接不能为空', 'record_number_url.max' => '网安备案号链接不能超过100个字符', 'icp_number.required' => '网站备案号不能为空', 'icp_number.max' => '网站备案号不能超过100个字符', 'icp_number_url.required' => '网站备案号链接不能为空', 'icp_number_url.max' => '网站备案号链接不能超过100个字符', 'customer_service_qq.required' => '客服qq不能为空', 'customer_service_qq.max' => '客服qq不能超过50个字符', 'communications.required' => '通联qq不能为空', 'communications.max' => '通联qq不能超过50个字符' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } } $result = $this->websiteServiceClient->addWebsiteTemplateintel($requireData); return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']); } /** * 获取网站基础信息 * @return array */ public function getWebsiteTemplateintel() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' =>'required' ], [ 'website_id.required' => '网站id不能为空', ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->getWebsiteTemplateintel($requireData); return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']); } /** * 修改网站基础信息 * @return array */ public function upWebsiteTemplateintel() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' =>'required', 'page_type' =>'required|array|min:2', 'statement' =>'required', 'organizer' =>'required', 'copyright_information' =>'required', 'project_logo' =>'required', 'record_number' =>'required|max:50', 'record_number_url' =>'required|max:100', 'icp_number' =>'required|max:100', 'icp_number_url' =>'required|max:100', 'customer_service_qq' =>'required|max:50', 'communications' =>'required|max:50' ], [ 'website_id.required' => '网站id不能为空', 'page_type.required' => '页面类型不能为空', 'page_type.array' => '页面类型必须是数组', 'page_type.min' => '页面类型至少有两个元素', 'statement.required' => '网站声明不能为空', 'organizer.required' => '主办单位不能为空', 'copyright_information.required' => '版权信息不能为空', 'project_logo.required' => '项目logo不能为空', 'record_number.required' => '网安备案号不能为空', 'record_number.max' => '网安备案号不能超过50个字符', 'record_number_url.required' => '网安备案号链接不能为空', 'record_number_url.max' => '网安备案号链接不能超过100个字符', 'icp_number.required' => '网站备案号不能为空', 'icp_number.max' => '网站备案号不能超过100个字符', 'icp_number_url.required' => '网站备案号链接不能为空', 'icp_number_url.max' => '网站备案号链接不能超过100个字符', 'customer_service_qq.required' => '客服qq不能为空', 'customer_service_qq.max' => '客服qq不能超过50个字符', 'communications.required' => '通联qq不能为空', 'communications.max' => '通联qq不能超过50个字符' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->upWebsiteTemplateintel($requireData); return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']); } /** * 获取所有风格 * @return array */ public function getAllTemplateClass() { $requireData = $this->request->all(); $result = $this->websiteServiceClient->getAllTemplateClass($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 获取网站模板信息 * @return array */ public function getWebsiteTemplateList() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' =>'required' ], [ 'website_id.required' => '网站id不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $validator = $this->validationFactory->make( $requireData, [ 'page' =>'required', 'pageSize' =>'required' ], [ 'page.required' => '第几页不能为空', 'pageSize.required' => '每页显示条数不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } // var_dump($requireData); $result = $this->websiteServiceClient->getWebsiteTemplateList($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 添加网站模板信息 * @return array */ public function addWebsiteTemplateclassintel() { $requireData = $this->request->all(); // var_dump($requireData); $validator = $this->validationFactory->make( $requireData, [ 'template_id' =>'required', 'website_id' =>'required' ], [ 'template_id.required' => '模板id不能为空', 'website_id.required' => '网站id不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->addWebsiteTemplateclassintel($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 获取网站模板信息 * @return array */ public function getWebsiteTemplateclassintel() { $requireData = $this->request->all(); // var_dump($requireData); $validator = $this->validationFactory->make( $requireData, [ 'website_id' =>'required', // 'page' =>'required', // 'pageSize' =>'required' ], [ 'website_id.required' => '网站id不能为空', // 'page.required' => '第几页不能为空', // 'pageSize.required' => '每页显示条数不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $data = $requireData; $result = $this->websiteServiceClient->getWebsiteTemplateclassintel($data); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 自助建站-获取职能部门 * @return array */ public function selectWebsiteDepartment() { $requireData = $this->request->all(); if(isset($requireData['keyword']) && !empty($requireData['keyword'])){ $requireData['keyword'] = trim($requireData['keyword']); }else{ $requireData['keyword'] = ''; } $result = $this->websiteServiceClient->selectWebsiteDepartment($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 自助建站-获取职能部门 * @return array */ public function selectWebsiteArea() { $requireData = $this->request->all(); $rules = [ // 'website_id' => 'required', 'province' => [ 'nullable', 'numeric', function ($attribute, $value, $fail) { if ($value === 0) { $fail($attribute . '不能为0'); } }, ], 'city' => [ 'nullable', 'numeric', function ($attribute, $value, $fail) { if ($value === 0) { $fail($attribute . '不能为0'); } }, ], ]; $messages = [ // 'website_id.required' => '网站id不能为空', 'province.numeric' => '省份必须是数字类型', 'province.custom' => '省份不能为0', 'city.numeric' => '城市必须是数字类型', 'city.custom' => '城市不能为0', ]; $validator = $this->validationFactory->make($requireData, $rules, $messages); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->selectWebsiteArea($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 自助建站-获取模板下的板块 * @return array */ public function getWebsiteSectorList() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' =>'required|numeric' ], [ 'website_id.required' => '网站id不能为空', 'website_id.numeric' => '网站id必须是数字类型' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->getWebsiteSectorList($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } // --自助建站-----------fr----------------------end // --底部基础信息-----------fr----------------------start /** * 添加底部基础信息 * @return array */ public function addWebFootInfo(){ $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' =>'required' ], [ 'website_id.required' => '网站id不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->addWebFootInfo($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 获取底部基础信息 * @return array */ public function getWebFootInfo(){ $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' =>'required' ], [ 'website_id.required' => '网站id不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->websiteServiceClient->getWebFootInfo($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } /** * 修改底部基础信息 * @return array */ public function upWebFootInfo(){ $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'website_id' =>'required|numeric' ], [ 'website_id.required' => '网站id不能为空' ] ); if ($validator->fails()){ $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } // return $requireData; $result = $this->websiteServiceClient->upWebFootInfo($requireData); return $result['code']==200?Result::success($result['data']):Result::error($result['message']); } // --底部基础信息-----------fr----------------------end }