HomeController.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. /*
  3. * This file is part of the Jiannei/lumen-api-starter.
  4. *
  5. * (c) Jiannei <longjian.huang@foxmail.com>
  6. *
  7. * This source file is subject to the MIT license that is bundled
  8. * with this source code in the file LICENSE.
  9. */
  10. namespace App\Http\Controllers\Admin\Course;
  11. use App\Http\Controllers\Controller;
  12. use App\Repositories\Enums\ModelStatusEnum;
  13. use App\Repositories\Models\Course\Attach;
  14. use App\Repositories\Models\Course\Comment;
  15. use App\Repositories\Models\Course\Course;
  16. use App\Repositories\Models\Course\Node;
  17. use App\Repositories\Models\Course\Video;
  18. use App\Repositories\Models\School\Student;
  19. use App\Repositories\Models\School\Teacher;
  20. use Illuminate\Http\Request;
  21. use Jiannei\Response\Laravel\Support\Facades\Response;
  22. class HomeController extends Controller
  23. {
  24. /**
  25. * 首页统计
  26. * @param Request $request
  27. * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\Resources\Json\Resource
  28. */
  29. public function index(Request $request)
  30. {
  31. $course_nums = Course::query()->where('status', ModelStatusEnum::OK)->count();
  32. $video_nums = Video::query()->where('status', ModelStatusEnum::OK)->count();
  33. $attach_nums = Attach::query()->where('status', ModelStatusEnum::OK)->count();
  34. $comment_nums = Comment::query()->count();
  35. $node_nums = Node::query()->where('status', ModelStatusEnum::OK)->count();
  36. $student_nums = Student::query()->where('status', ModelStatusEnum::OK)->count();
  37. $teacher_nums = Teacher::query()->where('status', ModelStatusEnum::OK)->count();
  38. return Response::success(compact('video_nums', 'attach_nums', 'course_nums', 'comment_nums', 'node_nums', 'teacher_nums', 'student_nums'));
  39. }
  40. }