BankCategoryController.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. <?php
  2. namespace App\Http\Controllers\Admin\Exam;
  3. use App\Http\Controllers\Controller;
  4. use App\Services\Exam\BankCategoryService;
  5. use Illuminate\Http\Request;
  6. /**
  7. * 题库分类管理
  8. */
  9. class BankCategoryController extends Controller
  10. {
  11. /**
  12. * @var BankCategoryService
  13. */
  14. private $bankCategoryService;
  15. /**
  16. * BankCategoryController constructor.
  17. *
  18. * @param BankCategoryService $bankCategoryService
  19. */
  20. public function __construct(BankCategoryService $bankCategoryService)
  21. {
  22. parent::__construct();
  23. // $this->middleware('checkUserPermission');
  24. $this->bankCategoryService = $bankCategoryService;
  25. }
  26. /**
  27. * 列表
  28. * @param Request $request
  29. *
  30. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
  31. * @throws \Prettus\Repository\Exceptions\RepositoryException
  32. */
  33. public function index(Request $request)
  34. {
  35. $bankCategorys = $this->bankCategoryService->handleList($request);
  36. return $this->response->success($bankCategorys);
  37. }
  38. /**
  39. * 新增
  40. * @param Request $request
  41. *
  42. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
  43. * @throws \Prettus\Validator\Exceptions\ValidatorException
  44. */
  45. public function store(Request $request)
  46. {
  47. $data = $this->validateData($request, [
  48. 'name' => 'required|string|max:200',
  49. 'pid' => 'required|integer',
  50. 'status' => 'required|integer',
  51. ], [
  52. 'name' => '分类名称',
  53. 'pid' => '父 id',
  54. 'status' => '状态',
  55. ]);
  56. $data['admin_id'] = login_admin_id();
  57. $bankCategory = $this->bankCategoryService->handleStore($data);
  58. return $this->response->created($bankCategory, '创建成功');
  59. }
  60. /**
  61. * 详情
  62. * @param Request $request
  63. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
  64. */
  65. public function show(Request $request)
  66. {
  67. $this->validate($request, ['id' => 'required|integer']);
  68. $bankCategory = $this->bankCategoryService->handleProfile($request->get('id'));
  69. return $this->response->success($bankCategory);
  70. }
  71. /**
  72. * 更新
  73. * @param Request $request
  74. *
  75. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
  76. * @throws \Prettus\Validator\Exceptions\ValidatorException
  77. */
  78. public function update(Request $request)
  79. {
  80. $data = $this->validateData($request, [
  81. 'id' => 'required|integer',
  82. 'name' => 'required|string|max:200',
  83. 'pid' => 'required|integer',
  84. 'status' => 'required|integer',
  85. ], [
  86. 'name' => '分类名称',
  87. 'pid' => '父 id',
  88. 'status' => '状态',
  89. ]);
  90. $bankCategory = $this->bankCategoryService->handleUpdate($data);
  91. return $this->response->success($bankCategory, '更新成功');
  92. }
  93. /**
  94. * 删除
  95. * @param Request $request
  96. */
  97. public function destroy(Request $request)
  98. {
  99. $this->validate($request, ['id' => 'required|integer']);
  100. $re = $this->bankCategoryService->handleDelete($request->get('id'));
  101. if ($re) {
  102. return $this->response->ok('删除成功');
  103. }
  104. return $this->response->fail('删除失败');
  105. }
  106. /**
  107. * 树状
  108. * @param Request $request
  109. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\JsonResource
  110. */
  111. public function trees(Request $request)
  112. {
  113. $data = $this->bankCategoryService->handleAll($request);
  114. $data = $data->toArray();
  115. return $this->response->success(toTree($data, 'id', 'pid'));
  116. }
  117. }