rkljw 5 mēneši atpakaļ
vecāks
revīzija
ed779598d5

+ 36 - 0
app/Controller/CollectorController.php

@@ -0,0 +1,36 @@
+<?php
+
+declare(strict_types=1);
+
+namespace App\Controller;
+
+use App\JsonRpc\CrawlerServiceInterface;
+use Hyperf\Di\Annotation\Inject;
+use App\Tools\Result;
+use Hyperf\Validation\Contract\ValidatorFactoryInterface;
+
+
+class CollectorController extends AbstractController
+{
+    #[Inject]
+    protected ValidatorFactoryInterface $validationFactory;
+    /**
+     * @var CrawlerServiceInterface
+     */
+    #[Inject]
+    private $crawlerServiceClient;
+    /**
+     * @return array
+     */
+    public function sendCrawler()
+    {
+        $requireData = $this->request->all();
+        $result = $this->crawlerServiceClient->sendCrawler($requireData);
+
+        return $result?Result::success($result['data']):Result::error($result['message']);
+    }
+
+
+
+
+}

+ 29 - 0
app/JsonRpc/CrawlerService.php

@@ -0,0 +1,29 @@
+<?php
+
+namespace App\JsonRpc;
+
+use Hyperf\RpcClient\AbstractServiceClient;
+
+class CrawlerService extends AbstractServiceClient implements CrawlerServiceInterface
+{
+    /**
+     * 定义对应服务提供者的服务名称
+     * @var string
+     */
+    protected string $serviceName = 'CrawlerService';
+    /**
+     * 定义对应服务提供者的服务协议
+     * @var string
+     */
+    protected string $protocol = 'jsonrpc-http';
+    /**
+     * @param array $data
+     * @return array|mixed
+     */
+    public function sendCrawler(array $data)
+    {
+        return $this->__request(__FUNCTION__, $data);
+    }
+
+
+}

+ 10 - 0
app/JsonRpc/CrawlerServiceInterface.php

@@ -0,0 +1,10 @@
+<?php
+namespace App\JsonRpc;
+interface CrawlerServiceInterface
+{
+    /**
+     * @param array $data
+     * @return mixed
+     */
+    public function sendCrawler(array $data);
+}

+ 15 - 0
config/api/collector.php

@@ -0,0 +1,15 @@
+<?php
+
+declare(strict_types=1);
+
+use App\Controller\CollectorController;
+use Hyperf\HttpServer\Router\Router;
+use App\Middleware\Auth\FooMiddleware;
+Router::addGroup(
+    '/collector', function () {
+        //添加网站
+        Router::post('/sendCrawler', [CollectorController::class, 'sendCrawler']);
+
+    },
+    ['middleware' => [FooMiddleware::class]]
+);

+ 9 - 0
config/autoload/services.php

@@ -83,5 +83,14 @@ return [
                 ['host' => '127.0.0.1', 'port' => 9510],
             ],
         ],
+        [
+            //广告订单服务
+            'name' => 'CrawlerService',
+            'service' => \App\JsonRpc\CrawlerServiceInterface::class,
+            // 直接对指定的节点进行消费,通过下面的 nodes 参数来配置服务提供者的节点信息
+            'nodes' => [
+                ['host' => '127.0.0.1', 'port' => 9509],
+            ],
+        ],
     ],
 ];

+ 1 - 0
config/routes.php

@@ -35,3 +35,4 @@ require __DIR__ . '/api/news.php';
 require __DIR__ . '/api/website.php';
 require __DIR__ . '/api/web.php';
 require __DIR__ . '/api/order.php';
+require __DIR__ . '/api/collector.php';

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
runtime/container/classes.cache


+ 111 - 6
runtime/container/proxy/App_Controller_PublicController.proxy.php

@@ -4,16 +4,16 @@ declare (strict_types=1);
 namespace App\Controller;
 
 use App\JsonRpc\PublicRpcServiceInterface;
-use Hyperf\Di\Annotation\Inject;
-use App\Tools\Result;
 use App\Tools\CommonService;
-use Hyperf\Validation\Contract\ValidatorFactoryInterface;
 use App\Tools\PublicData;
+use App\Tools\Result;
+use function Hyperf\Support\env;
+use Hyperf\Context\Context;
+use Hyperf\Di\Annotation\Inject;
 use Hyperf\HttpServer\Contract\RequestInterface;
 use Hyperf\HttpServer\Contract\ResponseInterface;
+use Hyperf\Validation\Contract\ValidatorFactoryInterface;
 use ZipArchive;
-use function Hyperf\Support\env;
-use Hyperf\Context\Context;
 /**
  * Class PublicController
  * @package App\Controller
@@ -259,7 +259,7 @@ class PublicController extends AbstractController
         $fileName = $requireData['fileName'] . time() . mt_rand(1, 1000000) . '.zip';
         $zipFileName = $allDir . DIRECTORY_SEPARATOR . $requireData['fileName'] . time() . mt_rand(1, 1000000) . '.zip';
         //        $zipFileName = 'public/zip/files.zip';
-        if ($zip->open($zipFileName, ZipArchive::CREATE) === TRUE) {
+        if ($zip->open($zipFileName, ZipArchive::CREATE) === true) {
             // 将要下载的文件逐个添加到zip文件中
             //            $string = trim($requireData['files'], "[]'"); // 去掉最外层的方括号和单引号(注意:这里假设了单引号,如果是双引号则替换为 ")
             //            $string = str_replace("'", '', $string); // 去掉所有剩余的单引号(如果原字符串中使用的是双引号,则替换为双引号)
@@ -309,4 +309,109 @@ class PublicController extends AbstractController
         $result = $this->publicServiceClient->getDepartment($requireData);
         return $result['code'] == 200 ? Result::success($result['data']) : Result::error("查询失败");
     }
+    /**
+     * 获取职能部门
+     * @return array
+     */
+    public function getZhinengbumenList()
+    {
+        // 获取请求参数
+        $requireData = $this->request->all();
+        // 参数验证
+        $validator = $this->validationFactory->make($requireData, ['page' => 'integer|min:1', 'pagesize' => 'integer|min:1', 'search' => 'string|nullable'], ['page.integer' => 'page 必须是整数', 'page.min' => 'page 必须大于等于 1', 'pagesize.integer' => 'pagesize 必须是整数', 'pagesize.min' => 'pagesize 必须大于等于 1', 'search.string' => 'search 必须是字符串']);
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        // 添加用户 ID
+        $requireData['user_id'] = Context::get("UserId");
+        // 调用服务客户端方法获取分页数据
+        $result = $this->publicServiceClient->getZhinengbumenList($requireData);
+        // 处理结果
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error("查询失败");
+    }
+    /**
+     * 添加职能部门
+     * @return array
+     */
+    public function addZhinengbumen()
+    {
+        // 获取请求参数
+        $requireData = $this->request->all();
+        $validator = $this->validationFactory->make($requireData, ['name' => 'required|string|regex:/^[\\x{4e00}-\\x{9fa5}]+$/u', 'pid' => 'required|integer'], ['name.required' => 'name 不能为空', 'name.string' => 'name 必须是字符串', 'name.regex' => 'name 必须是汉字', 'pid.required' => 'pid 不能为空', 'pid.integer' => 'pid 必须是整数']);
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        // $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->addZhinengbumen($requireData);
+        return $result['code'] == 200 ? Result::success() : Result::error("添加失败");
+    }
+    /**
+     * 删除职能部门
+     * @return array
+     */
+    public function delZhinengbumen()
+    {
+        $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['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->delZhinengbumen($requireData);
+        return $result['code'] == 200 ? Result::success() : Result::error("删除失败");
+    }
+    /**
+     * 职能部门详情
+     * @return array
+     */
+    public function getZhinengbumen()
+    {
+        $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['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->getZhinengbumen($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error("查询失败");
+    }
+    /**
+     * 获取职能部门某pid的所有子级,默认0级
+     * @return array
+     */
+    public function getPidZhinengbumen()
+    {
+        // 获取请求参数
+        $requireData = $this->request->all();
+        // 参数验证
+        $validator = $this->validationFactory->make($requireData, ['pid' => 'integer|min:0'], ['pid.integer' => 'pid 必须是整数', 'pid.min' => 'pid 必须大于等于 0']);
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->getPidZhinengbumen($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error("查询失败");
+    }
+    /**
+     * 修改职能部门名称
+     * @return array
+     */
+    public function modZhinengbumen()
+    {
+        $requireData = $this->request->all();
+        // 参数验证
+        $validator = $this->validationFactory->make($requireData, ['id' => 'required|integer', 'name' => 'required|string|regex:/^[\\x{4e00}-\\x{9fa5}]+$/u'], ['id.required' => 'id 不能为空', 'id.integer' => 'id 必须是整数', 'name.required' => 'name 不能为空', 'name.string' => 'name 必须是字符串', 'name.regex' => 'name 必须是汉字']);
+        if ($validator->fails()) {
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $requireData['user_id'] = Context::get("UserId");
+        $result = $this->publicServiceClient->upZhinengbumen($requireData);
+        return $result['code'] == 200 ? Result::success() : Result::error("修改失败");
+    }
 }

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
runtime/container/scan.cache


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels