From 686f56b207bbbddded567c3715f73ce0695940e0 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Wed, 21 Jul 2021 14:58:42 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.0.4=E3=80=91=E3=80=90menu=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=8F=9C=E5=8D=95=E6=B7=BB=E5=8A=A0=E6=97=B6?= =?UTF-8?q?=E5=80=99=E7=9A=84=E7=B1=BB=E5=9E=8B=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modular/menu/factory/MenuTypeFactory.java | 65 +++++++++++++++++++ .../menu/service/impl/SysMenuServiceImpl.java | 5 +- 2 files changed, 69 insertions(+), 1 deletion(-) create mode 100644 kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/factory/MenuTypeFactory.java diff --git a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/factory/MenuTypeFactory.java b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/factory/MenuTypeFactory.java new file mode 100644 index 000000000..b929840ba --- /dev/null +++ b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/factory/MenuTypeFactory.java @@ -0,0 +1,65 @@ +/* + * 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.modular.menu.factory; + +import cn.hutool.core.util.ObjectUtil; +import cn.stylefeng.roses.kernel.rule.enums.YesOrNotEnum; +import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu; + +/** + * 设置菜单的类型 + * + * @author fengshuonan + * @date 2021/7/21 14:36 + */ +public class MenuTypeFactory { + + /** + * 根据sysMenu的参数,进行menu类型的判断 + * + * @author fengshuonan + * @date 2021/7/21 14:44 + */ + public static void processMenuType(SysMenu sysMenu) { + if (ObjectUtil.isAllEmpty( + sysMenu.getAntdvIcon(), + sysMenu.getAntdvComponent(), + sysMenu.getAntdvRouter(), + sysMenu.getAntdvUidUrl(), + sysMenu.getAntdvLinkOpenType(), + sysMenu.getAntdvLinkUrl())) { + sysMenu.setLayuiVisible(YesOrNotEnum.Y.getCode()); + sysMenu.setAntdvVisible(YesOrNotEnum.N.getCode()); + } + + if (ObjectUtil.isAllEmpty( + sysMenu.getLayuiIcon(), + sysMenu.getLayuiPath())) { + sysMenu.setLayuiVisible(YesOrNotEnum.N.getCode()); + sysMenu.setAntdvVisible(YesOrNotEnum.Y.getCode()); + } + } + +} 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 72c6ff7f7..72f77ba6a 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 @@ -32,7 +32,6 @@ 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; import cn.stylefeng.roses.kernel.db.api.DbOperatorApi; -import cn.stylefeng.roses.kernel.rule.constants.RuleConstants; import cn.stylefeng.roses.kernel.rule.constants.SymbolConstant; import cn.stylefeng.roses.kernel.rule.constants.TreeConstants; import cn.stylefeng.roses.kernel.rule.enums.StatusEnum; @@ -58,6 +57,7 @@ import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenu; import cn.stylefeng.roses.kernel.system.modular.menu.entity.SysMenuButton; import cn.stylefeng.roses.kernel.system.modular.menu.factory.AntdMenusFactory; import cn.stylefeng.roses.kernel.system.modular.menu.factory.LayuiMenusFactory; +import cn.stylefeng.roses.kernel.system.modular.menu.factory.MenuTypeFactory; import cn.stylefeng.roses.kernel.system.modular.menu.mapper.SysMenuMapper; import cn.stylefeng.roses.kernel.system.modular.menu.service.SysMenuButtonService; import cn.stylefeng.roses.kernel.system.modular.menu.service.SysMenuService; @@ -120,6 +120,9 @@ public class SysMenuServiceImpl extends ServiceImpl impl sysMenu.setStatusFlag(StatusEnum.ENABLE.getCode()); sysMenu.setDelFlag(YesOrNotEnum.N.getCode()); + // 设置添加的菜单的类型 + MenuTypeFactory.processMenuType(sysMenu); + this.save(sysMenu); }