all(); $search_name=$input['search_name']; $page_size=$input['page_size']; $page_index=$input['page_index']; $count=($page_index-1)*$page_size; $roles = DB::table('roles') ->select('id','name','permissions') ->where('name','like','%'.$search_name.'%') ->where('is_del','0') ->orderBy('id','desc') ->skip($count)->take($page_size)->get(); if($roles){ return response()->json([ 'error_code'=>200, 'msg'=>'角色列表', 'data'=> $roles, ]); }else{ return response()->json([ 'error_code'=>0, 'msg'=>'获取失败', ]); } } //获取权限信息 public function permission(){ $routes_groups = PermissionService::getPermissionGroupsMap(); if($routes_groups){ return response()->json([ 'error_code'=>200, 'msg'=>'权限列表', 'data'=>$routes_groups, ]); }else{ return response()->json([ 'error_code'=>0, 'msg'=>'获取失败', ]); } } //验证添加角色 public function upload(Request $request){ $input = $request->all(); //验证判断 $rules = [ 'name'=>'required|unique:roles|max:16', 'permissions'=>'required', ]; $messages=[ 'name.required'=>'角色名称不能为空.', 'name.max'=>'角色名称不能超过16个字符.', // 'name.unique'=>'角色名称已存在.', 'permissions.required'=>'角色权限不能为空.', ]; $validator = Validator::make($input, $rules, $messages); if($validator->fails()){ return response()->json([ 'error_code'=>'41113', 'msg'=>$validator->errors()->first() ]); } $count=DB::table('roles')->where('name',$input['name'])->where('is_del','0')->count(); if($count>0){ return response()->json([ 'error_code'=>419, 'msg'=>'角色名称已存在', ]); } $row= Role::create([ 'name'=>$input['name'], 'permissions'=>$input['permissions'], 'is_del'=>'0', 'created_at'=>date("Y-m-d H:i:s"), 'updated_at'=>date("Y-m-d H:i:s"), ]); if($row){ return response()->json([ 'error_code'=>200, 'msg'=>'添加成功', ]); }else{ return response()->json([ 'error_code'=>0, 'msg'=>'添加失败', ]); } } //编辑角色 public function edit(Request $request){ $input=$request->all(); $roleid=$input['id']; $roles =DB::table('roles')->where("id",$roleid)->get(); if($roles){ return response()->json([ 'error_code'=>200, 'msg'=>'获取成功', 'data'=>$roles ]); }else{ return response()->json([ 'error_code'=>0, 'msg'=>'获取失败' ]); } } //更新角色 public function update(Request $request){ $input = $request->all(); $rules = [ 'name'=>'required|max:16', 'permissions'=>'required', ]; $messages=[ 'name.required'=>'角色名称不能为空.', 'name.max'=>'角色名称不能超过16个字符.', 'permissions.required'=>'角色权限不能为空.', ]; $validator = Validator::make($input, $rules, $messages); if($validator->fails()){ return response()->json([ 'error_code'=>'41113', 'msg'=>$validator->errors()->first() ]); } $role=DB::table('roles')->where('id',$input['id'])->first(); if($role->name!=$input['name'] && $input['name']!=''){ $count=DB::table('roles')->where('name',$input['name'])->count(); if($count==0){ $data['name'] = $input['name']; }else{ return response()->json([ 'error_code'=>419, 'msg'=>'角色名称已存在', ]); } } if($input['permissions']!=$role->permissions && $input['permissions']!=''){ $data['permissions'] = $input['permissions']; } $data['updated_at']=date("Y-m-d H:i:s"); $row=DB::table('roles')->where("id",$input['id'])->update($data); if($row){ return response()->json([ 'error_code'=>200, 'msg'=>'修改成功', ]); }else{ return response()->json([ 'error_code'=>0, 'msg'=>'修改失败', ]); } } //删除角色 public function destroy(Request $request) { $input=$request->all(); $roleid=$input['id']; $n=DB::table('admins')->where('roleid',$roleid)->count(); if($n>0){ $data['is_del']='1'; //删除角色 $data['del_aid']=Auth::guard('admin')->user()->id; $data['deleted_at']=date("Y-m-d H:i:s"); $row=DB::table('roles')->where('id',$roleid)->update($data); if($row){ return response()->json([ 'error_code'=>200, 'msg'=>'删除成功', ]); }else{ return response()->json([ 'error_code'=>0, 'msg'=>'删除失败', ]); } }else{ return response()->json([ 'error_code'=>201, 'msg'=>'管理员正在使用该角色,不能删除', ]); } } }