PartyUserController.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194
  1. <?php
  2. namespace App\Http\Controllers\Admin;
  3. use App\Http\Requests\PartyUserCreateRequest;
  4. use App\Http\Requests\PartyUserUpdateRequest;
  5. use App\Models\PartyUser;
  6. use Illuminate\Http\Request;
  7. use App\Http\Controllers\Controller;
  8. use App\Models\Role;
  9. class PartyUserController extends Controller
  10. {
  11. /**
  12. * Display a listing of the resource.
  13. *
  14. * @return \Illuminate\Http\Response
  15. */
  16. public function index()
  17. {
  18. return view('admin.partyUser.index');
  19. }
  20. public function data(Request $request)
  21. {
  22. $res = PartyUser::paginate($request->get('limit', 30))->toArray();
  23. $data = [
  24. 'code' => 0,
  25. 'msg' => '正在请求中...',
  26. 'count' => $res['total'],
  27. 'data' => $res['data']
  28. ];
  29. return response()->json($data);
  30. }
  31. /**
  32. * Show the form for creating a new resource.
  33. *
  34. * @return \Illuminate\Http\Response
  35. */
  36. public function create()
  37. {
  38. return view('admin.partyUser.create')->with(['partyUser'=>array()]);
  39. }
  40. /**
  41. * Store a newly created resource in storage.
  42. *
  43. * @param \Illuminate\Http\Request $request
  44. * @return \Illuminate\Http\Response
  45. */
  46. public function store(PartyUserCreateRequest $request)
  47. {
  48. $data = $request->all();
  49. if (PartyUser::create($data)){
  50. return redirect()->to(route('admin.partyUser'))->with(['status'=>'添加成功']);
  51. }
  52. return redirect()->to(route('admin.partyUser'))->withErrors('系统错误');
  53. }
  54. /**
  55. * Display the specified resource.
  56. *
  57. * @param int $id
  58. * @return \Illuminate\Http\Response
  59. */
  60. public function show($id)
  61. {
  62. //
  63. }
  64. /**
  65. * Show the form for editing the specified resource.
  66. *
  67. * @param int $id
  68. * @return \Illuminate\Http\Response
  69. */
  70. public function edit($id)
  71. {
  72. $partyUser = PartyUser::where('id', $id)->first();
  73. return view('admin.partyUser.edit',compact('partyUser'));
  74. }
  75. /**
  76. * Update the specified resource in storage.
  77. *
  78. * @param \Illuminate\Http\Request $request
  79. * @param int $id
  80. * @return \Illuminate\Http\Response
  81. */
  82. public function update(PartyUserUpdateRequest $request, $id)
  83. {
  84. // $partyUser = PartyUser::findOrFail($id);
  85. $data = $request->all();
  86. if(empty($data['key'])){
  87. unset($data['key']);
  88. }
  89. if(empty($data['secret'])){
  90. unset($data['secret']);
  91. }
  92. $partyUser = PartyUser::findOrFail($id);
  93. if ($partyUser->update($data)){
  94. return redirect()->to(route('admin.partyUser'))->with(['status'=>'更新成功']);
  95. }
  96. return redirect()->to(route('admin.partyUser'))->withErrors('系统错误');
  97. }
  98. /**
  99. * Remove the specified resource from storage.
  100. *
  101. * @param int $id
  102. * @return \Illuminate\Http\Response
  103. */
  104. public function destroy(Request $request)
  105. {
  106. $ids = $request->get('ids');
  107. if (empty($ids)){
  108. return response()->json(['code'=>1,'msg'=>'请选择删除项']);
  109. }
  110. if (PartyUser::destroy($ids)){
  111. return response()->json(['code'=>0,'msg'=>'删除成功']);
  112. }
  113. return response()->json(['code'=>1,'msg'=>'删除失败']);
  114. }
  115. /**
  116. * 分配角色
  117. */
  118. public function role(Request $request,$id)
  119. {
  120. $partyUser = PartyUser::findOrFail($id);
  121. $roles = Role::get();
  122. $hasRoles = $partyUser->roles();
  123. foreach ($roles as $role){
  124. $role->own = $partyUser->hasRole($role) ? true : false;
  125. }
  126. return view('admin.partyUser.role',compact('roles','partyUser'));
  127. }
  128. /**
  129. * 更新分配角色
  130. */
  131. public function assignRole(Request $request,$id)
  132. {
  133. $partyUser = PartyUser::findOrFail($id);
  134. $roles = $request->get('roles',[]);
  135. if ($partyUser->syncRoles($roles)){
  136. return redirect()->to(route('admin.partyUser'))->with(['status'=>'更新用户角色成功']);
  137. }
  138. return redirect()->to(route('admin.partyUser'))->withErrors('系统错误');
  139. }
  140. /**
  141. * 分配权限
  142. */
  143. public function permission(Request $request,$id)
  144. {
  145. $partyUser = PartyUser::findOrFail($id);
  146. $permissions = $this->tree();
  147. foreach ($permissions as $key1 => $item1){
  148. $permissions[$key1]['own'] = $partyUser->hasDirectPermission($item1['id']) ? 'checked' : false ;
  149. if (isset($item1['_child'])){
  150. foreach ($item1['_child'] as $key2 => $item2){
  151. $permissions[$key1]['_child'][$key2]['own'] = $partyUser->hasDirectPermission($item2['id']) ? 'checked' : false ;
  152. if (isset($item2['_child'])){
  153. foreach ($item2['_child'] as $key3 => $item3){
  154. $permissions[$key1]['_child'][$key2]['_child'][$key3]['own'] = $partyUser->hasDirectPermission($item3['id']) ? 'checked' : false ;
  155. }
  156. }
  157. }
  158. }
  159. }
  160. return view('admin.partyUser.permission',compact('partyUser','permissions'));
  161. }
  162. /**
  163. * 存储权限
  164. */
  165. public function assignPermission(Request $request,$id)
  166. {
  167. $partyUser = PartyUser::findOrFail($id);
  168. $permissions = $request->get('permissions');
  169. if (empty($permissions)){
  170. $partyUser->permissions()->detach();
  171. return redirect()->to(route('admin.partyUser'))->with(['status'=>'已更新用户直接权限']);
  172. }
  173. $partyUser->syncPermissions($permissions);
  174. return redirect()->to(route('admin.partyUser'))->with(['status'=>'已更新用户直接权限']);
  175. }
  176. }