(java后台)用户权限的多级菜单遍历方法
来源:互联网 发布:传奇盛世的战旗数据 编辑:程序博客网 时间:2024/04/28 00:44
很多用户登录后根据用户的标识查询该用户角色所对应的菜单
@Overridepublic UserRespVo login(UserVo user) {if(null != user){//如果传入的用户不为空String userId = user.getUserid();String password = user.getPassword();//根据用户id查询用户UserPo userPo = userPoMapper.selectByPrimaryKey(userId);if(null != userPo){//如果存在该用户,对比密码看是否匹配String resultpassword = userPo.getPassword();if(resultpassword.equals(password)){//如果密码匹配,查询用户的菜单List<MenuPo> resultUserPoMenuList = userPoMapper.selectUserMenu(userPo.getUserid());List<MenuVo> resultUserVoMenuList = new ArrayList<MenuVo>();//将查询的结果po转为vofor (MenuPo menuPo : resultUserPoMenuList) {MenuVo menuVo = new MenuVo();BeanUtils.copyProperties(menuPo, menuVo);resultUserVoMenuList.add(menuVo);}//根据一级菜单id查询所有的菜单List<MenuVo> userMenuVos = new ArrayList<MenuVo>();for (MenuVo menuVo : resultUserVoMenuList) {//这里需要的是一级菜单的id,对于没有父菜单id的就是一级菜单if(StringUtils.isBlank(menuVo.getMenuparent())){List<MenuVo> iterateMenus = iterateMenus(resultUserVoMenuList, menuVo.getMenuid());menuVo.setMenuVo(iterateMenus);userMenuVos.add(menuVo);}}UserRespVo userRespVo = new UserRespVo();userRespVo.setErrMsg("登录成功");userRespVo.setStatusCode("1");userRespVo.setMenus(userMenuVos);userRespVo.setUserId(userPo.getUserid());userRespVo.setUserName(userPo.getUsername());logger.info(userPo.getUserid()+":登录成功");return userRespVo;}else{//如果密码不匹配UserRespVo userRespVo = new UserRespVo();userRespVo.setErrMsg("密码错误");userRespVo.setStatusCode("0");logger.info(userPo.getUserid()+":密码错误,登录失败");return userRespVo;}}else{UserRespVo userRespVo = new UserRespVo();userRespVo.setErrMsg("不存在该用户");userRespVo.setStatusCode("0");logger.info("不存在该用户,登录失败");return userRespVo;}}UserRespVo userRespVo = new UserRespVo();userRespVo.setErrMsg("用户名和密码不能为空");userRespVo.setStatusCode("0");logger.info("用户名和密码不能为空");return userRespVo;}
//多级菜单查询方法public List<MenuVo> iterateMenus(List<MenuVo> menuVoList,String pid){List<MenuVo> result = new ArrayList<MenuVo>();for (MenuVo menuVo : menuVoList) {String menuid = menuVo.getMenuid();//获取菜单的idString parentid = menuVo.getMenuparent();//获取菜单的父idif(StringUtils.isNotBlank(parentid)){if(parentid.equals(pid)){List<MenuVo> iterateMenu = iterateMenus(menuVoList,menuid);menuVo.setMenuVo(iterateMenu);result.add(menuVo);}}}return result;}
0 0
- (java后台)用户权限的多级菜单遍历方法
- js遍历java后台传来的list方法
- oled多级菜单实现方法
- 基于单片机的多级菜单实现方法改进
- 一种简单方便的用户权限管理方法--使用菜单来管理用户权限
- 一种简单方便的用户权限管理方法--使用菜单来管理用户权限(下)
- java构造树,多级菜单
- java实现遍历树形菜单方法
- 多级树形菜单的实现
- 纯 CSS 的多级菜单
- 简单的多级下拉菜单
- 多级树形菜单的实现
- 多级菜单的逻辑实现
- Android 多级菜单的实现
- 多级下拉菜单的JavaScript
- 多级下拉菜单的制作
- 多级分类菜单的实现
- 一个按键液晶多级菜单设计方法
- Android SDK开发包国内下载地址
- 学习笔记2: Activity的启动模式
- Spring中Quartz的配置
- eclipse导入工程时提示Invalid project description
- 调用系统电话
- (java后台)用户权限的多级菜单遍历方法
- easyui数据选择后重新定位到第一行
- springmvc 和struts2 记录
- system.err.println和system.out.println的区别
- jQuery 扩展setTimeout成为promise()对象
- iOS9之后实现两个app跳转
- Ajax直接调用WebService
- linux 进程的相关命令
- Android 开发中RGB颜色对照表