|
@@ -0,0 +1,101 @@
|
|
|
+<?php
|
|
|
+declare(strict_types=1);
|
|
|
+namespace App\Controller;
|
|
|
+
|
|
|
+use App\JsonRpc\CollectorServiceInterface;
|
|
|
+use App\Tools\PublicData;
|
|
|
+use Hyperf\Di\Annotation\Inject;
|
|
|
+use Hyperf\HttpServer\Annotation\AutoController;
|
|
|
+use App\Tools\Result;
|
|
|
+use Hyperf\Validation\Contract\ValidatorFactoryInterface;
|
|
|
+use App\Constants\ErrorCode;
|
|
|
+use Hyperf\Context\Context;
|
|
|
+/**
|
|
|
+ * ClassCollectorController
|
|
|
+ * @package App\Controller
|
|
|
+ */
|
|
|
+class CollectorController extends AbstractController
|
|
|
+{
|
|
|
+ #[Inject]
|
|
|
+ protected ValidatorFactoryInterface $validationFactory;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * @var CollectorServiceInterface
|
|
|
+ */
|
|
|
+ #[Inject]
|
|
|
+ private $collectorServiceClient;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加网站
|
|
|
+ * @return array
|
|
|
+ */
|
|
|
+ public function addWeb()
|
|
|
+ {
|
|
|
+ $requireData = $this->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']);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+}
|