ai преди 5 месеца
родител
ревизия
ae5a6d405f
променени са 6 файла, в които са добавени 169 реда и са изтрити 16 реда
  1. 59 0
      app/Controller/OrderController.php
  2. 29 0
      app/JsonRpc/OrderService.php
  3. 12 0
      app/JsonRpc/OrderServiceInterface.php
  4. 46 0
      config/api/order.php
  5. 10 3
      config/autoload/services.php
  6. 13 13
      config/routes.php

+ 59 - 0
app/Controller/OrderController.php

@@ -0,0 +1,59 @@
+<?php
+
+declare (strict_types = 1);
+
+namespace App\Controller;
+
+use App\JsonRpc\OrderServiceInterface;
+use App\Tools\Result;
+use Hyperf\Di\Annotation\Inject;
+use Hyperf\HttpServer\Contract\RequestInterface;
+use Hyperf\HttpServer\Contract\ResponseInterface;
+use Hyperf\Validation\Contract\ValidatorFactoryInterface;
+
+/**
+
+/**
+ * Class OrderController
+ * @package App\Controller
+ */
+class OrderController extends AbstractController
+{
+    #[Inject]
+    protected ValidatorFactoryInterface $validationFactory;
+
+    /**
+     * @var OrderServiceInterface
+     */
+    #[Inject]
+    private $orderServiceClient;
+    public function index(RequestInterface $request, ResponseInterface $response)
+    {
+        return $response->raw('Hello Hyperf!');
+    }
+
+    /**
+     * 查询广告
+     */
+    public function getAD()
+    {
+        $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);
+        }
+        $result = $this->orderServiceClient->getAD($requireData);
+        return $result['code'] == 200 ? Result::success($result['data']) : Result::error($result['message']);
+    }
+}

+ 29 - 0
app/JsonRpc/OrderService.php

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

+ 12 - 0
app/JsonRpc/OrderServiceInterface.php

@@ -0,0 +1,12 @@
+<?php
+
+namespace App\JsonRpc;
+
+interface OrderServiceInterface
+{
+    /**
+     * @param array $data
+     */
+    public function getAD(array $data);
+
+}

+ 46 - 0
config/api/order.php

@@ -0,0 +1,46 @@
+<?php
+
+declare (strict_types = 1);
+use App\Controller\OrderController;
+use App\Middleware\Auth\FooMiddleware;
+use Hyperf\HttpServer\Router\Router;
+
+Router::addGroup(
+    '/order', function () {
+        //测试
+        Router::get('/index', [OrderController::class, 'index']);
+        //查询广告  1
+        Router::post('/getAD', [OrderController::class, 'getAD']);
+        //添加订单 1
+        Router::post('/addAD', [OrderController::class, 'addAD']);
+        //获取订单列表 1
+        Router::post('/getOrderList', [OrderController::class, 'getOrderList']);
+        //获取订单详情  1
+        Router::post('/getOrderDetail', [OrderController::class, 'getOrderDetail']);
+        //撤回订单 1
+        Router::post('/cancelOrder', [OrderController::class, 'cancelOrder']);
+        //删除广告
+        Router::post('/delOrderAD', [OrderController::class, 'delOrderAD']);
+
+        //后台管理
+        //获取订单列表 1
+        Router::post('/getOrderListAdmin', [OrderController::class, 'getOrderListAdmin']);
+        //获取订单详情 1
+        Router::post('/getOrderDetailAdmin', [OrderController::class, 'getOrderDetailAdmin']);
+
+        //获取广告列表 1
+        Router::post('/getADList', [OrderController::class, 'getADList']);
+        //获取广告详情 2
+        Router::post('/getADDetail', [OrderController::class, 'getADDetail']);
+        //添加广告
+        Router::post('/addADAdmin', [OrderController::class, 'addAD']);
+        //修改广告
+        Router::post('/editAD', [OrderController::class, 'editAD']);
+        //删除广告
+        Router::post('/delAD', [OrderController::class, 'delAD']);
+        //驳回  结束   修改价格
+        Router::post('/editOrderStatus', [OrderController::class, 'editOrderStatus']);
+
+    },
+    ['middleware' => [FooMiddleware::class]]
+);

+ 10 - 3
config/autoload/services.php

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

+ 13 - 13
config/routes.php

@@ -1,6 +1,6 @@
 <?php
 
-declare(strict_types=1);
+declare (strict_types = 1);
 /**
  * This file is part of Hyperf.
  *
@@ -15,7 +15,6 @@ Router::addRoute(['GET', 'POST', 'HEAD'], '/index', 'App\Controller\IndexControl
 Router::addRoute(['GET', 'POST', 'HEAD'], '/download', 'App\Controller\IndexController@download');
 Router::get('/api/getData', 'App\Controller\LoginController@getData');
 
-
 Router::get('/favicon.ico', function () {
     return '';
 });
@@ -24,14 +23,15 @@ Router::addServer('ws', function () {
     Router::get('/', 'App\Controller\WebSocketController');
 });
 
-require __DIR__.'/api/user.php';
-require __DIR__.'/api/public.php';
-require __DIR__.'/api/ad.php';
-require __DIR__.'/api/complaint.php';
-require __DIR__.'/api/authority.php';
-require __DIR__.'/api/chat.php';
-require __DIR__.'/api/link.php';
-require __DIR__.'/api/login.php';
-require __DIR__.'/api/news.php';
-require __DIR__.'/api/website.php';
-require __DIR__.'/api/web.php';
+require __DIR__ . '/api/user.php';
+require __DIR__ . '/api/public.php';
+require __DIR__ . '/api/ad.php';
+require __DIR__ . '/api/complaint.php';
+require __DIR__ . '/api/authority.php';
+require __DIR__ . '/api/chat.php';
+require __DIR__ . '/api/link.php';
+require __DIR__ . '/api/login.php';
+require __DIR__ . '/api/news.php';
+require __DIR__ . '/api/website.php';
+require __DIR__ . '/api/web.php';
+require __DIR__ . '/api/order.php';