Jelajahi Sumber

获取菜单列表-添加筛选条件

chao 3 tahun lalu
induk
melakukan
6300ca2321

+ 11 - 4
src/main/java/com/caimei365/manager/controller/SysUserApi.java

@@ -39,12 +39,19 @@ public class SysUserApi {
     }
 
     /**
-     * 获取所有菜单列表
+     * 获取菜单列表
+     *
+     * @param parentId 父级菜单Id
+     * @param level    菜单层级
+     * @param status   状态:0启用,1停用
+     * @param pageNum  页码
+     * @param pageSize 每页大小
      */
     @GetMapping("/menu/list")
-    public ResponseJson<PaginationVo<SysMenu>> menuList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
-                                                        @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
-        return sysUserService.getMenuList(pageNum, pageSize);
+    public ResponseJson<PaginationVo<SysMenu>> menuList(Integer parentId, Integer level, Integer status,
+            @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
+            @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
+        return sysUserService.getMenuList(parentId, level, status, pageNum, pageSize);
     }
 
     /**

+ 5 - 2
src/main/java/com/caimei365/manager/dao/SysUserDao.java

@@ -48,9 +48,12 @@ public interface SysUserDao {
     List<SysMenu> getMenusByRoleIds(@Param("roleIds") List<Integer> roleIds);
 
     /**
-     * 获取所有菜单列表
+     * 获取菜单列表
+     * @param parentId 父级菜单Id
+     * @param level    菜单层级
+     * @param status   状态:0启用,1停用
      */
-    List<SysMenu> getMenuList();
+    List<SysMenu> getMenuList(Integer parentId, Integer level, Integer status);
 
     /**
      * 根据ID获取菜单

+ 7 - 2
src/main/java/com/caimei365/manager/service/SysUserService.java

@@ -23,9 +23,14 @@ public interface SysUserService {
     ResponseJson<SysUser> getInfoByUsername(String username);
 
     /**
-     * 获取所有菜单列表
+     * 获取菜单列表
+     * @param parentId 父级菜单Id
+     * @param level    菜单层级
+     * @param status   状态:0启用,1停用
+     * @param pageNum  页码
+     * @param pageSize 每页大小
      */
-    ResponseJson<PaginationVo<SysMenu>> getMenuList(int pageNum, int pageSize);
+    ResponseJson<PaginationVo<SysMenu>> getMenuList(Integer parentId, Integer level, Integer status, int pageNum, int pageSize);
 
     /**
      * 根据ID获取菜单

+ 9 - 4
src/main/java/com/caimei365/manager/service/impl/SysUserServiceImpl.java

@@ -14,7 +14,6 @@ import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -61,12 +60,18 @@ public class SysUserServiceImpl implements SysUserService {
     }
 
     /**
-     * 获取所有菜单列表
+     * 获取菜单列表
+     *
+     * @param parentId 父级菜单Id
+     * @param level    菜单层级
+     * @param status   状态:0启用,1停用
+     * @param pageNum  页码
+     * @param pageSize 每页大小
      */
     @Override
-    public ResponseJson<PaginationVo<SysMenu>> getMenuList(int pageNum, int pageSize) {
+    public ResponseJson<PaginationVo<SysMenu>> getMenuList(Integer parentId, Integer level, Integer status, int pageNum, int pageSize) {
         PageHelper.startPage(pageNum, pageSize);
-        List<SysMenu> menus = sysUserDao.getMenuList();
+        List<SysMenu> menus = sysUserDao.getMenuList(parentId, level, status);
         PaginationVo<SysMenu> pageData = new PaginationVo<>(menus);
         return ResponseJson.success(pageData);
     }

+ 9 - 0
src/main/resources/mapper/SysUserDao.xml

@@ -33,6 +33,15 @@
         SELECT m.id, m.title , m.name, m.icon, m.level, m.parent_id AS parentId, m.status, m.create_time AS createTime
         FROM sys_menu m
         WHERE m.del_flag = 0
+        <if test="parentId!= null and parentId != '' ">
+            AND m.parent_id = #{parentId}
+        </if>
+        <if test="level!= null and level != '' ">
+            AND m.level = #{level}
+        </if>
+        <if test="status!= null and status != '' ">
+            AND m.status = #{status}
+        </if>
     </select>
     <select id="getMenu" resultType="com.caimei365.manager.entity.SysMenu">
         SELECT m.id, m.title , m.name, m.icon, m.level, m.parent_id AS parentId, m.status, m.create_time AS createTime