| | |
| | | @Override |
| | | public List<SysMenu> getMenu(String userId) { |
| | | List<MasterAuthor> masterAuthors = selectList(new EntityWrapper<MasterAuthor>().eq(Constant.TYPE, MasterAuthorType.user).eq(MasterAuthorController.character_id, userId)); |
| | | if (masterAuthors.size() == 0) { |
| | | if (masterAuthors.isEmpty()) { |
| | | //user 获取role |
| | | List<TUserRole> roles = userRoleService.selectList(new EntityWrapper<TUserRole>().eq("user_id", userId)); |
| | | List<String> roleIds = roles.stream().map(tUserRole -> tUserRole.getRoleId()).collect(Collectors.toList()); |
| | | masterAuthors = selectList(new EntityWrapper<MasterAuthor>().eq(Constant.TYPE, MasterAuthorType.role).in(MasterAuthorController.character_id, roleIds)); |
| | | } |
| | | List<MasterAuthor> groupAuthors = getUserGroupAuthor(userId); |
| | | masterAuthors.addAll(groupAuthors); |
| | | List<String> menuIds = masterAuthors.stream().map(masterAuthor -> masterAuthor.getMenuId()).collect(Collectors.toList()); |
| | | LinkedHashSet<String> strings = new LinkedHashSet<>(menuIds); |
| | | LinkedHashSet<String> byParentId = menuService.getByParentId(strings); |
| | | List<SysMenu> sysMenus = menuService.selectBatchIds(byParentId); |
| | | return sysMenus; |
| | | } |
| | | |
| | | private List<MasterAuthor> getUserGroupAuthor(String userId) { |
| | | //TODO |
| | | List<MasterAuthor> result = new ArrayList<>(); |
| | | List<String> groupIds = new ArrayList<>(); |
| | | for (String groupId : groupIds) { |
| | | List<MasterAuthor> masterAuthors = selectList( |
| | | new EntityWrapper<MasterAuthor>() |
| | | .eq(Constant.TYPE, MasterAuthorType.user) |
| | | .eq("is_group", true) |
| | | .eq(MasterAuthorController.character_id, groupId)); |
| | | if (masterAuthors.isEmpty()) { |
| | | //TODO getRoleList; |
| | | List<String> roleIds = new ArrayList<>(); |
| | | masterAuthors = selectList(new EntityWrapper<MasterAuthor>().eq("is_group", true).eq(Constant.TYPE, MasterAuthorType.role).in(MasterAuthorController.character_id, roleIds)); |
| | | } |
| | | result.addAll(masterAuthors); |
| | | } |
| | | |
| | | return result; |
| | | |
| | | } |
| | | |
| | | @Override |
| | |
| | | List<String> roleIds = roles.stream().map(tUserRole -> tUserRole.getRoleId()).collect(Collectors.toList()); |
| | | masterAuthors = selectList(new EntityWrapper<MasterAuthor>().eq(Constant.TYPE, MasterAuthorType.role).in(MasterAuthorController.character_id, roleIds).eq("maintain_field_id", maintainFieldId)); |
| | | } |
| | | |
| | | List<MasterAuthor> groupAuthors = getUserGroupAuthor(userId); |
| | | masterAuthors.addAll(groupAuthors); |
| | | |
| | | if (masterAuthors.isEmpty()) { |
| | | return null; |
| | | } |
| | |
| | | } |
| | | |
| | | private boolean checkUnFilterAuthor(String userId, String tableName) { |
| | | List<MasterAuthor> masterAuthors = selectList(new EntityWrapper<MasterAuthor>().eq(Constant.TYPE, MasterAuthorType.user).eq(MasterAuthorController.character_id, userId).eq("table_name", tableName)); |
| | | List<MasterAuthor> masterAuthors = selectList(new EntityWrapper<MasterAuthor>().eq(Constant.TYPE, MasterAuthorType.user).eq("is_group", false).eq(MasterAuthorController.character_id, userId).eq("table_name", tableName)); |
| | | long isAll = masterAuthors.stream().filter(masterAuthor -> masterAuthor.getMaintainFieldId().equalsIgnoreCase(Constant.All)).count(); |
| | | if (isAll > 0) { |
| | | return true; |
| | |
| | | List<String> roleIds = roles.stream().map(tUserRole -> tUserRole.getRoleId()).collect(Collectors.toList()); |
| | | masterAuthors = selectList(new EntityWrapper<MasterAuthor>().eq("table_name", maintain.getTableName()).eq(Constant.TYPE, MasterAuthorType.role).in(MasterAuthorController.character_id, roleIds).eq("maintain_field_id", maintainFieldId)); |
| | | } |
| | | |
| | | List<MasterAuthor> groupAuthors = getUserGroupAuthor(userId); |
| | | masterAuthors.addAll(groupAuthors); |
| | | |
| | | if (masterAuthors.isEmpty()){ |
| | | return Constant.WHERE_DEFAULTUN; |
| | | } |