UserController.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use App\Http\Resources\UserResource;
  5. use App\Models\UserInfo;
  6. class UserController extends Controller
  7. {
  8. /**
  9. * Display a listing of the resource.
  10. *
  11. * @return \Illuminate\Http\Response
  12. */
  13. public function index(Request $request)
  14. {
  15. //
  16. switch ($request->get("view")) {
  17. case 'key':
  18. $table = UserInfo::where('username','like','%'.$request->get("key").'%')
  19. ->orWhere('nickname','like','%'.$request->get("key").'%');
  20. break;
  21. case 'all':
  22. $table = UserInfo::where('id','>',0);
  23. break;
  24. }
  25. if($request->has("search")){
  26. $table->where('nickname', 'like', $request->get("search")."%");
  27. }
  28. $count = $table->count();
  29. $table = $table->orderBy($request->get('order','username'),
  30. $request->get('dir','desc'));
  31. $table = $table->skip($request->get("offset",0))
  32. ->take($request->get('limit',20));
  33. $result = $table->get();
  34. return $this->ok(['rows'=>UserResource::collection($result),'count'=>$count]);
  35. }
  36. /**
  37. * Store a newly created resource in storage.
  38. *
  39. * @param \Illuminate\Http\Request $request
  40. * @return \Illuminate\Http\Response
  41. */
  42. public function store(Request $request)
  43. {
  44. //
  45. }
  46. /**
  47. * Display the specified resource.
  48. *
  49. * @param int $id
  50. * @return \Illuminate\Http\Response
  51. */
  52. public function show($id)
  53. {
  54. //
  55. $user = UserInfo::where('userid',$id)->first();
  56. return $this->ok(new UserResource($user));
  57. }
  58. /**
  59. * Update the specified resource in storage.
  60. *
  61. * @param \Illuminate\Http\Request $request
  62. * @param string $id
  63. * @return \Illuminate\Http\Response
  64. */
  65. public function update(Request $request, $id)
  66. {
  67. //
  68. $user = UserInfo::where('userid',$id)->first();
  69. if($request->has('roles')){
  70. $user->role = json_encode($request->get('roles'));
  71. }else{
  72. $user->nickname = $request->get('nickName');
  73. $user->avatar = $request->get('avatar');
  74. $user->email = $request->get('email');
  75. }
  76. $user->save();
  77. return $this->ok(new UserResource($user));
  78. }
  79. /**
  80. * Remove the specified resource from storage.
  81. *
  82. * @param int $id
  83. * @return \Illuminate\Http\Response
  84. */
  85. public function destroy($id)
  86. {
  87. //
  88. }
  89. }