LinkController.php 3.1 KB

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