package com.yunhui.web.controller;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sun.org.apache.xpath.internal.SourceTree;
import com.yunhui.bean.po.Role;
import com.yunhui.bean.po.RolePermisson;
import com.yunhui.service.interfaces.RoleService;
import com.yunhui.util.ResponseEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author: Yun
* @Description:
* @Date: Created in 2017-12-09 10:04
*/
@RestController
public class RoleController {
@Autowired
RoleService roleService;
/**
* 查询角色列表
* @param role 查询参数
* @param pn 页码
* @param pageSize 每页显示数量
* @param notAllowPage 不允许分页 参数大于0时生效
* @return
*/
@GetMapping("/role")
public ResponseEntity listRole(Role role, @RequestParam(value="pn",defaultValue = "1")Integer pn, @RequestParam(value="pageSize",defaultValue = "10")Integer pageSize,@RequestParam(value="notAllowPage",defaultValue ="0") Integer notAllowPage){
if(notAllowPage>0){
List<Role> list=roleService.listRole(role);
return ResponseEntity.success().add("list",list);
}else{
PageHelper.startPage(pn,pageSize);
List<Role> list=roleService.listRole(role);
PageInfo<Role> pageInfo=new PageInfo<>(list,10);
return ResponseEntity.success().add("pageInfo",pageInfo);
}
}
@PostMapping("/role")
public ResponseEntity addOrEditRole(Role role){
if(role==null){
return ResponseEntity.error("参数错误");
}
if(role.getRoleId()==null){//新增
Integer result=roleService.add(role);
if(result>0){
return ResponseEntity.success();
}else{
return ResponseEntity.error("新增失败");
}
}else{
Integer result=roleService.update(role);
if(result>0){
return ResponseEntity.success();
}else{
return ResponseEntity.error("修改失败");
}
}
}
@DeleteMapping("/role/{roleId}")
public ResponseEntity deleteRole(@PathVariable("roleId")Integer roleId){
Integer result=roleService.delete(roleId);
if(result>0){
return ResponseEntity.success();
}else{
return ResponseEntity.error("删除失败");
}
}
@GetMapping("/role/{roleId}")
public ResponseEntity getRole(@PathVariable("roleId")Integer roleId){
Role role=roleService.selectByPrimaryKey(roleId);
return ResponseEntity.success().add("role",role);
}
/**
* 根据角色ID获取此角色拥有的权限Id的集合
* @param roleId
* @return
*/
@GetMapping("/role-permission/{roleId}")
public ResponseEntity getRolePermission(@PathVariable("roleId")Integer roleId){
List<RolePermisson> rolePermissons = roleService.listRolePermisson(roleId);
List<Integer> permissonIds=rolePermissons.stream().map(RolePermisson::getPermissonId).collect(Collectors.toList());
return ResponseEntity.success().add("permissonIds",permissonIds);
}
@PostMapping(value = "/role-authorization/{roleId}")
public ResponseEntity RoleAuthorization(@PathVariable("roleId")Integer roleId,@RequestParam("permissonIds[]") Integer[] permissonIds){
List<Integer> ids= Arrays.asList(permissonIds);
List<RolePermisson> list=new ArrayList<>();
RolePermisson rolePermisson=null;
for(Integer id:ids){
rolePermisson=new RolePermisson();
rolePermisson.setRoleId(roleId);
rolePermisson.setPermissonId(id);
list.add(rolePermisson);
}
Integer result=roleService.batchInsert(list);
if(result>0){
return ResponseEntity.success();
}else{
return ResponseEntity.error("授权失败!");
}
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
基于springboot的RBAC权限管理演示系统
共409个文件
gif:150个
xml:89个
js:40个
5星 · 超过95%的资源 需积分: 50 122 下载量 185 浏览量
2018-01-17
16:22:02
上传
评论 6
收藏 26.7MB ZIP 举报
温馨提示
这是一个RBAC权限管理系统,即基于角色的用户权限控制,,使用springboot框架开发,UI使用的是layui。。 演示地址:http://116.196.66.248:8090/page/index 欢迎大家下载。。。。另外,建议使用IDEA导入项目。。
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot的RBAC权限管理演示系统 (409个子文件)
UserController.class 6KB
RoleController.class 6KB
UserServiceImpl.class 4KB
PermissionController.class 4KB
RoleServiceImpl.class 3KB
ResponseEntity.class 2KB
PermissionServiceImpl.class 2KB
User.class 2KB
Permisson.class 2KB
MBGUtil.class 2KB
RolePermisson.class 1KB
TimeSchedule.class 975B
MyBatisConfiguration.class 957B
RoleService.class 947B
UserRole.class 910B
BootStrap.class 902B
Role.class 899B
CoreController.class 884B
PermissionService.class 855B
PermissonMapper.class 845B
RolePermissonMapper.class 829B
PermissonView.class 828B
LogFactory.class 821B
UserRoleMapper.class 743B
UserService.class 672B
RolePermissonVO.class 616B
UserMapper.class 501B
RoleMapper.class 501B
layui.css 50KB
layui.css 50KB
layer.css 14KB
layer.css 14KB
layui.mobile.css 10KB
layui.mobile.css 10KB
xadmin.css 9KB
xadmin.css 9KB
laydate.css 7KB
laydate.css 7KB
code.css 1KB
code.css 1KB
font.css 505B
font.css 505B
iconfont.eot 48KB
iconfont.eot 48KB
iconfont.eot 32KB
iconfont.eot 32KB
59.gif 10KB
59.gif 10KB
22.gif 10KB
22.gif 10KB
24.gif 8KB
24.gif 8KB
13.gif 7KB
13.gif 7KB
16.gif 7KB
16.gif 7KB
39.gif 6KB
39.gif 6KB
64.gif 6KB
64.gif 6KB
63.gif 6KB
63.gif 6KB
50.gif 6KB
50.gif 6KB
loading-0.gif 6KB
loading-0.gif 6KB
4.gif 6KB
4.gif 6KB
1.gif 5KB
1.gif 5KB
42.gif 5KB
42.gif 5KB
71.gif 5KB
71.gif 5KB
21.gif 5KB
21.gif 5KB
20.gif 5KB
20.gif 5KB
29.gif 5KB
29.gif 5KB
70.gif 4KB
70.gif 4KB
5.gif 4KB
5.gif 4KB
17.gif 4KB
17.gif 4KB
27.gif 4KB
27.gif 4KB
9.gif 4KB
9.gif 4KB
44.gif 4KB
44.gif 4KB
11.gif 4KB
11.gif 4KB
8.gif 4KB
8.gif 4KB
3.gif 4KB
3.gif 4KB
23.gif 4KB
23.gif 4KB
共 409 条
- 1
- 2
- 3
- 4
- 5
资源评论
- 东芃93942019-07-09资料全,还是比较新的,可以用。下载下来还是很愉快的
剑火6
- 粉丝: 15
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功