【menu】整理菜单的两个通用service

pull/3/head
fengshuonan 2020-12-27 18:21:53 +08:00
parent 3f634f8eef
commit c3e1a6e698
2 changed files with 41 additions and 5 deletions

View File

@ -25,10 +25,10 @@ Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意
package cn.stylefeng.roses.kernel.menu.modular.service;
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.tree.LoginMenuTreeNode;
import cn.stylefeng.roses.kernel.system.pojo.menu.tree.MenuBaseTreeNode;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
@ -87,6 +87,23 @@ public interface SysMenuService extends IService<SysMenu> {
*/
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
*

View File

@ -27,6 +27,7 @@ package cn.stylefeng.roses.kernel.menu.modular.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
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.pojo.login.LoginUser;
import cn.stylefeng.roses.kernel.auth.api.pojo.login.basic.SimpleRoleInfo;
@ -148,8 +149,14 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
}
@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();
// 当前用户没有菜单
@ -162,12 +169,24 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
queryWrapper.in(SysMenu::getMenuId, menuIdList)
.eq(SysMenu::getStatusFlag, StatusEnum.ENABLE.getCode())
.eq(SysMenu::getDelFlag, YesOrNotEnum.N.getCode())
.eq(SysMenu::getAppCode, appCode)
.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