diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/enums/AntdvFrontTypeEnum.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/enums/AntdvFrontTypeEnum.java index 218d21b41..3dde5fd61 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/enums/AntdvFrontTypeEnum.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/enums/AntdvFrontTypeEnum.java @@ -24,6 +24,7 @@ */ package cn.stylefeng.roses.kernel.system.api.enums; +import cn.hutool.core.util.ObjectUtil; import lombok.Getter; /** @@ -59,4 +60,23 @@ public enum AntdvFrontTypeEnum { this.message = message; } + /** + * 转化int为枚举类型 + * + * @author fengshuonan + * @date 2022/9/29 15:50 + */ + public static AntdvFrontTypeEnum parseToEnum(Integer originValue) { + if (ObjectUtil.isEmpty(originValue)) { + return null; + } + for (AntdvFrontTypeEnum value : AntdvFrontTypeEnum.values()) { + if (value.code.equals(originValue)) { + return value; + } + } + return null; + } + + } diff --git a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/enums/MenuFrontTypeEnum.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/enums/MenuFrontTypeEnum.java deleted file mode 100644 index 35d489027..000000000 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/enums/MenuFrontTypeEnum.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright [2020-2030] [https://www.stylefeng.cn] - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意以下几点: - * - * 1.请不要删除和修改根目录下的LICENSE文件。 - * 2.请不要删除和修改Guns源码头部的版权声明。 - * 3.请保留源码和相关描述文件的项目出处,作者声明等。 - * 4.分发源码时候,请注明软件出处 https://gitee.com/stylefeng/guns - * 5.在修改包名,模块名称,项目代码等时,请注明软件出处 https://gitee.com/stylefeng/guns - * 6.若您的项目无法满足以上几点,可申请商业授权 - */ -package cn.stylefeng.roses.kernel.system.api.enums; - -import lombok.Getter; - -/** - * 菜单前台后台类型的枚举 - * - * @author fengshuonan - * @date 2022/4/28 11:37 - */ -@Getter -public enum MenuFrontTypeEnum { - - /** - * 前台显示 - */ - FRONT(1, "前台显示"), - - /** - * 后台显示 - */ - BACKEND(2, "后台显示"), - - /** - * 全部显示 - */ - TOTAL(3, "全部显示"); - - private final Integer code; - - private final String message; - - MenuFrontTypeEnum(Integer code, String message) { - this.code = code; - this.message = message; - } - -} diff --git a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/service/impl/SysMenuServiceImpl.java b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/service/impl/SysMenuServiceImpl.java index c30ea3291..8fdb1439f 100644 --- a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/service/impl/SysMenuServiceImpl.java +++ b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/service/impl/SysMenuServiceImpl.java @@ -43,7 +43,6 @@ import cn.stylefeng.roses.kernel.system.api.AppServiceApi; import cn.stylefeng.roses.kernel.system.api.MenuServiceApi; import cn.stylefeng.roses.kernel.system.api.RoleServiceApi; import cn.stylefeng.roses.kernel.system.api.enums.AntdvFrontTypeEnum; -import cn.stylefeng.roses.kernel.system.api.enums.MenuFrontTypeEnum; import cn.stylefeng.roses.kernel.system.api.exception.SystemModularException; import cn.stylefeng.roses.kernel.system.api.exception.enums.menu.SysMenuExceptionEnum; import cn.stylefeng.roses.kernel.system.api.pojo.app.SysAppResult; @@ -137,7 +136,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl // 设置如果菜单前后台类型如果为空,则默认为都显示 if (ObjectUtil.isEmpty(sysMenuRequest.getAntdvFrontType())) { - sysMenu.setAntdvFrontType(MenuFrontTypeEnum.TOTAL.getCode()); + sysMenu.setAntdvFrontType(AntdvFrontTypeEnum.TOTAL_SHOW.getCode()); } this.save(sysMenu); @@ -310,7 +309,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl // 获取前台或者后台类型 Integer antdvFrontType = sysMenuRequest.getAntdvFrontType(); if (antdvFrontType == null) { - antdvFrontType = MenuFrontTypeEnum.FRONT.getCode(); + antdvFrontType = AntdvFrontTypeEnum.FRONT.getCode(); } // 获取当前已经启用的应用,并且按排序字段排序的 @@ -520,7 +519,10 @@ public class SysMenuServiceImpl extends ServiceImpl impl menuWrapper.eq(SysMenu::getDelFlag, YesOrNotEnum.N.getCode()); menuWrapper.eq(SysMenu::getStatusFlag, StatusEnum.ENABLE.getCode()); - menuWrapper.nested(i -> i.eq(SysMenu::getAntdvFrontType, antdvFrontTypeEnum.getCode()).or().eq(SysMenu::getAntdvFrontType, AntdvFrontTypeEnum.TOTAL_SHOW.getCode())); + + if (antdvFrontTypeEnum != null) { + menuWrapper.nested(i -> i.eq(SysMenu::getAntdvFrontType, antdvFrontTypeEnum.getCode()).or().eq(SysMenu::getAntdvFrontType, AntdvFrontTypeEnum.TOTAL_SHOW.getCode())); + } List sysMenuList = this.list(menuWrapper); return sysMenuList.stream().map(SysMenu::getMenuId).collect(Collectors.toList()); @@ -567,7 +569,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl // 判断前台还是后台菜单 if (ObjectUtil.isNotEmpty(antdvFrontType)) { - queryWrapper.in(SysMenu::getAntdvFrontType, ListUtil.list(true, antdvFrontType, MenuFrontTypeEnum.TOTAL.getCode())); + queryWrapper.in(SysMenu::getAntdvFrontType, ListUtil.list(true, antdvFrontType, AntdvFrontTypeEnum.TOTAL_SHOW.getCode())); } // 如果是不分离版本,则筛选一下不需要显示的菜单 diff --git a/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/system/modular/role/service/impl/SysRoleServiceImpl.java b/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/system/modular/role/service/impl/SysRoleServiceImpl.java index 5fa25b72e..962c2e07d 100644 --- a/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/system/modular/role/service/impl/SysRoleServiceImpl.java +++ b/kernel-s-system/system-business-role/src/main/java/cn/stylefeng/roses/kernel/system/modular/role/service/impl/SysRoleServiceImpl.java @@ -496,7 +496,8 @@ public class SysRoleServiceImpl extends ServiceImpl impl } // 获取所有前台菜单id - List totalMenuIdList = this.menuServiceApi.getTotalMenuIdList(AntdvFrontTypeEnum.FRONT); + AntdvFrontTypeEnum antdvFrontTypeEnum = AntdvFrontTypeEnum.parseToEnum(sysRoleRequest.getResourceBizType()); + List totalMenuIdList = this.menuServiceApi.getTotalMenuIdList(antdvFrontTypeEnum); // 批量保存绑定的菜单集合 List sysRoleMenus = new ArrayList<>(); @@ -529,7 +530,8 @@ public class SysRoleServiceImpl extends ServiceImpl impl } // 获取所有前台按钮集合 - List totalButtonIds = this.menuServiceApi.getTotalMenuButtonIdList(AntdvFrontTypeEnum.FRONT); + AntdvFrontTypeEnum antdvFrontTypeEnum = AntdvFrontTypeEnum.parseToEnum(sysRoleRequest.getResourceBizType()); + List totalButtonIds = this.menuServiceApi.getTotalMenuButtonIdList(antdvFrontTypeEnum); // 批量保存绑定的按钮集合 List sysRoleMenuButtons = new ArrayList<>(); diff --git a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/IndexUserInfoServiceImpl.java b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/IndexUserInfoServiceImpl.java index 1708f6956..d024a41f0 100644 --- a/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/IndexUserInfoServiceImpl.java +++ b/kernel-s-system/system-business-user/src/main/java/cn/stylefeng/roses/kernel/system/modular/user/service/impl/IndexUserInfoServiceImpl.java @@ -31,7 +31,7 @@ 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.rule.enums.SexEnum; import cn.stylefeng.roses.kernel.system.api.MenuServiceApi; -import cn.stylefeng.roses.kernel.system.api.enums.MenuFrontTypeEnum; +import cn.stylefeng.roses.kernel.system.api.enums.AntdvFrontTypeEnum; import cn.stylefeng.roses.kernel.system.api.pojo.login.v3.IndexRoleInfo; import cn.stylefeng.roses.kernel.system.api.pojo.login.v3.IndexUserInfoV3; import cn.stylefeng.roses.kernel.system.modular.user.service.IndexUserInfoService; @@ -111,7 +111,7 @@ public class IndexUserInfoServiceImpl implements IndexUserInfoService { // 获取用户菜单和权限信息 if (ObjectUtil.isEmpty(menuFrontType)) { - menuFrontType = MenuFrontTypeEnum.FRONT.getCode(); + menuFrontType = AntdvFrontTypeEnum.FRONT.getCode(); } indexUserInfoV3.setAuthorities(menuServiceApi.buildAuthorities(menuFrontType));