Nessuna descrizione

AdminController.php 6.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. <?php
  2. /**
  3. * Created by Sublime.
  4. * User: Williamslife Wang
  5. * Date: 17/10/18
  6. * Time: 上午11:20
  7. */
  8. namespace App\Http\Controllers\Admin;
  9. use App\Http\Controllers\Controller;
  10. use App\Admin;
  11. use Illuminate\Http\Request;
  12. use App\Role;
  13. use App\AdminRole;
  14. use Illuminate\Support\Facades\DB;
  15. class AdminController extends Controller
  16. {
  17. /**
  18. * 一开始做为公用的继承文件
  19. * @return \Illuminate\View\View
  20. */
  21. // public function index()
  22. // {
  23. // return view('admin/admin');
  24. // }
  25. /**
  26. * @return \Illuminate\View\View
  27. */
  28. public function all()
  29. {
  30. $admin = Admin::get();
  31. foreach($admin as $item){
  32. #获取团队
  33. $team = DB::table('teams')->select('name')->where('id', $item->team_id)->first();
  34. $item->team_name = isset($team->name) ? $team->name : '';
  35. }
  36. return view('admin/adminall', ['admin' => $admin]);
  37. }
  38. /**
  39. * @return \Illuminate\View\View
  40. */
  41. public function teamindex()
  42. {
  43. $team = DB::table('teams')->get();
  44. $team = json_decode(json_encode($team),true);
  45. return view('admin/teamindex', ['team' => $team]);
  46. }
  47. /**
  48. * @return \Illuminate\View\View
  49. */
  50. public function create()
  51. {
  52. $roles = Role::select('id','name')->groupBy('name')->get();
  53. $team = DB::table('teams')->get();
  54. $team = json_decode(json_encode($team),true);
  55. return view('admin/admincreate', ['roles' => $roles, 'team'=>$team]);
  56. }
  57. /**
  58. * @param Request $request
  59. * @return \Illuminate\Http\RedirectResponse
  60. */
  61. public function store(Request $request)
  62. {
  63. $this->validate($request, [
  64. 'username' => 'required|unique:admin',
  65. 'password' => 'required|confirmed',
  66. 'password_confirmation' => 'required',
  67. 'roles' => 'required',
  68. 'phone' => 'regex:/^1[3456789]\d{9}$/',
  69. ], [
  70. 'username.required' => '登录名称不能为空',
  71. 'username.unique' => '登录名称已存在',
  72. 'password.required' => '密码不能为空',
  73. 'password_confirmation.required' => '再次输入密码为空',
  74. 'password.confirmed' => '两次密码不一致',
  75. 'roles.required' => '请至少选择一个角色',
  76. 'phone.regex' => '手机号格式有误',
  77. ]);
  78. $admin = new Admin();
  79. $admin->username = $request->input('username');
  80. $admin->password = bcrypt($request->input('password'));
  81. $admin->realname = $request->input('realname');
  82. $admin->team_id = $request->input('team_id');
  83. $admin->wx_id = $request->input('wx_id');
  84. $admin->phone = $request->input('phone');
  85. $admin->is_use = 1;
  86. $admin->save();
  87. $user_id = $admin->id;
  88. $roles = $request->input('roles');
  89. foreach($roles as $v){
  90. $admin_role = new AdminRole();
  91. $admin_role->user_id = $user_id;
  92. $admin_role->role_name = $v;
  93. $admin_role->create_time = time();
  94. $admin_role->save();
  95. }
  96. return redirect('/admin/admin/all')->with('info', '添加管理员成功');
  97. }
  98. /**
  99. * @param $id
  100. * @return \Illuminate\View\View
  101. */
  102. public function edit($id)
  103. {
  104. $admin = Admin::findOrFail($id);//帐号密码信息
  105. $admin_roles = AdminRole::select('role_name')->where('user_id', '=', $id)->get();//角色信息
  106. $roles = Role::select('id','name')->groupBy('name')->get();
  107. $team = DB::table('teams')->get();
  108. $team = json_decode(json_encode($team),true);
  109. return view('admin/adminedit', ['roles' => $roles, 'admin' => $admin, 'admin_roles' => $admin_roles, 'team'=>$team]);
  110. }
  111. /**
  112. * @param Request $request
  113. * @return \Illuminate\Http\RedirectResponse
  114. */
  115. public function update(Request $request)
  116. {
  117. $this->validate($request, [
  118. 'password' => 'confirmed',
  119. 'roles' => 'required',
  120. 'phone' => 'regex:/^1[3456789]\d{9}$/',
  121. ], [
  122. 'password.confirmed' => '两次密码不一致',
  123. 'roles.required' => '请至少选择一个角色',
  124. 'phone.regex' => '手机号格式有误',
  125. ]);
  126. $password = $request->input('password');
  127. $user_id = $request->input('id');
  128. $admin = Admin::findOrFail($user_id);
  129. $admin->realname = $request->input('realname');
  130. $admin->team_id = $request->input('team_id');
  131. $admin->wx_id = $request->input('wx_id');
  132. $admin->phone = $request->input('phone');
  133. if($password){
  134. $admin->password = bcrypt($password);
  135. }
  136. $admin->save();
  137. $roles = $request->input('roles');
  138. $admin_role = new AdminRole();
  139. $admin_role->where('user_id', '=', $user_id)->delete();
  140. foreach($roles as $v){
  141. $admin_role = new AdminRole();
  142. $admin_role->user_id = $user_id;
  143. $admin_role->role_name = $v;
  144. $admin_role->create_time = time();
  145. $admin_role->save();
  146. }
  147. return redirect('/admin/admin/all')->with('info', '修改管理员成功');
  148. }
  149. /**
  150. * @return \Illuminate\View\View
  151. */
  152. public function teamcreate()
  153. {
  154. return view('admin/teamcreate');
  155. }
  156. /**
  157. * @param Request $request
  158. * @return \Illuminate\Http\RedirectResponse
  159. */
  160. public function teamstore(Request $request)
  161. {
  162. $this->validate($request, [
  163. 'name' => 'required|unique:teams',
  164. ], [
  165. 'name.required' => '团队名称不能为空',
  166. 'name.unique' => '团队名称已存在',
  167. ]);
  168. $data = array();
  169. $data['name'] = $request->input('name');
  170. $res = DB::table('teams')->insert($data);
  171. return redirect('/admin/admin/teamindex')->with('info', '添加成功');
  172. }
  173. /**
  174. * @param $id
  175. * @return \Illuminate\View\View
  176. */
  177. public function teamedit($id)
  178. {
  179. $team = DB::table('teams')->where('id', $id)->first();
  180. $team = json_decode(json_encode($team),true);
  181. return view('admin/teamedit', ['team' => $team]);
  182. }
  183. /**
  184. * @param Request $request
  185. * @return \Illuminate\Http\RedirectResponse
  186. */
  187. public function teamupdate(Request $request)
  188. {
  189. $this->validate($request, [
  190. 'name' => 'required|unique:teams',
  191. 'id' => 'required'
  192. ], [
  193. 'name.required' => '团队名称不能为空',
  194. 'name.unique' => '团队名称已存在',
  195. ]);
  196. $id = (int)$request->input('id');
  197. $data = array();
  198. $data['name'] = $request->input('name');
  199. $res = DB::table('teams')->where('id', $id)->update($data);
  200. return redirect('/admin/admin/teamindex')->with('info', '修改成功');
  201. }
  202. }