Преглед изворни кода

增加控制器接口方法,检测服务

FengR пре 4 месеци
родитељ
комит
c463bccf2d
3 измењених фајлова са 257 додато и 1 уклоњено
  1. 225 0
      app/Controller/TestController.php
  2. 30 0
      config/api/test.php
  3. 2 1
      config/routes.php

+ 225 - 0
app/Controller/TestController.php

@@ -0,0 +1,225 @@
+<?php
+declare(strict_types=1);
+namespace App\Controller;
+
+
+
+
+use App\JsonRpc\NewsServiceInterface;
+use App\JsonRpc\WebsiteServiceInterface;
+use App\JsonRpc\AdServiceInterface; 
+use App\JsonRpc\UserServiceInterface;
+use App\JsonRpc\ChatServiceInterface;
+use App\JsonRpc\OrderServiceInterface;
+use App\JsonRpc\CollectorServiceInterface;
+use App\JsonRpc\ClientServiceInterface;
+use App\Controller\IndexController;
+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;
+use \Phper666\JWTAuth\JWT;
+/**
+ * Class WebController
+ * @package App\Controller
+ */
+class TestController extends AbstractController
+{
+
+    #[Inject]
+    protected ValidatorFactoryInterface $validationFactory;
+
+    #[Inject]
+    protected IndexController $IndexController;
+    // #[Inject]
+    // protected JWT $jwt;
+    /**
+     * @var NewsServiceInterface
+     */
+    #[Inject]
+    private $newsServiceClient;
+
+    /**
+     * @var WebsiteServiceInterface
+     */
+    #[Inject]
+    private $websiteServiceClient;
+
+    /**
+     * @var AdServiceInterface
+     */
+    #[Inject]
+    private $adServiceClient;
+
+    /**
+     * @var UserServiceInterface
+     */
+    #[Inject]
+    private $userServiceClient;
+
+    /**
+     * @var ChatServiceInterface
+     */
+    #[Inject]
+    private $chatServiceClient;
+
+    /**
+     * @var OrderServiceInterface
+     */
+    #[Inject]
+    private $orderServiceClient;
+
+    /**
+     * @var CollectorServiceInterface
+     */
+    #[Inject]
+    private $collectorServiceClient;
+
+    /**
+     * @var ClientServiceInterface
+     */
+    #[Inject]
+    private $clientServiceClient;
+
+
+
+    /**
+     * 测试admin_consumer
+     * @return array
+     */
+    public function testAdminConsumer()
+    {
+        $user = [
+            'user_id' => 32,
+            'username' => 'admin',
+            'password' => '123456',
+        ];
+        return Result::success($user);
+    }   
+
+    /**
+     * 测试public_producer
+     */
+    public function testPublicProducer()
+    {
+        $requireData = $this->request->all();
+        // return Result::success($requireData);                          
+        $result = $this->websiteServiceClient->selectWebsiteArea($requireData);
+        if ($result['code'] != ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }
+        return Result::success($result['data']);
+    }
+    /**
+     * 测试ad_producer
+     */
+    public function testAdProducer()
+    {
+        // $requireData = $this->request->all();
+        $data = [
+            'page' => 1,
+            'pageSize' => 1,
+        ];
+        $result = $this->adServiceClient->getAdPlaceList($data);
+        if ($result['code'] != 200) {
+            return Result::error($result['message'],0,[]);
+        }
+        return Result::success($result['data']);
+    }
+    /**
+     * 测试user_producer
+     */
+    public function testUserProducer()
+    {
+        // return Result::success($this->request->all());
+        $data = $this->request->all();
+        $user = $data['user_id'] ?? 32;
+        // return Result::success($user);
+        $result =  $this->userServiceClient->getUserInfo((int)$user);
+        if ($result['code'] != 200) {
+            return Result::error($result['message'],0,[]);
+        }
+        return Result::success($result['data']);
+    }
+     /**
+     * 测试news_producer
+     */
+    public function testNewsProducer()
+    {
+        $requestData = $this->request->all();
+        // $catid = $data['catid'] ?? 11;
+        $data = [
+            'website_id'=> $requestData['website_id'] ?? 2,
+            'catid' => $requestData['catid'] ?? 11,
+            'level' => $requestData['level'] ?? 1,
+            'pagesize' => 1
+        ];    
+        $result = $this->newsServiceClient->getWebsiteModelArticles($data);
+        // var_dump($result);
+        if ($result['code'] != 200) {
+            return Result::error($result['message'],0,[]);
+        }
+        // 增加对返回数据是否为空的检查,避免尝试访问空数组元素导致的错误
+        if (empty($result['data'])) {
+            return Result::error('未获取到模块新闻数据', 0, []);
+        }
+        return Result::success($result['data']);
+    }
+     
+    /**
+     * 测试order_producer
+     */
+    public function testOrderProducer()
+    {
+        $data = [
+            'website_id' => 2,
+        ];
+        $result =  $this->orderServiceClient->getAD($data);
+        if ($result['code'] != 200) {
+            return Result::error($result['message'],0,[]);
+        }
+        return Result::success($result['data']);
+    }
+
+    /**
+     * 测试chat_producer
+     */
+    public function testChatProducer()
+    {
+        $data['page'] = 1;
+        $data['page_size'] = 1;
+        $result =  $this->chatServiceClient->getTopicsList($data);
+        if ($result['code'] != 200) {
+            return Result::error($result['message'],0,[]);
+        }
+        return Result::success($result['data']);
+    }
+    /**
+     * 测试collector_producer
+     */
+    public function testCollectorProducer()
+    {
+        $data['web_id'] = 49;
+        $data['pageSize'] = 1;
+        $data['page'] = 1;
+        $result =  $this->collectorServiceClient->getRule($data);
+        if ($result['code'] != 200) {
+            return Result::error($result['message'],0,[]);
+        }
+        return Result::success($result['data']);
+    }
+    /**
+     * 测试client_producer
+     */
+    public function testClientProducer()
+    {
+        $result =  $this->clientServiceClient->test(['name' => 'test']);
+        if ($result['code'] != 200) {
+            return Result::error($result['message'],0,[]);
+        }
+        return Result::success($result['data']);
+    }
+}

+ 30 - 0
config/api/test.php

@@ -0,0 +1,30 @@
+<?php
+
+declare(strict_types=1);
+
+use App\Controller\TestController;
+use Hyperf\HttpServer\Router\Router;
+// --招工招聘交互-----------fr----------------------start
+Router::addGroup(
+    '/test', function () {
+        // 测试admin_consumer
+        Router::post('/testAdminConsumer', [TestController::class, 'testAdminConsumer']);
+        // 测试public_producer
+        Router::post('/testPublicProducer', [TestController::class, 'testPublicProducer']);
+        // 测试news_producer
+        Router::post('/testNewsProducer', [TestController::class, 'testNewsProducer']);
+        // 测试ad_producer
+        Router::post('/testAdProducer', [TestController::class, 'testAdProducer']);
+        // 测试user_producer
+        Router::post('/testUserProducer', [TestController::class, 'testUserProducer']);
+        // 测试order_producer
+        Router::post('/testOrderProducer', [TestController::class, 'testOrderProducer']);
+        // 测试chat_producer
+        Router::post('/testChatProducer', [TestController::class, 'testChatProducer']);
+        // 测试collector_producer
+        Router::post('/testCollectorProducer', [TestController::class, 'testCollectorProducer']);
+        // 测试client_producer
+        Router::post('/testClientProducer', [TestController::class, 'testClientProducer']);
+    },
+);
+// --招工招聘交互-----------fr----------------------end

+ 2 - 1
config/routes.php

@@ -39,4 +39,5 @@ require __DIR__ . '/api/order.php';
 require __DIR__ . '/api/collector.php';
 require __DIR__ . '/api/collector.php';
 require __DIR__ . '/api/footer.php';
 require __DIR__ . '/api/footer.php';
 require __DIR__ . '/api/client.php';
 require __DIR__ . '/api/client.php';
-require __DIR__ . '/api/form.php';
+require __DIR__ . '/api/form.php';
+require __DIR__ . '/api/test.php';