BusinessCategoryController.php 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?php
  2. namespace App\Http\Controllers\Admin\Dwbs;
  3. use App\Http\Controllers\Controller;
  4. use App\Repositories\Enums\ModelStatusEnum;
  5. use App\Services\Dwbs\BusinessCategoryService;
  6. use Illuminate\Http\Request;
  7. /**
  8. * 商学院分类管理
  9. */
  10. class BusinessCategoryController extends Controller
  11. {
  12. /**
  13. * @var BusinessCategoryService
  14. */
  15. private $service;
  16. /**
  17. * BusinessCategoryController constructor.
  18. *
  19. * @param BusinessCategoryService $businessCategoryService
  20. */
  21. public function __construct(BusinessCategoryService $service)
  22. {
  23. parent::__construct();
  24. $this->middleware('checkUserPermission');
  25. $this->service = $service;
  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. $lists = $this->service->handleList($request);
  37. return $this->response->success($lists);
  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',
  50. 'sort' => 'required|integer',
  51. ], [
  52. 'name' => '名称',
  53. 'sort' => '排序',
  54. ]);
  55. $data['status'] = ModelStatusEnum::OK;
  56. $model = $this->service->handleStore($data);
  57. return $this->response->created($model, '创建成功');
  58. }
  59. /**
  60. * 详情
  61. * @param Request $request
  62. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
  63. */
  64. public function show(Request $request)
  65. {
  66. $this->validate($request, ['id' => 'required|integer']);
  67. $model = $this->service->handleProfile($request->get('id'));
  68. return $this->response->success($model);
  69. }
  70. /**
  71. * 更新
  72. * @param Request $request
  73. *
  74. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
  75. * @throws \Prettus\Validator\Exceptions\ValidatorException
  76. */
  77. public function update(Request $request)
  78. {
  79. $data = $this->validateData($request, [
  80. 'id' => 'required|integer',
  81. 'name' => 'required|string',
  82. 'sort' => 'required|integer',
  83. 'status' => 'required|integer',
  84. ], [
  85. 'name' => '名称',
  86. 'sort' => '排序',
  87. ]);
  88. $model = $this->service->handleUpdate($data);
  89. return $this->response->success($model, '更新成功');
  90. }
  91. /**
  92. * 删除
  93. * @param Request $request
  94. */
  95. public function destroy(Request $request)
  96. {
  97. $this->validate($request, ['id' => 'required|integer']);
  98. $re = $this->service->handleDelete($request->get('id'));
  99. if ($re) {
  100. return $this->response->ok('删除成功');
  101. }
  102. return $this->response->fail('删除失败');
  103. }
  104. /**
  105. * 批量删除
  106. * @param Request $request
  107. */
  108. public function batchDelete(Request $request)
  109. {
  110. $ids = $this->validateData($request, ['ids' => 'required|array']);
  111. $re = $this->service->handleBatchDelete($ids);
  112. if ($re) {
  113. return $this->response->ok('删除成功');
  114. }
  115. return $this->response->fail('删除失败');
  116. }
  117. /**
  118. * 选项
  119. * @must
  120. * @param Request $request
  121. */
  122. public function selectOptions(Request $request)
  123. {
  124. $lists = $this->service->handleSelectOptions($request);
  125. return $this->response->success($lists);
  126. }
  127. }