GradesController.php 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?php
  2. namespace App\Http\Controllers\Admin\School;
  3. use App\Http\Controllers\Controller;
  4. use App\Services\School\GradeService;
  5. use Illuminate\Http\Request;
  6. /**
  7. * 班级管理
  8. *
  9. * @package namespace App\Http\Controllers\School;
  10. */
  11. class GradesController extends Controller
  12. {
  13. protected $service;
  14. public function __construct(GradeService $service)
  15. {
  16. parent::__construct();
  17. $this->service = $service;
  18. }
  19. /**
  20. * 列表
  21. * @param Request $request
  22. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\Resource
  23. * @throws \Prettus\Repository\Exceptions\RepositoryException
  24. */
  25. public function index(Request $request)
  26. {
  27. $data = $this->service->handleList($request);
  28. return $this->response->success($data);
  29. }
  30. /**
  31. * 新增
  32. * @param Request $request
  33. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\Resource
  34. * @throws \Illuminate\Validation\ValidationException
  35. * @throws \Prettus\Validator\Exceptions\ValidatorException
  36. */
  37. public function store(Request $request)
  38. {
  39. $data = $this->validateData($request, [
  40. 'name' => 'required',
  41. 'status' => 'required|integer'
  42. ], [
  43. 'name' => '名称',
  44. 'status' => '状态'
  45. ]);
  46. $model = $this->service->handleStore($data);
  47. return $this->response->created($model, '创建成功');
  48. }
  49. /**
  50. * 详情
  51. * @param Request $request
  52. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\Resource
  53. * @throws \Illuminate\Validation\ValidationException
  54. */
  55. public function show(Request $request)
  56. {
  57. $this->validate($request, ['id' => 'required|integer']);
  58. $model = $this->service->handleProfile($request->get('id'));
  59. return $this->response->success($model);
  60. }
  61. /**
  62. * 编辑
  63. * @param Request $request
  64. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\Resource
  65. * @throws \Illuminate\Validation\ValidationException
  66. * @throws \Prettus\Validator\Exceptions\ValidatorException
  67. */
  68. public function update(Request $request)
  69. {
  70. $data = $this->validateData($request, [
  71. 'id' => 'required|integer',
  72. 'name' => 'required',
  73. 'status' => 'required|integer'
  74. ], [
  75. 'name' => '名称',
  76. 'status' => '状态'
  77. ]);
  78. $model = $this->service->handleUpdate($data);
  79. return $this->response->success($model, '创建成功');
  80. }
  81. /**
  82. * 删除
  83. * @param Request $request
  84. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\Resource
  85. * @throws \Illuminate\Validation\ValidationException
  86. * @throws \Prettus\Validator\Exceptions\ValidatorException
  87. */
  88. public function destroy(Request $request)
  89. {
  90. $this->validate($request, ['id' => 'required|integer']);
  91. $re = $this->service->handleDelete($request->get('id'));
  92. if ($re) {
  93. return $this->response->ok('删除成功');
  94. }
  95. return $this->response->fail('删除失败');
  96. }
  97. /**
  98. * 批量删除
  99. * @param Request $request
  100. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\Resource
  101. * @throws \Illuminate\Validation\ValidationException
  102. * @throws \Prettus\Validator\Exceptions\ValidatorException
  103. */
  104. public function batchDelete(Request $request)
  105. {
  106. $ids = $this->validateData($request, ['ids' => 'required|array']);
  107. $re = $this->service->handleBatchDelete($ids);
  108. if ($re) {
  109. return $this->response->ok('删除成功');
  110. }
  111. return $this->response->fail('删除失败');
  112. }
  113. /**
  114. * 选项
  115. * @must
  116. * @param Request $request
  117. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
  118. * @throws \Prettus\Repository\Exceptions\RepositoryException
  119. */
  120. public function selectOptions(Request $request)
  121. {
  122. $lists = $this->service->handleSelectOptions($request);
  123. return $this->response->success($lists);
  124. }
  125. }