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<MenuMapper, Menu> {
|
|
private final RoleMenuRelationService roleMenuRelationService;
|
/**
|
* 获取角色下的菜单
|
*/
|
public List<Menu> listByRoleIds(List<Long> roleIdList) {
|
List<Long> 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<Menu> menus = listByIds(menuIdList);
|
return menus;
|
}
|
}
|