<?php

declare(strict_types=1);
namespace App\Controller;

use App\JsonRpc\FooterServiceInterface;
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;
/**
 * 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']];
        }else{
            if(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()->all();
            return Result::error($errorMessage);
        }
        var_dump($data);
        $result = $this->footerServiceClient->getFooterCategory($data);
        // if ($result['code'] != ErrorCode::SUCCESS) {
        //     return Result::error($result['message'],0,[]);
        // }
        // return Result::success($result['data']);
    }



}