CourseMemberController.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\Models\CourseMember;
  4. use Illuminate\Http\Request;
  5. class CourseMemberController extends Controller
  6. {
  7. /**
  8. * Display a listing of the resource.
  9. *
  10. * @return \Illuminate\Http\Response
  11. */
  12. public function index(Request $request)
  13. {
  14. //
  15. $result=false;
  16. $indexCol = ['id','user_id','group_id','power','level','status','updated_at','created_at'];
  17. switch ($request->get('view')) {
  18. case 'course':
  19. # 获取 course 内所有 成员
  20. $user = AuthApi::current($request);
  21. if($user){
  22. //TODO 判断当前用户是否有指定的 course 的权限
  23. if(Course::where('id',$request->get('id'))->where('studio_id',$user['user_uid'])->exists()){
  24. $table = CourseMember::where('course_id', $request->get('id'));
  25. }else{
  26. return $this->error(__('auth.failed'));
  27. }
  28. }else{
  29. return $this->error(__('auth.failed'));
  30. }
  31. break;
  32. }
  33. if(isset($_GET["search"])){
  34. $table = $table->where('title', 'like', $_GET["search"]."%");
  35. }
  36. $count = $table->count();
  37. if(isset($_GET["order"]) && isset($_GET["dir"])){
  38. $table = $table->orderBy($_GET["order"],$_GET["dir"]);
  39. }else{
  40. $table = $table->orderBy('updated_at','desc');
  41. }
  42. if(isset($_GET["limit"])){
  43. $offset = 0;
  44. if(isset($_GET["offset"])){
  45. $offset = $_GET["offset"];
  46. }
  47. $table = $table->skip($offset)->take($_GET["limit"]);
  48. }
  49. $result = $table->get();
  50. foreach ($result as $key => $value) {
  51. # 找到当前用户的权限
  52. if($user["user_uid"]===$value->user_id){
  53. switch ($value->power) {
  54. case 0:
  55. $role = "owner";
  56. break;
  57. case 1:
  58. $role = "manager";
  59. break;
  60. case 2:
  61. $role = "member";
  62. break;
  63. default:
  64. $role="unknown";
  65. break;
  66. }
  67. }
  68. }
  69. if($result){
  70. return $this->ok(["rows"=>GroupMemberResource::collection($result),"count"=>$count,'role'=>$role]);
  71. }else{
  72. return $this->error("没有查询到数据");
  73. }
  74. }
  75. /**
  76. * Store a newly created resource in storage.
  77. *
  78. * @param \Illuminate\Http\Request $request
  79. * @return \Illuminate\Http\Response
  80. */
  81. public function store(Request $request)
  82. {
  83. //
  84. }
  85. /**
  86. * Display the specified resource.
  87. *
  88. * @param \App\Models\CourseMember $courseMember
  89. * @return \Illuminate\Http\Response
  90. */
  91. public function show(CourseMember $courseMember)
  92. {
  93. //
  94. }
  95. /**
  96. * Update the specified resource in storage.
  97. *
  98. * @param \Illuminate\Http\Request $request
  99. * @param \App\Models\CourseMember $courseMember
  100. * @return \Illuminate\Http\Response
  101. */
  102. public function update(Request $request, CourseMember $courseMember)
  103. {
  104. //
  105. }
  106. /**
  107. * Remove the specified resource from storage.
  108. *
  109. * @param \App\Models\CourseMember $courseMember
  110. * @return \Illuminate\Http\Response
  111. */
  112. public function destroy(CourseMember $courseMember)
  113. {
  114. //
  115. }
  116. }