mirror of https://gitee.com/stylefeng/roses
【menu】整理菜单的两个通用service
parent
3f634f8eef
commit
c3e1a6e698
|
@ -25,10 +25,10 @@ Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意
|
||||||
package cn.stylefeng.roses.kernel.menu.modular.service;
|
package cn.stylefeng.roses.kernel.menu.modular.service;
|
||||||
|
|
||||||
import cn.stylefeng.roses.kernel.menu.modular.entity.SysMenu;
|
import cn.stylefeng.roses.kernel.menu.modular.entity.SysMenu;
|
||||||
import com.baomidou.mybatisplus.extension.service.IService;
|
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.menu.SysMenuRequest;
|
import cn.stylefeng.roses.kernel.system.pojo.menu.SysMenuRequest;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.menu.tree.LoginMenuTreeNode;
|
import cn.stylefeng.roses.kernel.system.pojo.menu.tree.LoginMenuTreeNode;
|
||||||
import cn.stylefeng.roses.kernel.system.pojo.menu.tree.MenuBaseTreeNode;
|
import cn.stylefeng.roses.kernel.system.pojo.menu.tree.MenuBaseTreeNode;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.IService;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -87,6 +87,23 @@ public interface SysMenuService extends IService<SysMenu> {
|
||||||
*/
|
*/
|
||||||
List<SysMenu> list(SysMenuRequest sysMenuRequest);
|
List<SysMenu> list(SysMenuRequest sysMenuRequest);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前用户的所有菜单
|
||||||
|
*
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2020/12/27 18:11
|
||||||
|
*/
|
||||||
|
List<SysMenu> getCurrentUserMenus();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取当前用户的某个应用下的菜单
|
||||||
|
*
|
||||||
|
* @param appCode 应用编码
|
||||||
|
* @author fengshuonan
|
||||||
|
* @date 2020/12/27 18:11
|
||||||
|
*/
|
||||||
|
List<SysMenu> getCurrentUserMenus(String appCode);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取某个应用的菜单,用于系统顶部切换菜单(AntDesign前端框架)
|
* 获取某个应用的菜单,用于系统顶部切换菜单(AntDesign前端框架)
|
||||||
*
|
*
|
||||||
|
|
|
@ -27,6 +27,7 @@ package cn.stylefeng.roses.kernel.menu.modular.service.impl;
|
||||||
import cn.hutool.core.bean.BeanUtil;
|
import cn.hutool.core.bean.BeanUtil;
|
||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.util.ObjectUtil;
|
import cn.hutool.core.util.ObjectUtil;
|
||||||
|
import cn.hutool.core.util.StrUtil;
|
||||||
import cn.stylefeng.roses.kernel.auth.api.context.LoginContext;
|
import cn.stylefeng.roses.kernel.auth.api.context.LoginContext;
|
||||||
import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser;
|
import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser;
|
||||||
import cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleRoleInfo;
|
import cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleRoleInfo;
|
||||||
|
@ -148,8 +149,14 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<LoginMenuTreeNode> getAppMenusAntDesign(String appCode) {
|
public List<SysMenu> getCurrentUserMenus() {
|
||||||
|
return getCurrentUserMenus(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SysMenu> getCurrentUserMenus(String appCode) {
|
||||||
|
|
||||||
|
// 获取当前用户所有的菜单id
|
||||||
List<Long> menuIdList = getCurrentUserMenuIds();
|
List<Long> menuIdList = getCurrentUserMenuIds();
|
||||||
|
|
||||||
// 当前用户没有菜单
|
// 当前用户没有菜单
|
||||||
|
@ -162,12 +169,24 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
|
||||||
queryWrapper.in(SysMenu::getMenuId, menuIdList)
|
queryWrapper.in(SysMenu::getMenuId, menuIdList)
|
||||||
.eq(SysMenu::getStatusFlag, StatusEnum.ENABLE.getCode())
|
.eq(SysMenu::getStatusFlag, StatusEnum.ENABLE.getCode())
|
||||||
.eq(SysMenu::getDelFlag, YesOrNotEnum.N.getCode())
|
.eq(SysMenu::getDelFlag, YesOrNotEnum.N.getCode())
|
||||||
.eq(SysMenu::getAppCode, appCode)
|
|
||||||
.orderByAsc(SysMenu::getMenuSort);
|
.orderByAsc(SysMenu::getMenuSort);
|
||||||
List<SysMenu> sysMenuList = this.list(queryWrapper);
|
|
||||||
|
// 如果应用编码不为空,则拼接应用编码
|
||||||
|
if (StrUtil.isNotBlank(appCode)) {
|
||||||
|
queryWrapper.eq(SysMenu::getAppCode, appCode);
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.list(queryWrapper);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<LoginMenuTreeNode> getAppMenusAntDesign(String appCode) {
|
||||||
|
|
||||||
|
// 获取当前用户的所有菜单
|
||||||
|
List<SysMenu> currentUserMenus = this.getCurrentUserMenus(appCode);
|
||||||
|
|
||||||
// 转换成登录菜单格式
|
// 转换成登录菜单格式
|
||||||
return MenuFactory.convertSysMenuToLoginMenu(sysMenuList);
|
return MenuFactory.convertSysMenuToLoginMenu(currentUserMenus);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
Loading…
Reference in New Issue