|
@@ -16,7 +16,7 @@ use Hyperf\HttpServer\Contract\RequestInterface;
|
|
use Hyperf\HttpServer\Contract\ResponseInterface;
|
|
use Hyperf\HttpServer\Contract\ResponseInterface;
|
|
use Hyperf\Validation\Contract\ValidatorFactoryInterface;
|
|
use Hyperf\Validation\Contract\ValidatorFactoryInterface;
|
|
use ZipArchive;
|
|
use ZipArchive;
|
|
-
|
|
|
|
|
|
+use App\JsonRpc\NewsServiceInterface;
|
|
/**
|
|
/**
|
|
* Class PublicController
|
|
* Class PublicController
|
|
* @package App\Controller
|
|
* @package App\Controller
|
|
@@ -32,7 +32,11 @@ class PublicController extends AbstractController
|
|
*/
|
|
*/
|
|
#[Inject]
|
|
#[Inject]
|
|
private $publicServiceClient;
|
|
private $publicServiceClient;
|
|
-
|
|
|
|
|
|
+ /**
|
|
|
|
+ * @var NewsServiceInterface
|
|
|
|
+ */
|
|
|
|
+ #[Inject]
|
|
|
|
+ private $newsServiceClient;
|
|
/**
|
|
/**
|
|
* 地区
|
|
* 地区
|
|
* @return array
|
|
* @return array
|
|
@@ -1359,5 +1363,89 @@ class PublicController extends AbstractController
|
|
}
|
|
}
|
|
return Result::success($result);
|
|
return Result::success($result);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 添加采集数据
|
|
|
|
+ * @return \Psr\Http\Message\ResponseInterface
|
|
|
|
+ */
|
|
|
|
+ public function addArticle()
|
|
|
|
+ {
|
|
|
|
+ $requireData = $this->request->all();
|
|
|
|
+ $validator = $this->validationFactory->make(
|
|
|
|
+ $requireData,
|
|
|
|
+ [
|
|
|
|
+ 'title' => 'required',
|
|
|
|
+ 'content' => 'required',
|
|
|
|
+ 'web_site_id' => 'required',
|
|
|
|
+ 'catid' => 'required',
|
|
|
|
+ 'copyfrom' => 'required',
|
|
|
|
+ 'fromurl' => 'required',
|
|
|
|
+ 'author' => 'required',
|
|
|
|
+ ],
|
|
|
|
+ [
|
|
|
|
+ 'title.required' => '标题不能为空',
|
|
|
|
+ 'content.required' => '内容不能为空',
|
|
|
|
+ 'web_site_id.required' => '网站不能为空',
|
|
|
|
+ 'catid.required' => '栏目不能为空',
|
|
|
|
+ 'copyfrom.required' => '来源不能为空',
|
|
|
|
+ 'fromurl.required' => '来源网址不能为空',
|
|
|
|
+ 'author.required' => '作者不能为空',
|
|
|
|
+ ]
|
|
|
|
+ );
|
|
|
|
+ if ($validator->fails()) {
|
|
|
|
+ $errorMessage = $validator->errors()->first();
|
|
|
|
+ return $this->response->json(
|
|
|
|
+ [
|
|
|
|
+ 'id'=>uniqid(),
|
|
|
|
+ 'error'=>$errorMessage
|
|
|
|
+ ]
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ $categoryInfo = $this->newsServiceClient->getCategoryInfo(['id'=>$requireData['catid']]);
|
|
|
|
+ if($categoryInfo['code']!=200){
|
|
|
|
+ return $this->response->json(
|
|
|
|
+ [
|
|
|
|
+ 'id'=>uniqid(),
|
|
|
|
+ 'error'=>"栏目不存在"
|
|
|
|
+ ]
|
|
|
|
+ );
|
|
|
|
+ }
|
|
|
|
+ $pid_arr = json_decode($categoryInfo['data']['pid_arr'],true);
|
|
|
|
+ $requireData['cat_arr_id'] = array_push($pid_arr,intval($requireData['catid']));
|
|
|
|
+ $requireData['cat_arr_id'] = isset($pid_arr) ? json_encode($pid_arr) : '';
|
|
|
|
+ $loginIp = $this->request->getHeader('x-forwarded-for')[0] ?? $this->request->getHeader('x-real-ip')[0] ?? $this->request->getServerParams()['remote_addr'] ?? '0.0.0.0';
|
|
|
|
+ $requireData['ip'] = $loginIp;
|
|
|
|
+ $requireData['admin_user_id'] = 0;
|
|
|
|
+ $requireData['level'] = isset($requireData['level']) && $requireData['level'] ? $requireData['level'] : 0;
|
|
|
|
+ $requireData['hits'] = isset($requireData['hits']) && $requireData['hits'] ? $requireData['hits'] : 0;
|
|
|
|
+ $requireData['is_original'] = isset($requireData['is_original']) && $requireData['is_original'] ? $requireData['is_original'] : 0;
|
|
|
|
+ $requireData['status'] = isset($requireData['status']) && $requireData['status'] ? $requireData['status'] : 1;
|
|
|
|
+ $requireData['imgurl'] = '';
|
|
|
|
+ $requireData['user_type'] = 10000;
|
|
|
|
+ $requireData['level'] = "[0]";
|
|
|
|
+ $requireData['nav_add_pool_id'] = [];
|
|
|
|
+ $requireData['city_id'] = 0;
|
|
|
|
+ $requireData['city_arr_id'] = "[]";
|
|
|
|
+ $requireData['department_arr_id'] = "[]";
|
|
|
|
+ $requireData['department_id'] = 0;
|
|
|
|
+ $requireData['islink'] = 0;
|
|
|
|
+ $requireData['linkurl'] = "";
|
|
|
|
+ $requireData['keyword'] = "";
|
|
|
|
+ $requireData['introduce'] = "";
|
|
|
|
+ $requireData['is_survey'] = 0;
|
|
|
|
+ $requireData['survey_name'] = "";
|
|
|
|
+ $requireData['suvey_array'] = "";
|
|
|
|
+ $requireData['survey_type'] = 0;
|
|
|
|
+ $requireData['commend_id'] = "[]";
|
|
|
|
+ $result = $this->newsServiceClient->addArticle($requireData);
|
|
|
|
+ $data = [
|
|
|
|
+ 'id'=>$result['data']['id'],
|
|
|
|
+ 'target'=>$categoryInfo['data']['name'],
|
|
|
|
+ 'desc'=>$requireData['title'],
|
|
|
|
+ ];
|
|
|
|
+ return $this->response->json(
|
|
|
|
+ $data
|
|
|
|
+ );
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|