Jelajahi Sumber

Merge branch 'caiji_05_08_liu'

rkljw 3 hari lalu
induk
melakukan
273d1388de
2 mengubah file dengan 91 tambahan dan 2 penghapusan
  1. 90 2
      app/Controller/PublicController.php
  2. 1 0
      config/api/public.php

+ 90 - 2
app/Controller/PublicController.php

@@ -16,7 +16,7 @@ use Hyperf\HttpServer\Contract\RequestInterface;
 use Hyperf\HttpServer\Contract\ResponseInterface;
 use Hyperf\Validation\Contract\ValidatorFactoryInterface;
 use ZipArchive;
-
+use App\JsonRpc\NewsServiceInterface;
 /**
  * Class PublicController
  * @package App\Controller
@@ -32,7 +32,11 @@ class PublicController extends AbstractController
      */
     #[Inject]
     private $publicServiceClient;
-
+    /**
+     * @var NewsServiceInterface
+     */
+    #[Inject]
+    private $newsServiceClient;
     /**
      * 地区
      * @return array
@@ -1359,5 +1363,89 @@ class PublicController extends AbstractController
         }
         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
+        );
+    }
 }
 

+ 1 - 0
config/api/public.php

@@ -100,6 +100,7 @@ Router::addGroup(
         Router::post('/addHistoryToday', [PublicController::class, 'addHistoryToday']);
         Router::post('/addCouplet', [PublicController::class, 'addCouplet']);
         Router::post('/addRiddle', [PublicController::class, 'addRiddle']);
+        Router::post('/addArticle', [PublicController::class, 'addArticle']);
 
     }
 );