首页>代码>springboot2 + mybatis-plus3 +shiro1.4 +layui细颗粒度网站后台用户权限管理系统>/comadmin/src/main/java/com/xiaoshu/admin/controller/RoleController.java
package com.xiaoshu.admin.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xiaoshu.admin.entity.Menu; import com.xiaoshu.admin.entity.Role; import com.xiaoshu.admin.entity.User; import com.xiaoshu.admin.service.MenuService; import com.xiaoshu.admin.service.RoleService; import com.xiaoshu.admin.service.UserService; import com.xiaoshu.common.annotation.SysLog; import com.xiaoshu.common.base.PageData; import com.xiaoshu.common.util.ResponseEntity; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; import org.springframework.web.util.WebUtils; import javax.servlet.ServletRequest; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @Controller @RequestMapping("admin/system/role") public class RoleController { @Autowired RoleService roleService; @Autowired UserService userService; @Autowired MenuService menuService; @GetMapping(value = "list") public String list(){ return "admin/role/list"; } @RequiresPermissions("sys:role:list") @PostMapping("list") @ResponseBody public PageData<Role> list(@RequestParam(value = "page",defaultValue = "1")Integer page, @RequestParam(value = "limit",defaultValue = "10")Integer limit, ServletRequest request){ Map map = WebUtils.getParametersStartingWith(request, "s_"); PageData<Role> rolePageData = new PageData<>(); QueryWrapper<Role> roleWrapper = new QueryWrapper<>(); roleWrapper.eq("del_flag",false); if(!map.isEmpty()){ String keys = (String) map.get("key"); if(StringUtils.isNotBlank(keys)) { roleWrapper.like("name", keys); } } IPage<Role> rolePage = roleService.page(new Page<>(page,limit),roleWrapper); rolePageData.setCount(rolePage.getTotal()); rolePageData.setData(setUserToRole(rolePage.getRecords())); return rolePageData; } private List<Role> setUserToRole(List<Role> roles){ roles.forEach(r -> { if(StringUtils.isNotBlank(r.getCreateId())){ User u = userService.findUserById(r.getCreateId()); if(StringUtils.isBlank(u.getNickName())){ u.setNickName(u.getLoginName()); } r.setCreateUser(u); } if(StringUtils.isNotBlank(r.getUpdateId())){ User u = userService.findUserById(r.getUpdateId()); if(StringUtils.isBlank(u.getNickName())){ u.setNickName(u.getLoginName()); } r.setUpdateUser(u); } }); return roles; } @GetMapping("add") public String add(ModelMap modelMap){ Map<String,Object> map = new HashMap(); map.put("parentId",null); map.put("isShow",false); List<Menu> menuList = menuService.selectAllMenus(map); modelMap.put("menuList",menuList); return "admin/role/add"; } @RequiresPermissions("sys:role:add") @PostMapping("add") @ResponseBody @SysLog("保存新增角色数据") public ResponseEntity add(@RequestBody Role role){ if(StringUtils.isBlank(role.getName())){ return ResponseEntity.failure("角色名称不能为空"); } if(roleService.getRoleNameCount(role.getName())>0){ return ResponseEntity.failure("角色名称已存在"); } roleService.saveRole(role); return ResponseEntity.success("操作成功"); } @GetMapping("edit") public String edit(String id,ModelMap modelMap){ Role role = roleService.getRoleById(id); String menuIds = null; if(role != null) { menuIds = role.getMenuSet().stream().map(menu -> menu.getId()).collect(Collectors.joining(",")); } Map<String,Object> map = new HashMap(); map.put("parentId",null); map.put("isShow",Boolean.FALSE); List<Menu> menuList = menuService.selectAllMenus(map); modelMap.put("role",role); modelMap.put("menuList",menuList); modelMap.put("menuIds",menuIds); return "admin/role/edit"; } @RequiresPermissions("sys:role:edit") @PostMapping("edit") @ResponseBody @SysLog("保存编辑角色数据") public ResponseEntity edit(@RequestBody Role role){ if(StringUtils.isBlank(role.getId())){ return ResponseEntity.failure("角色ID不能为空"); } if(StringUtils.isBlank(role.getName())){ return ResponseEntity.failure("角色名称不能为空"); } Role oldRole = roleService.getRoleById(role.getId()); if(!oldRole.getName().equals(role.getName())){ if(roleService.getRoleNameCount(role.getName())>0){ return ResponseEntity.failure("角色名称已存在"); } } roleService.updateRole(role); return ResponseEntity.success("操作成功"); } @RequiresPermissions("sys:role:delete") @PostMapping("delete") @ResponseBody @SysLog("删除角色数据") public ResponseEntity delete(@RequestParam(value = "id",required = false)String id){ if(StringUtils.isBlank(id)){ return ResponseEntity.failure("角色ID不能为空"); } Role role = roleService.getRoleById(id); roleService.deleteRole(role); return ResponseEntity.success("操作成功"); } @RequiresPermissions("sys:role:delete") @PostMapping("deleteSome") @ResponseBody @SysLog("多选删除角色数据") public ResponseEntity deleteSome(@RequestBody List<Role> roles){ if(roles == null || roles.size()==0){ return ResponseEntity.failure("请选择需要删除的角色"); } for (Role r : roles){ roleService.deleteRole(r); } return ResponseEntity.success("操作成功"); } }
最近下载更多
最近浏览更多
xiaofei1219 LV1
2023年11月23日
wnnmmb LV2
2023年10月18日
1048571230 LV2
2023年9月20日
微信网友_6247573567180800 LV2
2023年8月31日
tyyeng LV18
2023年8月1日
hhvivi LV2
2023年7月2日
include LV8
2023年6月20日
Rucoding LV7
2023年6月2日
readforlife
2023年4月11日
暂无贡献等级
wiston
2023年3月30日
暂无贡献等级