mirror of https://gitee.com/stylefeng/roses
【7.3.0】【system】增加一个获取菜单的前后台类型接口
parent
42ebe70f75
commit
e99e17c3a2
|
@ -136,4 +136,15 @@ public interface MenuServiceApi {
|
||||||
*/
|
*/
|
||||||
List<SysMenuButtonDTO> getTotalMenuButtonIdList(AntdvFrontTypeEnum antdvFrontTypeEnum);
|
List<SysMenuButtonDTO> getTotalMenuButtonIdList(AntdvFrontTypeEnum antdvFrontTypeEnum);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前用户拥有的菜单类型
|
||||||
|
* <p>
|
||||||
|
* 判断是拥有前台菜单,还是后台菜单,还是都有
|
||||||
|
*
|
||||||
|
* @param menuIds 用户所拥有的的所有菜单集合
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2022/10/13 21:38
|
||||||
|
*/
|
||||||
|
AntdvFrontTypeEnum getUserMenuType(List<Long> menuIds);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -547,6 +547,35 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
return menuButtonDTOS;
|
return menuButtonDTOS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AntdvFrontTypeEnum getUserMenuType(List<Long> menuIds) {
|
||||||
|
|
||||||
|
// 用户没有菜单,默认只返回前台菜单类型
|
||||||
|
if (ObjectUtil.isEmpty(menuIds)) {
|
||||||
|
return AntdvFrontTypeEnum.FRONT;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 判断菜单中有多少种类的菜单
|
||||||
|
LambdaQueryWrapper<SysMenu> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
|
queryWrapper.select(SysMenu::getAntdvFrontType);
|
||||||
|
queryWrapper.in(SysMenu::getMenuId, menuIds);
|
||||||
|
List<SysMenu> sysMenuList = this.list(queryWrapper);
|
||||||
|
|
||||||
|
// 获取各类菜单的数量
|
||||||
|
long frontTypes = sysMenuList.stream().filter(sysMenu -> AntdvFrontTypeEnum.FRONT.getCode().equals(sysMenu.getAntdvFrontType())).count();
|
||||||
|
long backendTypes = sysMenuList.stream().filter(sysMenu -> AntdvFrontTypeEnum.BACKEND.getCode().equals(sysMenu.getAntdvFrontType())).count();
|
||||||
|
|
||||||
|
if (frontTypes > 0 && backendTypes > 0) {
|
||||||
|
return AntdvFrontTypeEnum.TOTAL_SHOW;
|
||||||
|
} else if (frontTypes > 0) {
|
||||||
|
return AntdvFrontTypeEnum.FRONT;
|
||||||
|
} else if (backendTypes > 0) {
|
||||||
|
return AntdvFrontTypeEnum.BACKEND;
|
||||||
|
}
|
||||||
|
|
||||||
|
return AntdvFrontTypeEnum.FRONT;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SysMenu> getCurrentUserMenus(List<String> appCodeList, Boolean layuiVisibleFlag, Integer antdvFrontType) {
|
public List<SysMenu> getCurrentUserMenus(List<String> appCodeList, Boolean layuiVisibleFlag, Integer antdvFrontType) {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue