From b05adf6549d7e901a10fd19adfba57934a34a57b Mon Sep 17 00:00:00 2001 From: "Ray.Hao" <1490493387@qq.com> Date: Mon, 24 Mar 2025 10:03:01 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E7=A7=BB=E9=99=A4=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E7=B1=BB=E5=9E=8B=E6=9E=9A=E4=B8=BE=E7=BC=96=E7=A0=81?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E9=80=BB=E8=BE=91=EF=BC=8C=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E6=8E=A5=E5=8F=97=E5=8E=9F=E5=A7=8B=E5=80=BC=EF=BC=88=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E5=8F=82=E6=95=B0=E6=A0=87=E5=87=86=E5=8C=96=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../youlai/boot/system/model/entity/Menu.java | 3 +-- .../boot/system/model/form/MenuForm.java | 5 ++--- .../youlai/boot/system/model/vo/MenuVO.java | 3 +-- .../system/service/impl/MenuServiceImpl.java | 18 +++++++++--------- 4 files changed, 13 insertions(+), 16 deletions(-) diff --git a/src/main/java/com/youlai/boot/system/model/entity/Menu.java b/src/main/java/com/youlai/boot/system/model/entity/Menu.java index 0a2921ae..072e0436 100644 --- a/src/main/java/com/youlai/boot/system/model/entity/Menu.java +++ b/src/main/java/com/youlai/boot/system/model/entity/Menu.java @@ -2,7 +2,6 @@ package com.youlai.boot.system.model.entity; import com.baomidou.mybatisplus.annotation.*; -import com.youlai.boot.system.enums.MenuTypeEnum; import lombok.Getter; import lombok.Setter; @@ -37,7 +36,7 @@ public class Menu { /** * 菜单类型(1-菜单;2-目录;3-外链;4-按钮权限) */ - private MenuTypeEnum type; + private Integer type; /** * 路由名称(Vue Router 中定义的路由名称) diff --git a/src/main/java/com/youlai/boot/system/model/form/MenuForm.java b/src/main/java/com/youlai/boot/system/model/form/MenuForm.java index dc26cb4c..5d6bde07 100644 --- a/src/main/java/com/youlai/boot/system/model/form/MenuForm.java +++ b/src/main/java/com/youlai/boot/system/model/form/MenuForm.java @@ -1,6 +1,5 @@ package com.youlai.boot.system.model.form; -import com.youlai.boot.system.enums.MenuTypeEnum; import com.youlai.boot.common.model.KeyValue; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -11,7 +10,7 @@ import java.util.List; /** * 菜单表单对象 * - * @author Ray + * @author Ray.Hao * @since 2024/06/23 */ @Schema(description = "菜单表单对象") @@ -28,7 +27,7 @@ public class MenuForm { private String name; @Schema(description = "菜单类型(1-菜单 2-目录 3-外链 4-按钮)") - private MenuTypeEnum type; + private Integer type; @Schema(description = "路由名称") private String routeName; diff --git a/src/main/java/com/youlai/boot/system/model/vo/MenuVO.java b/src/main/java/com/youlai/boot/system/model/vo/MenuVO.java index ec9eaaf7..1b85a8b5 100644 --- a/src/main/java/com/youlai/boot/system/model/vo/MenuVO.java +++ b/src/main/java/com/youlai/boot/system/model/vo/MenuVO.java @@ -1,7 +1,6 @@ package com.youlai.boot.system.model.vo; import com.fasterxml.jackson.annotation.JsonInclude; -import com.youlai.boot.system.enums.MenuTypeEnum; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -21,7 +20,7 @@ public class MenuVO { private String name; @Schema(description="菜单类型") - private MenuTypeEnum type; + private Integer type; @Schema(description = "路由名称") private String routeName; diff --git a/src/main/java/com/youlai/boot/system/service/impl/MenuServiceImpl.java b/src/main/java/com/youlai/boot/system/service/impl/MenuServiceImpl.java index cf71ebeb..22ac3b9d 100644 --- a/src/main/java/com/youlai/boot/system/service/impl/MenuServiceImpl.java +++ b/src/main/java/com/youlai/boot/system/service/impl/MenuServiceImpl.java @@ -210,7 +210,7 @@ public class MenuServiceImpl extends ServiceImpl implements Me meta.setIcon(menu.getIcon()); meta.setHidden(StatusEnum.DISABLE.getValue().equals(menu.getVisible())); // 【菜单】是否开启页面缓存 - if (MenuTypeEnum.MENU.equals(menu.getType()) + if (MenuTypeEnum.MENU.getValue().equals(menu.getType()) && ObjectUtil.equals(menu.getKeepAlive(), 1)) { meta.setKeepAlive(true); } @@ -239,16 +239,16 @@ public class MenuServiceImpl extends ServiceImpl implements Me @CacheEvict(cacheNames = "menu", key = "'routes'") public boolean saveMenu(MenuForm menuForm) { - MenuTypeEnum menuType = menuForm.getType(); + Integer menuType = menuForm.getType(); - if (menuType == MenuTypeEnum.CATALOG) { // 如果是目录 + if (MenuTypeEnum.CATALOG.getValue().equals(menuType)) { // 如果是目录 String path = menuForm.getRoutePath(); if (menuForm.getParentId() == 0 && !path.startsWith("/")) { menuForm.setRoutePath("/" + path); // 一级目录需以 / 开头 } menuForm.setComponent("Layout"); - } else if (menuType == MenuTypeEnum.EXTLINK) { // 如果是外链 - + } else if (MenuTypeEnum.EXTLINK.getValue().equals(menuType)) { + // 外链菜单组件设置为 null menuForm.setComponent(null); } if (Objects.equals(menuForm.getParentId(), menuForm.getId())) { @@ -267,7 +267,7 @@ public class MenuServiceImpl extends ServiceImpl implements Me entity.setParams(null); } // 新增类型为菜单时候 路由名称唯一 - if (MenuTypeEnum.MENU.equals(menuType)) { + if (MenuTypeEnum.MENU.getValue().equals(menuType)) { Assert.isFalse(this.exists(new LambdaQueryWrapper() .eq(Menu::getRouteName, entity.getRouteName()) .ne(menuForm.getId() != null, Menu::getId, menuForm.getId()) @@ -436,7 +436,7 @@ public class MenuServiceImpl extends ServiceImpl implements Me menu.setRouteName(entityName); menu.setRoutePath(StrUtil.toSymbolCase(entityName, '-')); menu.setComponent(genConfig.getModuleName() + "/" + StrUtil.toSymbolCase(entityName, '-') + "/index"); - menu.setType(MenuTypeEnum.MENU); + menu.setType(MenuTypeEnum.MENU.getValue()); menu.setSort(sort); menu.setVisible(1); boolean result = this.save(menu); @@ -455,13 +455,13 @@ public class MenuServiceImpl extends ServiceImpl implements Me for (int i = 0; i < actions.length; i++) { Menu button = new Menu(); button.setParentId(menu.getId()); - button.setType(MenuTypeEnum.BUTTON); + button.setType(MenuTypeEnum.BUTTON.getValue()); button.setName(actions[i]); button.setPerm(permPrefix + perms[i]); button.setSort(i + 1); this.save(button); - // 生成 treepath + // 生成treePath button.setTreePath(treePath + "," + button.getId()); this.updateById(button); }