Bläddra i källkod

update 简化查询菜单功能

疯狂的狮子li 3 år sedan
förälder
incheckning
a54cb7d3e4

+ 10 - 0
ruoyi-common/src/main/java/com/ruoyi/common/constant/UserConstants.java

@@ -62,6 +62,16 @@ public interface UserConstants {
      */
     String NO_FRAME = "1";
 
+    /**
+     * 菜单正常状态
+     */
+    String MENU_NORMAL = "0";
+
+    /**
+     * 菜单停用状态
+     */
+    String MENU_DISABLE = "1";
+
     /**
      * 菜单类型(目录)
      */

+ 2 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysMenu.java

@@ -3,6 +3,7 @@ package com.ruoyi.common.core.domain.entity;
 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 @@ public class SysMenu extends TreeEntity {
      * 权限字符串
      */
     @ApiModelProperty(value = "权限字符串")
+    @JsonInclude(JsonInclude.Include.NON_NULL)
     @Size(min = 0, max = 100, message = "权限标识长度不能超过100个字符")
     private String perms;
 

+ 10 - 1
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 @@ public interface SysMenuMapper extends BaseMapperPlus<SysMenuMapper, SysMenu, Sy
      *
      * @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查询菜单

+ 2 - 24
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,