LinkController.php 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Controller;
  4. use App\JsonRpc\LinkServiceInterface;
  5. use Hyperf\Di\Annotation\Inject;
  6. use Hyperf\HttpServer\Annotation\AutoController;
  7. use App\Tools\Result;
  8. use Hyperf\Logger;
  9. use Hyperf\Validation\Contract\ValidatorFactoryInterface;
  10. /**
  11. * Class LinkController
  12. * @package App\Controller
  13. */
  14. //#[AutoController]
  15. class LinkController extends AbstractController
  16. {
  17. #[Inject]
  18. protected ValidatorFactoryInterface $validationFactory;
  19. /**
  20. * @var LinkServiceInterface
  21. */
  22. #[Inject]
  23. private $linkServiceClient;
  24. /**
  25. * 友情链接列表
  26. * @return array
  27. */
  28. public function getLinkList()
  29. {
  30. $requireData = $this->request->all();
  31. $result = $this->linkServiceClient->getLinkList($requireData);
  32. if($result['data']){
  33. $statusList = ['1'=>"通过",'2'=>"待审"];
  34. foreach ($result['data']['rows'] as $k=>$v) {
  35. $result['data']['rows'][$k]['status_name'] =$statusList[$v['status']];
  36. }
  37. }
  38. return $result?Result::success($result['data']):Result::error($result['message']);
  39. }
  40. /**
  41. * 创建友情链接
  42. * @return array
  43. */
  44. public function createLink()
  45. {
  46. $requireData = $this->request->all();
  47. $validator = $this->validationFactory->make(
  48. $requireData,
  49. [
  50. 'title' => 'required',
  51. ],
  52. [
  53. 'title.required' => '名称不能为空',
  54. ]
  55. );
  56. if ($validator->fails()){
  57. $errorMessage = $validator->errors()->first();
  58. return Result::error($errorMessage);
  59. }
  60. $result = $this->linkServiceClient->createLink($requireData);
  61. return $result?Result::success($result['data']):Result::error($result['message']);
  62. }
  63. /**
  64. * 更新友情链接
  65. * @return array
  66. */
  67. public function updateLink()
  68. {
  69. $requireData = $this->request->all();
  70. $validator = $this->validationFactory->make(
  71. $requireData,
  72. [
  73. 'id' => 'required',
  74. 'title' => 'required',
  75. 'url' => 'required',
  76. ],
  77. [
  78. 'id.required' => 'id不能为空',
  79. 'title.required' => '名称不能为空',
  80. 'url.required' => 'url不能为空',
  81. ]
  82. );
  83. if ($validator->fails()){
  84. $errorMessage = $validator->errors()->first();
  85. return Result::error($errorMessage);
  86. }
  87. $requireData = $this->request->all();
  88. $result = $this->linkServiceClient->updateLink($requireData);
  89. return $result?Result::success($result['data']):Result::error($result['message']);
  90. }
  91. /**
  92. * 删除友情链接
  93. * @return array
  94. */
  95. public function delLink()
  96. {
  97. $requireData = $this->request->all();
  98. $result = $this->linkServiceClient->delLink($requireData);
  99. return $result?Result::success($result['data']):Result::error($result['message']);
  100. }
  101. }