15313670163 пре 4 месеци
родитељ
комит
0fcd63f9c5

+ 101 - 0
app/Controller/FooterController.php

@@ -0,0 +1,101 @@
+<?php
+declare(strict_types=1);
+namespace App\Controller;
+
+use App\JsonRpc\FooterServiceInterface;
+use App\Tools\PublicData;
+use Hyperf\Di\Annotation\Inject;
+use App\Tools\Result;
+use Hyperf\Validation\Contract\ValidatorFactoryInterface;
+use App\Constants\ErrorCode;
+use Hyperf\Context\Context;
+use Hyperf\HttpServer\Contract\RequestInterface;
+use Hyperf\HttpServer\Contract\ResponseInterface;
+/**
+ * Class FooterController
+ * @package App\Controller
+ */
+class FooterController extends AbstractController
+{
+
+    #[Inject]
+    protected ValidatorFactoryInterface $validationFactory;
+
+    /**
+     * @var FooterServiceInterface
+     */
+    #[Inject]
+    private $FooterServiceClient;
+
+
+
+    /**
+     * 获取栏目导航
+     * @return array
+     */
+    public function getFooterCategory()
+    {
+
+        $requireData = $this->request->all();
+        if(isset($requireData['id'])){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'id' => 'required'
+                ],
+                [
+                    'id.required' => '底部导航id不能为空'
+                ]
+            );
+            $data[] = ['id',$requireData['id']];
+        }elseif(isset($requireData['web_name'])){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'web_name' =>'required'
+                ],
+                [
+                    'web_name.required' => '网站名称不能为空'
+                ]
+            );
+            $data[] = ['web_name',$requireData['web_name']];
+        }elseif(isset($requireData['footer_category'])){
+            $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'footer_category' =>'required'
+                ],
+                [
+                    'footer_category.required' => '底部导航名称不能为空'
+                ]
+            );
+            $data[] = ['footer_category',$requireData['footer_category']];
+        }else{
+            $data = null;
+        }
+        $validator = $this->validationFactory->make(
+                $requireData,
+                [
+                    'page' =>'required',
+                    'pageSize' =>'required'
+                ],
+                [
+                    'page.required' => '第几页不能为空',
+                    'pageSize.required' => '每页显示数量不能为空'
+                ]
+        );
+        $data[] = ['page',$requireData['page']];
+        $data[] = ['pageSize',$requireData['pageSize']];
+        if ($validator->fails()){
+            $errorMessage = $validator->errors()->first();
+            return Result::error($errorMessage);
+        }
+        $result = $this->FooterServiceClient->getFooterCategory($data);
+        if ($result['code'] != ErrorCode::SUCCESS) {
+            return Result::error($result['message'],0,[]);
+        }
+        return Result::success($result['data']);
+    }
+
+   
+}

+ 1 - 541
app/Controller/PublicController.php

@@ -78,546 +78,6 @@ class PublicController extends AbstractController
 
         }
     }
-    /**
-     * 添加用户等级
-     * @return array
-     */
-    public function addUserLevel()
-    {
-        $requireData = $this->request->all();
-        $validator = $this->validationFactory->make(
-            $requireData,
-            [
-                'name' => 'required',
-            ],
-            [
-                'name.required' => '等级名不能为空',
-            ]
-        );
-        if ($validator->fails()) {
-            $errorMessage = $validator->errors()->first();
-            return Result::error($errorMessage);
-        }
-        $result = $this->publicServiceClient->addUserLevel($requireData);
-        return $result ? Result::success($result['data']) : Result::error($result['message']);
-    }
-    /**
-     * 删除用户等级
-     * @return array
-     */
-    public function delUserLevel()
-    {
-        $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->publicServiceClient->delUserLevel($requireData);
-        return $result ? Result::success($result['data']) : Result::error($result['message']);
-    }
-    /**
-     * 更新用户等级
-     * @return array
-     */
-    public function updateUserLevel()
-    {
-        $requireData = $this->request->all();
-        $validator = $this->validationFactory->make(
-            $requireData,
-            [
-                'name' => 'required',
-                'id' => 'required',
-            ],
-            [
-                'id.required' => 'ID不能为空',
-                'name.required' => '名称不能为空',
-            ]
-        );
-        if ($validator->fails()) {
-            $errorMessage = $validator->errors()->first();
-            return Result::error($errorMessage);
-        }
-        $result = $this->publicServiceClient->updateUserLevel($requireData);
-        return $result ? Result::success($result['data']) : Result::error($result['message']);
-    }
-    /**
-     * 城市列表
-     * @return array
-     */
-    public function getCityList()
-    {
-        $requireData = $this->request->all();
-        var_dump($requireData);
-        $result = $this->publicServiceClient->getDistrictList($requireData);
-        return $result ? Result::success($result['data']) : Result::error($result['message']);
-    }
-
-    /**
-     * 投诉举报
-     * @return void
-     */
-    public function addComplaint()
-    {
-        $requireData = $this->request->all();
-        $validator = $this->validationFactory->make(
-            $requireData,
-            [
-                'title' => 'required',
-                'nature' => 'required',
-                'nature_level0' => 'required',
-                'name' => 'required',
-                'mobile' => 'required',
-                'describe' => 'required',
-            ],
-            [
-                'title.required' => '标题不能为空',
-                'nature.required' => '类型不能为空',
-                'nature_level0.required' => '类型进度不能为空',
-                'name.required' => '姓名不能为空',
-                'mobile.required' => '手机号码不能为空',
-                'describe.required' => '详细说明不能为空',
-            ]
-        );
-        if ($validator->fails()) {
-            $errorMessage = $validator->errors()->first();
-            return Result::error($errorMessage);
-        }
-        $requireData = $this->request->all();
-        $requireData['user_id'] = Context::get("UserId");
-        if ($requireData['id']) {
-            $result = $this->publicServiceClient->userUpLetterOfComplaint($requireData);
-        } else {
-            $result = $this->publicServiceClient->addLetterOfComplaint($requireData);
-        }
-
-        return $result ? Result::success($result['data']) : Result::error($result['message']);
-    }
-
-    /**
-     * 更新投诉举报信息
-     * @return array
-     */
-    public function upComplaint()
-    {
-        $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);
-        }
-        var_dump($requireData);
-        if (isset($requireData['is_admin']) && !empty($requireData['is_admin'])) {
-            $requireData['admin_id'] = Context::get("UserId");
-        }
-        $result = $this->publicServiceClient->upLetterOfComplaint($requireData);
-        return $result ? Result::success([]) : Result::error($result['message']);
-    }
-    /**
-     * 获取投诉列表
-     * @return array
-     */
-    public function getComplaint()
-    {
-
-        $requireData = $this->request->all();
-        $requireData['user_id'] = Context::get("UserId");
-        if (isset($requireData['is_admin']) && !empty($requireData['is_admin'])) {
-            unset($requireData['user_id']);
-        }
-        $result = $this->publicServiceClient->getLetterOfComplaint($requireData);
-        if($result['code']==200){
-            foreach ($result['data']['rows']as $key=>$val){
-                $result['data']['rows'][$key]['created_at'] = date("Y-m-d",strtotime($val['created_at']));
-            }
-        }
-        return $result ? Result::success($result['data']) : Result::error($result['message']);
-    }
-
-    /**
-     * 获取投诉举报信息
-     * @return array
-     */
-    public function getLetterOfComplaintInfo()
-    {
-        $requireData = $this->request->all();
-        $requireData['user_id'] = Context::get("UserId");
-        if (isset($requireData['is_admin']) && !empty($requireData['is_admin'])) {
-            unset($requireData['user_id']);
-        }
-        $result = $this->publicServiceClient->getLetterOfComplaintInfo($requireData);
-        if ($result) {
-            $result['data']['judgment'] = $result['data']['judgment'] ? json_decode($result['data']['judgment']) : '';
-            $result['data']['audio_and_video'] = $result['data']['audio_and_video'] ? json_decode($result['data']['audio_and_video']) : '';
-            $result['data']['contract'] = $result['data']['contract'] ? json_decode($result['data']['contract']) : '';
-            $result['data']['qualifications'] = $result['data']['qualifications'] ? json_decode($result['data']['qualifications']) : '';
-        }
-        return $result ? Result::success($result['data']) : Result::error($result['message']);
-    }
-
-    /**
-     * 删除投诉举报信息
-     * @return array
-     */
-    public function delLetterOfComplaint()
-    {
-        $requireData = $this->request->all();
-        $requireData['user_id'] = Context::get("UserId");
-        if (isset($requireData['is_admin']) && !empty($requireData['is_admin'])) {
-            unset($requireData['user_id']);
-        }
-        $result = $this->publicServiceClient->delLetterOfComplaint($requireData);
-        return $result ? Result::success($result['data']) : Result::error($result['message']);
-    }
-    /**
-     * 获取投诉分类信息
-     * @return array
-     */
-    public function getLetterType()
-    {
-        $requireData = $this->request->all();
-        $validator = $this->validationFactory->make(
-            $requireData,
-            [
-                'type' => 'required',
-            ],
-            [
-                'type.required' => '类型不能为空',
-            ]
-        );
-        if ($validator->fails()) {
-            $errorMessage = $validator->errors()->first();
-            return Result::error($errorMessage);
-        }
-        $result = $this->publicServiceClient->getLetterType($requireData);
-        $rep = PublicData::buildMenuTree($result['data']);
-        return $rep ? Result::success($rep) : Result::error("查询失败");
-    }
-
-    /**
-     * @return array
-     */
-    public function getLetterTypeChildren()
-    {
-        $requireData = $this->request->all();
-        $validator = $this->validationFactory->make(
-            $requireData,
-            [
-                'type' => 'required',
-                'pid' => 'required',
-            ],
-            [
-                'type.required' => '类型不能为空',
-                'pid.required' => 'PID不能为空',
-            ]
-        );
-        if ($validator->fails()) {
-            $errorMessage = $validator->errors()->first();
-            return Result::error($errorMessage);
-        }
-        $result = $this->publicServiceClient->getLetterType($requireData);
-        return $result['code']==200 ? Result::success($result['data']) : Result::error("查询失败");
-    }
-
-    public function downloadFile(RequestInterface $request, ResponseInterface $response)
-    {
-        //验证是否有传参数
-        $requireData = $this->request->all();
-        $validator = $this->validationFactory->make(
-            $requireData,
-            [
-                'files' => 'required',
-            ],
-            [
-                'files.required' => '文件不能为空',
-            ]
-        );
-        if ($validator->fails()) {
-            $errorMessage = $validator->errors()->first();
-            return Result::error($errorMessage);
-        }
-        $requireData['fileName'] = $requireData['fileName'] ?? '政讯通';
-        //打包文件
-        $zip = new ZipArchive();
-        $fileType = 'zip';
-        $date = date('Ymd');
-        $filePath = $fileType . DIRECTORY_SEPARATOR . $date;
-        $allDir = 'public' . DIRECTORY_SEPARATOR . $filePath;
-        if (!is_dir($allDir)) {
-            if (!mkdir($allDir, 0755, true)) {
-                return Result::error('创建文件夹失败');
-            }
-        }
-        $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) {
-            // 将要下载的文件逐个添加到zip文件中
-//            $string = trim($requireData['files'], "[]'"); // 去掉最外层的方括号和单引号(注意:这里假设了单引号,如果是双引号则替换为 ")
-//            $string = str_replace("'", '', $string); // 去掉所有剩余的单引号(如果原字符串中使用的是双引号,则替换为双引号)
-//            $filePaths = explode(',', $string);
-            foreach ($requireData['files'] as $filePathu) {
-                $attachmentItem = 'public/' . $filePathu;
-                $zip->addFile($attachmentItem, pathinfo($attachmentItem, PATHINFO_BASENAME));
-            }
-            // 关闭zip文件
-            $zip->close();
-            // 将zip文件提供给用户进行下载
-//            readfile($zipFileName);
-            $fileUrlName = explode("public", $zipFileName);
-            return Result::success(['fileUrl' => env('HOST') . $fileUrlName[1]]);
-        } else {
-            return Result::error('无法创建zip文件');
-        }
-    }
-    /**
-     * 检测是否被处理
-     * @return array
-     */
-    public function checkMeasure()
-    {
-        $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['user_id'] = Context::get("UserId");
-        $result = $this->publicServiceClient->checkMeasure($requireData);
-        return $result['code'] == 200 ? Result::success() : Result::error("已经处理了");
-    }
-    /**
-     * 获取职能部门
-     * @return void
-     */
-    public function getDepartment()
-    {
-        $requireData = $this->request->all();
-        $validator = $this->validationFactory->make(
-            $requireData,
-            [
-                'pid' => 'required',
-            ],
-            [
-                'pid.required' => 'id不能为空',
-            ]
-        );
-        if ($validator->fails()) {
-            $errorMessage = $validator->errors()->first();
-            return Result::error($errorMessage);
-        }
-
-        $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("修改失败");
-    }
+   
 }
 

+ 31 - 0
app/JsonRpc/FooterService.php

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

+ 15 - 0
app/JsonRpc/FooterServiceInterface.php

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

+ 34 - 0
config/api/footer.php

@@ -0,0 +1,34 @@
+<?php
+
+declare (strict_types = 1);
+use App\Controller\OrderController;
+use App\Middleware\Auth\FooMiddleware;
+use Hyperf\HttpServer\Router\Router;
+
+Router::addGroup(
+    '/footer', function () {
+        //测试
+        Router::get('/index', [OrderController::class, 'index']);
+        //搜索并获取底部导航
+        Router::post('/getFooterCategory', [OrderController::class, 'getFooterCategory']);
+        //添加底部导航
+        Router::post('/addFooterCategory', [OrderController::class, 'addFooterCategory']);
+        //修改底部导航
+        Router::post('/upFooterCategory', [OrderController::class, 'upFooterCategory']);
+        //删除底部导航
+        Router::post('/delFooterCategory', [OrderController::class, 'delFooterCategory']);
+        
+        
+        //添加底部导航(列表)内容
+        Router::post('/addFooterContent', [OrderController::class, 'addFooterContent']);
+        //搜索并获取底部导航(列表)内容
+        Router::post('/getFooterContent', [OrderController::class, 'getFooterContent']);
+        //修改底部导航(列表)内容
+        Router::post('/upFooterContent', [OrderController::class, 'upFooterContent']);
+        //删除底部导航(列表)内容
+        Router::post('/delFooterContent', [OrderController::class, 'delFooterContent']);
+        
+
+    },
+    ['middleware' => [FooMiddleware::class]]
+);

+ 2 - 2
config/autoload/services.php

@@ -66,7 +66,7 @@ return [
             ],
         ],
         [
-            //友情链接服务
+            //商圈服务
             'name' => 'ChatService',
             'service' => \App\JsonRpc\ChatServiceInterface::class,
             // 直接对指定的节点进行消费,通过下面的 nodes 参数来配置服务提供者的节点信息
@@ -84,7 +84,7 @@ return [
             ],
         ],
         [
-            //广告订单服务
+            //采集器服务
             'name' => 'CollectorService',
             'service' => \App\JsonRpc\CollectorServiceInterface::class,