BannerController.php 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <?php
  2. namespace App\Http\Controllers\Admin\Base;
  3. use App\Http\Controllers\Controller;
  4. use App\Repositories\Enums\ResponseCodeEnum;
  5. use App\Services\Base\BannerService;
  6. use Illuminate\Http\Request;
  7. /**
  8. * Banner
  9. */
  10. class BannerController extends Controller
  11. {
  12. /**
  13. * @var BannerService
  14. */
  15. private $bannerService;
  16. /**
  17. * BannerController constructor.
  18. *
  19. * @param BannerService $bannerService
  20. */
  21. public function __construct(BannerService $bannerService)
  22. {
  23. parent::__construct();
  24. // $this->middleware('checkUserPermission');
  25. $this->bannerService = $bannerService;
  26. }
  27. /**
  28. * 列表
  29. * @param Request $request
  30. *
  31. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
  32. * @throws \Prettus\Repository\Exceptions\RepositoryException
  33. */
  34. public function index(Request $request)
  35. {
  36. $banners = $this->bannerService->handleList($request);
  37. return $this->response->success($banners);
  38. }
  39. /**
  40. * 新增
  41. * @param Request $request
  42. *
  43. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
  44. * @throws \Prettus\Validator\Exceptions\ValidatorException
  45. */
  46. public function store(Request $request)
  47. {
  48. $data = $this->validateData($request, [
  49. 'name' => 'required|string|max:200',
  50. 'path' => 'required|string',
  51. 'sort' => 'required|integer',
  52. 'type' => 'required|integer',
  53. 'status' => 'required|integer',
  54. ], []);
  55. $banner = $this->bannerService->handleStore($data);
  56. return $this->response->created($banner, '创建成功');
  57. }
  58. /**
  59. * 详情
  60. * @param Request $request
  61. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
  62. */
  63. public function show(Request $request)
  64. {
  65. $this->validate($request, ['id' => 'required|integer']);
  66. $banner = $this->bannerService->handleProfile($request->get('id'));
  67. return $this->response->success($banner);
  68. }
  69. /**
  70. * 更新
  71. * @param Request $request
  72. *
  73. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
  74. * @throws \Prettus\Validator\Exceptions\ValidatorException
  75. */
  76. public function update(Request $request)
  77. {
  78. $data = $this->validateData($request, [
  79. 'id' => 'required|integer',
  80. 'name' => 'nullable|string|max:200',
  81. 'path' => 'nullable|string',
  82. 'sort' => 'nullable|integer',
  83. 'type' => 'nullable|integer',
  84. 'status' => 'nullable|integer',
  85. ], []);
  86. $banner = $this->bannerService->handleUpdate($data);
  87. return $this->response->success($banner, '更新成功');
  88. }
  89. /**
  90. * 删除
  91. * @param Request $request
  92. */
  93. public function destroy(Request $request)
  94. {
  95. $this->validate($request, ['id' => 'required|integer']);
  96. $re = $this->bannerService->handleDelete($request->get('id'));
  97. if ($re) {
  98. return $this->response->ok('删除成功');
  99. }
  100. return $this->response->fail('删除失败');
  101. }
  102. }