| | |
| | | package com.qxueyou.scc.user.service.impl; |
| | | |
| | | import com.qxueyou.scc.admin.classes.model.ClsClass; |
| | | import com.qxueyou.scc.base.model.Result; |
| | | import com.qxueyou.scc.base.service.impl.CommonAppService; |
| | | import com.qxueyou.scc.base.util.ClientUtils; |
| | |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 角色 |
| | |
| | | public class UserRoleService extends CommonAppService implements IUserRoleService { |
| | | @Autowired |
| | | UserRoleDAO dao; |
| | | |
| | | |
| | | /** |
| | | * 得到菜单 |
| | |
| | | |
| | | @Override |
| | | public Result queryRoleDetail(String roleId) { |
| | | List<Map<String, Object>> findMenuLstById = dao.findMenuLstById(roleId); |
| | | List<Map<String, Object>> findRoleMenuLstById = dao.findMenuLstById(roleId); |
| | | UserRole userRole = read(UserRole.class, roleId); |
| | | ///////////////////////////////////////////////////新增方法 |
| | | |
| | | |
| | | StringBuffer hql=new StringBuffer( "select m.name as name ,m.menuId as menuId ,m.parentMenuId as parentMenuId ,m.level as level from SysMenu m where deleteFlag is false "); |
| | | //获取所有菜单 |
| | | List<SysMenu> sysMenusAll = new ArrayList<>(); |
| | | List<Map<String, Object>> listWithMapByHql = findListWithMapByHql(hql.toString(), CollectionUtils.newObjectMap()); |
| | | //将map转化成SysMenu实体类 |
| | | for (Map<String, Object> stringObjectMap : listWithMapByHql) { |
| | | SysMenu sysMenu = new SysMenu(); |
| | | sysMenu.setMenuId(stringObjectMap.get("menuId").toString()); |
| | | sysMenu.setName(stringObjectMap.get("name").toString()); |
| | | sysMenu.setParentMenuId(stringObjectMap.get("parentMenuId").toString()); |
| | | sysMenu.setLevel(Integer.parseInt(stringObjectMap.get("level").toString())); |
| | | sysMenusAll.add(sysMenu); |
| | | } |
| | | //获取一级菜单 |
| | | List<SysMenu> firstMenuList = sysMenusAll.stream().filter |
| | | //过滤出一级菜单 |
| | | (s -> s.getLevel()==0) |
| | | // 返回list集合形式 |
| | | .collect(Collectors.toList()); |
| | | // 遍历一级菜单,构造菜单树 |
| | | for (SysMenu menu : firstMenuList) { |
| | | getChildrenList(menu, sysMenusAll); |
| | | } |
| | | ///////////////////////////////////////////////////新增方法 |
| | | return new Result(true, "success", |
| | | CollectionUtils.newObjectMap("roleName", userRole.getName(), "menuLst", findMenuLstById)); |
| | | CollectionUtils.newObjectMap("roleName", userRole.getName(), "menuLstAll", firstMenuList,"roleMenuLstById",findRoleMenuLstById)); |
| | | } |
| | | |
| | | public SysMenu getChildrenList(SysMenu sysMenu, List<SysMenu> sysMenuList ) { |
| | | for (SysMenu menu : sysMenuList) { |
| | | if (menu.getParentMenuId().equals(sysMenu.getMenuId())) { |
| | | |
| | | sysMenu.getChildrenList().add(getChildrenList(menu, sysMenuList)); |
| | | } |
| | | } |
| | | return sysMenu; |
| | | } |
| | | |
| | | @Override |
| | |
| | | return dao.addTeachers(teacherIds, roleId); |
| | | } |
| | | |
| | | |
| | | } |