From 9b4ebb5e60b348f1171c14d793d23b680011c0fc Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Thu, 28 Apr 2022 11:41:42 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=907.2.2=E3=80=91=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=98=AF=E5=90=A6=E4=B8=BA=E5=89=8D=E5=90=8E?= =?UTF-8?q?=E5=8F=B0=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/api/enums/MenuFrontTypeEnum.java | 62 +++++++++++++++++++ .../system/api/pojo/menu/SysMenuRequest.java | 6 ++ .../system/modular/menu/entity/SysMenu.java | 7 +++ .../menu/service/impl/SysMenuServiceImpl.java | 8 ++- 4 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/enums/MenuFrontTypeEnum.java 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 new file mode 100644 index 000000000..35d489027 --- /dev/null +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/enums/MenuFrontTypeEnum.java @@ -0,0 +1,62 @@ +/* + * 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-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/menu/SysMenuRequest.java b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/menu/SysMenuRequest.java index 02180b661..83c1f901e 100644 --- a/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/menu/SysMenuRequest.java +++ b/kernel-s-system/system-api/src/main/java/cn/stylefeng/roses/kernel/system/api/pojo/menu/SysMenuRequest.java @@ -156,6 +156,12 @@ public class SysMenuRequest extends BaseRequest { @ChineseDescription("外部链接地址(适用于antd vue版本)") private String antdvLinkUrl; + /** + * 前台还是后台菜单:1-前台,2-后台,3-前后台都显示 + */ + @ChineseDescription("前台还是后台菜单") + private Integer antdvFrontType; + /** * 获取主页左侧菜单列表(适配Antd Vue的版本) */ diff --git a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/entity/SysMenu.java b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/entity/SysMenu.java index 66ced2eb2..4ad5f0a7f 100644 --- a/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/entity/SysMenu.java +++ b/kernel-s-system/system-business-menu/src/main/java/cn/stylefeng/roses/kernel/system/modular/menu/entity/SysMenu.java @@ -181,6 +181,13 @@ public class SysMenu extends BaseEntity implements AbstractTreeNode { @ChineseDescription("是否可见") private String antdvVisible; + /** + * 前台还是后台菜单:1-前台,2-后台,3-前后台都显示 + */ + @TableField("antdv_front_type") + @ChineseDescription("前台还是后台菜单") + private Integer antdvFrontType; + /** * 是否删除:Y-被删除,N-未删除 */ 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 c7314d532..a89e64ea0 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 @@ -41,6 +41,7 @@ import cn.stylefeng.roses.kernel.rule.tree.ztree.ZTreeNode; 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.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; @@ -130,6 +131,11 @@ public class SysMenuServiceImpl extends ServiceImpl impl // 设置添加的菜单的类型 MenuTypeFactory.processMenuType(sysMenu, sysMenuRequest.getVisible()); + // 设置如果菜单前后台类型如果为空,则默认为都显示 + if (ObjectUtil.isEmpty(sysMenuRequest.getAntdvFrontType())) { + sysMenu.setAntdvFrontType(MenuFrontTypeEnum.TOTAL.getCode()); + } + this.save(sysMenu); } @@ -171,7 +177,7 @@ public class SysMenuServiceImpl extends ServiceImpl impl // 不能修改状态,用修改状态接口修改状态 oldMenu.setStatusFlag(null); - // 设置添加的菜单的类型fengshuonan_sedinbj + // 设置添加的菜单的类型 MenuTypeFactory.processMenuType(oldMenu, sysMenuRequest.getVisible()); this.updateById(oldMenu);