From a54cb7d3e48cdf3adf7e998dc9c91dab4eb4def6 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子li <15040126243@163.com>
Date: 星期四, 03 三月 2022 11:18:10 +0800
Subject: [PATCH] update 简化查询菜单功能

---
 ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java |    2 ++
 ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java       |   11 ++++++++++-
 ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java     |   10 ++++++++++
 ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml             |   26 ++------------------------
 4 files changed, 24 insertions(+), 25 deletions(-)

diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java
index 406d144..03bb84e 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java
@@ -63,6 +63,16 @@
     String NO_FRAME = "1";
 
     /**
+     * 鑿滃崟姝e父鐘舵��
+     */
+    String MENU_NORMAL = "0";
+
+    /**
+     * 鑿滃崟鍋滅敤鐘舵��
+     */
+    String MENU_DISABLE = "1";
+
+    /**
      * 鑿滃崟绫诲瀷锛堢洰褰曪級
      */
     String TYPE_DIR = "M";
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java
index 8eb97d0..d0a8dd8 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java
@@ -3,6 +3,7 @@
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import com.ruoyi.common.core.domain.TreeEntity;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -103,6 +104,7 @@
      * 鏉冮檺瀛楃涓�
      */
     @ApiModelProperty(value = "鏉冮檺瀛楃涓�")
+    @JsonInclude(JsonInclude.Include.NON_NULL)
     @Size(min = 0, max = 100, message = "鏉冮檺鏍囪瘑闀垮害涓嶈兘瓒呰繃100涓瓧绗�")
     private String perms;
 
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
index 3b37ae9..44cd7ac 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysMenuMapper.java
@@ -1,5 +1,7 @@
 package com.ruoyi.system.mapper;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.ruoyi.common.constant.UserConstants;
 import com.ruoyi.common.core.domain.entity.SysMenu;
 import com.ruoyi.common.core.mapper.BaseMapperPlus;
 import org.apache.ibatis.annotations.Param;
@@ -41,7 +43,14 @@
      *
      * @return 鑿滃崟鍒楄〃
      */
-    List<SysMenu> selectMenuTreeAll();
+    default List<SysMenu> selectMenuTreeAll() {
+        LambdaQueryWrapper<SysMenu> lqw = new LambdaQueryWrapper<SysMenu>()
+            .in(SysMenu::getMenuType, UserConstants.TYPE_DIR, UserConstants.TYPE_MENU)
+            .eq(SysMenu::getStatus, UserConstants.MENU_NORMAL)
+            .orderByAsc(SysMenu::getParentId)
+            .orderByAsc(SysMenu::getOrderNum);
+        return this.selectList(lqw);
+    }
 
     /**
      * 鏍规嵁鐢ㄦ埛ID鏌ヨ鑿滃崟
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
index 9cb6f7f..522874b 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysMenuMapper.xml
@@ -27,31 +27,9 @@
         <result property="remark" column="remark"/>
     </resultMap>
 
-    <select id="selectMenuTreeAll" resultMap="SysMenuResult">
-        select distinct m.menu_id,
-                        m.parent_id,
-                        m.menu_name,
-                        m.path,
-                        m.component,
-                        m.`query`,
-                        m.visible,
-                        m.status,
-                        ifnull(m.perms, '') as perms,
-                        m.is_frame,
-                        m.is_cache,
-                        m.menu_type,
-                        m.icon,
-                        m.order_num,
-                        m.create_time
-        from sys_menu m
-        where m.menu_type in ('M', 'C')
-          and m.status = 0
-        order by m.parent_id, m.order_num
-    </select>
-
     <select id="selectMenuListByUserId" parameterType="SysMenu" resultMap="SysMenuResult">
         select distinct m.menu_id, m.parent_id, m.menu_name, m.path, m.component, m.`query`, m.visible, m.status,
-        ifnull(m.perms,'') as perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
+        m.perms, m.is_frame, m.is_cache, m.menu_type, m.icon, m.order_num, m.create_time
         from sys_menu m
         left join sys_role_menu rm on m.menu_id = rm.menu_id
         left join sys_user_role ur on rm.role_id = ur.role_id
@@ -78,7 +56,7 @@
                         m.`query`,
                         m.visible,
                         m.status,
-                        ifnull(m.perms, '') as perms,
+                        m.perms,
                         m.is_frame,
                         m.is_cache,
                         m.menu_type,

--
Gitblit v1.9.3