FooterController.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller;
  4. use App\JsonRpc\FooterServiceInterface;
  5. use App\Tools\PublicData;
  6. use Hyperf\Di\Annotation\Inject;
  7. use App\Tools\Result;
  8. use Hyperf\Validation\Contract\ValidatorFactoryInterface;
  9. use App\Constants\ErrorCode;
  10. use Hyperf\Context\Context;
  11. use Hyperf\HttpServer\Contract\RequestInterface;
  12. use Hyperf\HttpServer\Contract\ResponseInterface;
  13. /**
  14. * Class FooterController
  15. * @package App\Controller
  16. */
  17. class FooterController extends AbstractController
  18. {
  19. #[Inject]
  20. protected ValidatorFactoryInterface $validationFactory;
  21. /**
  22. * @var FooterServiceInterface
  23. */
  24. #[Inject]
  25. private $FooterServiceClient;
  26. /**
  27. * 获取栏目导航
  28. * @return array
  29. */
  30. public function getFooterCategory()
  31. {
  32. $requireData = $this->request->all();
  33. if(isset($requireData['id'])){
  34. $validator = $this->validationFactory->make(
  35. $requireData,
  36. [
  37. 'id' => 'required'
  38. ],
  39. [
  40. 'id.required' => '底部导航id不能为空'
  41. ]
  42. );
  43. $data[] = ['id',$requireData['id']];
  44. }elseif(isset($requireData['web_name'])){
  45. $validator = $this->validationFactory->make(
  46. $requireData,
  47. [
  48. 'web_name' =>'required'
  49. ],
  50. [
  51. 'web_name.required' => '网站名称不能为空'
  52. ]
  53. );
  54. $data[] = ['web_name',$requireData['web_name']];
  55. }elseif(isset($requireData['footer_category'])){
  56. $validator = $this->validationFactory->make(
  57. $requireData,
  58. [
  59. 'footer_category' =>'required'
  60. ],
  61. [
  62. 'footer_category.required' => '底部导航名称不能为空'
  63. ]
  64. );
  65. $data[] = ['footer_category',$requireData['footer_category']];
  66. }else{
  67. $data = null;
  68. }
  69. $validator = $this->validationFactory->make(
  70. $requireData,
  71. [
  72. 'page' =>'required',
  73. 'pageSize' =>'required'
  74. ],
  75. [
  76. 'page.required' => '第几页不能为空',
  77. 'pageSize.required' => '每页显示数量不能为空'
  78. ]
  79. );
  80. $data[] = ['page',$requireData['page']];
  81. $data[] = ['pageSize',$requireData['pageSize']];
  82. if ($validator->fails()){
  83. $errorMessage = $validator->errors()->first();
  84. return Result::error($errorMessage);
  85. }
  86. $result = $this->FooterServiceClient->getFooterCategory($data);
  87. if ($result['code'] != ErrorCode::SUCCESS) {
  88. return Result::error($result['message'],0,[]);
  89. }
  90. return Result::success($result['data']);
  91. }
  92. }