PaperResultsController.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. namespace App\Http\Controllers\Api\Exam;
  3. use App\Http\Controllers\Controller;
  4. use App\Repositories\Enums\ResponseCodeEnum;
  5. use Illuminate\Http\Request;
  6. use Jiannei\Response\Laravel\Support\Facades\Response;
  7. use App\Contracts\Repositories\Exam\PaperResultRepository;
  8. use App\Repositories\Validators\Exam\PaperResultValidator;
  9. /**
  10. * Class PaperResultsController.
  11. *
  12. * @package namespace App\Http\Controllers\Exam;
  13. */
  14. class PaperResultsController extends Controller
  15. {
  16. /**
  17. * @var PaperResultRepository
  18. */
  19. protected $repository;
  20. /**
  21. * @var PaperResultValidator
  22. */
  23. protected $validator;
  24. /**
  25. * PaperResultsController constructor.
  26. *
  27. * @param PaperResultRepository $repository
  28. * @param PaperResultValidator $validator
  29. */
  30. public function __construct(PaperResultRepository $repository, PaperResultValidator $validator)
  31. {
  32. $this->repository = $repository;
  33. $this->validator = $validator;
  34. }
  35. /**
  36. * 考试记录
  37. * @param Request $request
  38. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\Resource
  39. * Author: Mead
  40. */
  41. public function index(Request $request)
  42. {
  43. $lists = $this->repository->paginate($request->get('per_page', self::PAGE_NUM));
  44. return Response::success($lists);
  45. }
  46. /**
  47. * 删除
  48. * @param $id
  49. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\Resource
  50. * Author: Mead
  51. */
  52. public function destroy($id)
  53. {
  54. try {
  55. $this->repository->delete($id);
  56. return Response::success(null, T('successfully delete.'));
  57. } catch (\Exception $exception) {
  58. return Response::fail(T('Delete failed.'), ResponseCodeEnum::SERVICE_UPDATE_DATA_ERROR);
  59. }
  60. }
  61. /**
  62. * 详情
  63. * @param $slug
  64. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\Resource
  65. * Author: Mead
  66. */
  67. public function show($id)
  68. {
  69. $model = $this->repository->where('id', $id)->first();
  70. if (!$model) {
  71. return $this->error('找不到资源');
  72. }
  73. $model = $this->repository->parserResult($model);
  74. return Response::success($model);
  75. }
  76. }