request->all(); $validator = $this->validationFactory->make( $requireData, [ 'name'=> 'required', 'url'=> 'required', ], [ 'name.required' => '网站名称不能为空', 'url.required' => '网站地址不能为空', ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->collectorServiceClient->addWeb($requireData); if ($result['code'] != ErrorCode::SUCCESS) { return Result::error($result['message'],0,[]); } return Result::success($result['data']); } /** * 获取及搜索网站 * @return array */ public function getWeb() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'page'=> 'required', 'pageSize'=> 'required', ], [ 'page.required' => '第几页不能为空', 'pageSize.required' => '每页显示条数不能为空', ] ); if(isset($requireData['keyWord'])){ $validator = $this->validationFactory->make( $requireData, [ 'keyWord'=> 'required' ], [ 'keyWord.required' => '搜索词不能为空' ] ); } if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->collectorServiceClient->getWeb($requireData); if ($result['code'] != ErrorCode::SUCCESS) { return Result::error($result['message'],0,[]); } return Result::success($result['data']); } /** * 修改网站 * @return array */ public function upWeb() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'name'=> 'required', 'url'=> 'required', 'id' => 'required' ], [ 'name.required' => '网站名称不能为空', 'url.required' => '网站地址不能为空', 'id.required' => '网站id不能为空' ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->collectorServiceClient->upWeb($requireData); if ($result['code'] != ErrorCode::SUCCESS) { return Result::error($result['message'],0,[]); } return Result::success($result['data']); } /** * 修改网站 * @return array */ public function delWeb() { $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->collectorServiceClient->delWeb($requireData); if ($result['code'] != ErrorCode::SUCCESS) { return Result::error($result['message'],0,[]); } return Result::success($result['data']); } /** * 添加规则任务 * @return array */ public function addRule() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'name' => 'required', 'first_url' => 'required', 'second_url' => 'required', 'start' => 'required', 'end' => 'required', 'tit_start' => 'required', 'tit_end' => 'required', 'con_start' => 'required', 'con_end' => 'required', 'web_id' => 'required' ], [ 'name.required' => '任务规则名称不能为空', 'first_url.required' => '第1页网址不能为空', 'second_url.required' => '第2页网址不能为空', 'start.required' => '开始代码不能为空', 'end.required' => '结束代码不能为空', 'tit_start.required' => '标题开始字符串不能为空', 'tit_end.required' => '标题结束字符串不能为空', 'con_start.required' => '内容开始字符串不能为空', 'con_end.required' => '内容结束字符串不能为空', 'writer.required' => '作者名称不能为空', 'web_id.required' => '网站id不能为空' ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->collectorServiceClient->addRule($requireData); if ($result['code'] != ErrorCode::SUCCESS) { return Result::error($result['message'],0,[]); } return Result::success($result['data']); } /** * 获取并搜索任务规则 * @return array */ public function getRule() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'web_id' => 'required', 'pageSize' => 'required', 'page' => 'required' ], [ 'web_id.required' => '网站id不能为空', 'pageSize.required' => '每页显示数量不能为空', 'page.required' => '第几页不能为空', ] ); if(isset($requireData['keyWord'])){ $validator = $this->validationFactory->make( $requireData, [ 'keyWord' => 'required' ], [ 'keyWord.required' => '搜索词不能为空' ] ); } if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->collectorServiceClient->getRule($requireData); if ($result['code'] != ErrorCode::SUCCESS) { return Result::error($result['message'],0,[]); } return Result::success($result['data']); } /** * 修改规则任务待开发 * @return array */ public function upRule() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'id' => 'required', 'name' => 'required', 'first_url' => 'required', 'second_url' => 'required', 'start' => 'required', 'end' => 'required', 'tit_start' => 'required', 'tit_end' => 'required', 'con_start' => 'required', 'con_end' => 'required' ], [ 'id.required' => '任务规则id不能为空', 'name.required' => '任务规则名称不能为空', 'first_url.required' => '第1页网址不能为空', 'second_url.required' => '第2页网址不能为空', 'start.required' => '开始代码不能为空', 'end.required' => '结束代码不能为空', 'tit_start.required' => '标题开始字符串不能为空', 'tit_end.required' => '标题结束字符串不能为空', 'con_start.required' => '内容开始字符串不能为空', 'con_end.required' => '内容结束字符串不能为空', 'writer.required' => '作者名称不能为空' ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->collectorServiceClient->upRule($requireData); if ($result['code'] != ErrorCode::SUCCESS) { return Result::error($result['message'],0,[]); } return Result::success($result['data']); } /** * 删除任务规则 * @return array */ public function delRule() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'rule_id' => 'required' ], [ 'rule_id.required' => '任务规则id不能为空' ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->collectorServiceClient->delRule($requireData); if ($result['code'] != ErrorCode::SUCCESS) { return Result::error($result['message'],0,[]); } return Result::success($result['data']); } /** * 开始采集 * @return array */ public function sendCrawler() { $requireData = $this->request->all(); $result = $this->collectorServiceClient->sendCrawler($requireData); return $result?Result::success($result['data']):Result::error($result['message']); } /** * 获取并搜索资讯 * @return array */ public function getInfo() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'rule_id' => 'required', 'pageSize' => 'required', 'page' => 'required' ], [ 'rule_id.required' => '规则任务id不能为空', 'pageSize.required' => '每页显示数量不能为空', 'page.required' => '第几页不能为空' ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } if(isset($requireData['title'])){ $validator = $this->validationFactory->make( $requireData, [ 'title' => 'required' ], [ 'title.required' => '资讯题目不能为空' ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } } if(isset($requireData['source'])){ $validator = $this->validationFactory->make( $requireData, [ 'source' => 'required' ], [ 'source.required' => '资讯来源不能为空' ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } } if(isset($requireData['state'])){ $validator = $this->validationFactory->make( $requireData, [ 'state' => 'required' ], [ 'state.required' => '资讯状态不能为空' ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } } $result = $this->collectorServiceClient->getInfo($requireData); return $result?Result::success($result['data']):Result::error($result['message']); } /** * 获取某个资讯 * @return array */ public function getOneInfo() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'art_id' => 'required' ], [ 'art_id.required' => '资讯id不能为空' ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } $result = $this->collectorServiceClient->getOneInfo($requireData); return $result?Result::success($result['data']):Result::error($result['message']); } /** *修改资讯 * @return array */ public function upInfo() { $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'art_id' => 'required', 'title' => 'required', 'level' => 'required', 'keyword' => 'required', 'content' => 'required', 'hits' => 'required', 'is_original' => 'required', 'islink' => 'required' ], [ 'art_id.required' => '资讯id不能为空', 'title.required' => '资讯标题不能为空', 'level.required' => '推荐级别不能为空', 'keyword.required' => '资讯关键词不能为空', 'content.required' => '资讯内容不能为空', 'hits.required' => '浏览量不能为空', 'is_original.required' => '原创不能为空', 'islink.required' => '外链不能为空' ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } if($requireData['islink']==1){ $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'linkurl' => 'required' ], [ 'linkurl.required' => '外链地址不能为空' ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } } if($requireData['is_original']==0){ $requireData = $this->request->all(); $validator = $this->validationFactory->make( $requireData, [ 'fromurl' => 'required', 'copyfrom' => 'required' ], [ 'fromurl.required' => '采集来源地址不能为空', 'copyfrom' => '采集来源不能为空' ] ); if ($validator->fails()) { $errorMessage = $validator->errors()->first(); return Result::error($errorMessage); } } $result = $this->collectorServiceClient->upInfo($requireData); return $result?Result::success($result['data']):Result::error($result['message']); } }