package com.sandu.ximon.admin.service; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.sandu.common.service.impl.BaseServiceImpl; import com.sandu.ximon.dao.domain.AdminRoleRelation; import com.sandu.ximon.dao.domain.Menu; import com.sandu.ximon.dao.domain.RoleMenuRelation; import com.sandu.ximon.dao.mapper.AdminRoleRelationMapper; import com.sandu.ximon.dao.mapper.MenuMapper; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import java.util.List; import java.util.Set; import java.util.stream.Collectors; /** * @author chenjiantian * @date 2021/11/24 11:15 */ @Service @AllArgsConstructor public class MenuService extends BaseServiceImpl { private final RoleMenuRelationService roleMenuRelationService; /** * 获取角色下的菜单 */ public List listByRoleIds(List roleIdList) { List menuIdList = roleMenuRelationService.list(Wrappers.lambdaQuery(RoleMenuRelation.class).in(RoleMenuRelation::getRoleId, roleIdList).select(RoleMenuRelation::getMenuId)) .stream().map(RoleMenuRelation::getMenuId).distinct().collect(Collectors.toList()); if (CollectionUtil.isEmpty(menuIdList)) { return null; } List menus = listByIds(menuIdList); return menus; } }