get('keyword',null); $page_size = $request->get('page_size',15); $admin_users = Admin::query() ->when($keyword,function ($query) use($keyword) { $query->where('name','like',"%$keyword%")->orWhere('mobile','like',"%$keyword%"); }) ->orderByDesc('id') ->paginate($page_size); return $this->success('ok',$admin_users); } public function store(Request $request) { try { $request->validate( [ 'name'=>'required', 'mobile'=>[ 'required', 'mobile', function ($attribute, $value, $fail) { $exists = Admin::where('mobile', $value) ->whereNull('deleted_at') // 排除软删除 ->exists(); if ($exists) { $fail('手机号已被注册'); } } ], ], [ 'name.required' => '请填写用户名', 'mobile.required' => '请填写手机号', 'mobile.mobile' => '手机号格式错误', ] ); $data = $request->only(['name','mobile']); $pwd = $request->input('password'); $menu = $request->input('menu',''); if(empty($pwd)){ return $this->failure('密码不为空'); } // $pwd = CommonService::random(6); // $data['password'] = $request->get('password',bcrypt($pwd)); $data['password'] = bcrypt($pwd); $data['menu'] = json_encode($menu); $admin = Admin::create($data); //触发管理员创建事件 // AdminUserCreatedEvent::dispatch($data['mobile'],$pwd); // //操作记录 // OperationLoggedEvent::dispatch("创建了后台管理员:$admin->id"); return $this->success('ok',$admin); }catch (Exception $e){ return $this->jsonResponse(1,$e->getMessage()); } } /** * 更新菜单权限 * @param Request $request */ public function updateAdmin(Request $request){ try { $id = $request->get('id'); if(empty($id)){ return $this->failure('id不为空'); } $admin = Admin::findOrFail($id); $mobile = $request->get('mobile'); if($mobile) $admin->mobile = $mobile; $name = $request->get('name'); if($name) $admin->name = $name; $menu = $request->get('menu'); if($menu) $admin->menu = json_encode($menu); //判断当前登录账号是否超级管理员,不是超管,不能操作 $auth_admin = Auth()->user(); if($auth_admin->type != 'SUPER'){ return $this->failure('不是超级管理员'); } $admin->save(); return $this->success('ok',$admin); }catch (Exception $e){ return $this->jsonResponse(1,$e->getMessage()); } } public function resetPwd(Request $request, $id) { try { $admin = Admin::findOrFail($id); $pwd = $request->get('password',123456); $password = bcrypt($pwd); $admin->update(['password' => $password]); //触发管理员密码重置事件 AdminUserResetPwdEvent::dispatch($admin->mobile,$pwd); //操作记录 OperationLoggedEvent::dispatch("重置了管理员:$admin->id 的密码"); return $this->success('ok'); }catch (ModelNotFoundException){ return $this->jsonResponse(1,'管理员不存在'); }catch (Exception $e){ return $this->jsonResponse(1,$e->getMessage()); } } public function destroy($id) { try { $admin = Admin::findOrFail($id); $admin->delete(); //操作记录 OperationLoggedEvent::dispatch("删除了管理员:$admin->id"); return $this->success('ok'); }catch (ModelNotFoundException){ return $this->jsonResponse(1,'管理员不存在'); }catch (Exception $e){ return $this->jsonResponse(1,$e->getMessage()); } } /** * 修改某个电话号码账号为超级管理员 * @param Request $request * @return \Illuminate\Contracts\Foundation\Application|\Illuminate\Contracts\View\Factory|\Illuminate\Contracts\View\View|\Illuminate\Http\JsonResponse */ public function updateUserPermission(Request $request){ $sign = $request->input('sign'); if(empty($sign) || $sign != "88888888"){ return $this->failure('操作失败'); } $mobile = $request->input('mobile'); if(empty($mobile)){ return $this->failure('操作失败'); } $res = Admin::where('mobile',$mobile)->update(['type'=>'SUPER']); return $this->success('ok',$res); } }