Browse Source

c端项目相关接口修改及优化;初步完成

15313670163 1 day ago
parent
commit
3df9d5821b

+ 79 - 0
app/Controller/WebController.php

@@ -1365,4 +1365,83 @@ class WebController extends AbstractController
         $result = $this->newsServiceClient->getWebsiteCompanyInfo($requireData);
         $result = $this->newsServiceClient->getWebsiteCompanyInfo($requireData);
         return $result['code'] == 200? Result::success($result['data']) : Result::error($result['message']);
         return $result['code'] == 200? Result::success($result['data']) : Result::error($result['message']);
     }
     }
+    /*
+    *c端-项目 项目模块
+    * @return array
+    */
+    public function getWebsiteProject(){
+        $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);
+        }
+        $requireData['website_id'] =  Context::get("SiteId")?? 0;
+        $result = $this->newsServiceClient->getWebsiteProject($requireData);
+        return $result['code'] == 200? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /**
+    *c端-项目 项目列表
+    * @return array
+    */
+    public function getWebsiteProjectList(){
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'category_id' =>'nullable|integer',
+                'page' => 'required|integer',
+                'pageSize' =>'required|integer',
+                'keyword_or_category_id' => 'required_without_all:keyword,category_id|in:1',
+            ],
+            [
+                'category_id.interger' => '栏目id必须为整数',   
+                'keyword.string' => '搜索关键字必须为字符串',
+                'page.required' => '当前页不能为空',
+                'page.integer' => '当前页必须为整数',
+                'pageSize.required' => '每页数量不能为空',
+                'pageSize.integer' => '每页数量必须为整数',
+                'keyword_or_category_id.required_without_all' => '搜索关键字和栏目 ID 不能同时为空',
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['website_id'] =  Context::get("SiteId")?? 0;
+        $result = $this->newsServiceClient->getWebsiteProjectList($requireData);
+        return $result['code'] == 200? Result::success($result['data']) : Result::error($result['message']);
+    }
+    /**
+    *c端-项目 项目详情
+    * @return array
+    */
+    public function getWebsiteProjectInfo(){
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make(
+            $requireData,
+            [
+                'id' =>'required|integer',
+            ],
+            [
+                'id.required' => 'id不能为空',
+                'id.integer' => 'id必须为整数',
+            ]
+        );
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['website_id'] =  Context::get("SiteId")?? 0;
+        $result = $this->newsServiceClient->getWebsiteProjectInfo($requireData);
+        return $result['code'] == 200? Result::success($result['data']) : Result::error($result['message']);
+    }
 }
 }

+ 24 - 0
app/JsonRpc/NewsService.php

@@ -400,4 +400,28 @@ class NewsService extends AbstractServiceClient implements NewsServiceInterface
     {
     {
         return $this->__request(__FUNCTION__, $data);
         return $this->__request(__FUNCTION__, $data);
     }
     }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteProject(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteProjectInfo(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteProjectList(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
 }
 }

+ 16 - 1
app/JsonRpc/NewsServiceInterface.php

@@ -231,5 +231,20 @@ interface NewsServiceInterface
      * @return mixed
      * @return mixed
      */
      */
     public function getWebsiteCompanyList(array $data);
     public function getWebsiteCompanyList(array $data);
-    
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteProject(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteProjectInfo(array $data);
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function getWebsiteProjectList(array $data);
+
 }
 }

+ 6 - 0
config/api/web.php

@@ -104,6 +104,12 @@ Router::addGroup(
                 Router::get('/getWebsiteCompanyList', [WebController::class, 'getWebsiteCompanyList']);
                 Router::get('/getWebsiteCompanyList', [WebController::class, 'getWebsiteCompanyList']);
                 // 企业详情
                 // 企业详情
                 Router::get('/getWebsiteCompanyInfo', [WebController::class, 'getWebsiteCompanyInfo']);
                 Router::get('/getWebsiteCompanyInfo', [WebController::class, 'getWebsiteCompanyInfo']);
+                // 项目模块
+                Router::get('/getWebsiteProject', [WebController::class, 'getWebsiteProject']);
+                // 项目列表
+                Router::get('/getWebsiteProjectList', [WebController::class, 'getWebsiteProjectList']);
+                // 项目详情
+                Router::get('/getWebsiteProjectInfo', [WebController::class, 'getWebsiteProjectInfo']);
                 
                 
                 
                 
             },
             },