liriming
2024-12-03 97f3c16ac595493405e8cf76399dc703c088ef6f
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.system.service.permission;
H 2
d9f9ba 3
e7c126 4 import com.iailab.module.system.controller.admin.permission.vo.menu.MenuListReqVO;
H 5 import com.iailab.module.system.controller.admin.permission.vo.menu.MenuSaveVO;
6 import com.iailab.module.system.dal.dataobject.permission.MenuDO;
7
8 import java.util.Collection;
9 import java.util.List;
10
11 /**
12  * 菜单 Service 接口
13  *
4d4165 14  * @author iailab
e7c126 15  */
H 16 public interface MenuService {
17
18     /**
19      * 创建菜单
20      *
21      * @param createReqVO 菜单信息
22      * @return 创建出来的菜单编号
23      */
24     Long createMenu(MenuSaveVO createReqVO);
25
26     /**
27      * 更新菜单
28      *
29      * @param updateReqVO 菜单信息
30      */
31     void updateMenu(MenuSaveVO updateReqVO);
32
33     /**
34      * 删除菜单
35      *
36      * @param id 菜单编号
37      */
38     void deleteMenu(Long id);
39
40     /**
41      * 获得所有菜单列表
42      *
43      * @return 菜单列表
44      */
45     List<MenuDO> getMenuList();
46
47     /**
48      * 基于租户,筛选菜单列表
49      * 注意,如果是系统租户,返回的还是全菜单
50      *
51      * @param reqVO 筛选条件请求 VO
52      * @return 菜单列表
53      */
54     List<MenuDO> getMenuListByTenant(MenuListReqVO reqVO);
55
56     /**
818a01 57      * 基于租户,筛选应用菜单列表
H 58      * 注意,如果是系统租户,返回的还是全菜单
59      *
60      * @param reqVO 筛选条件请求 VO
61      * @return 应用菜单列表
62      */
63     List<MenuDO> getAppMenuListByTenant(MenuListReqVO reqVO);
64
65     /**
d9f9ba 66      * 过滤掉关闭的菜单及其子菜单
H 67      *
68      * @param list 菜单列表
69      * @return 过滤后的菜单列表
70      */
71     List<MenuDO> filterDisableMenus(List<MenuDO> list);
72
73     /**
874287 74      * 过滤掉业务菜单或系统菜单及其子菜单
H 75      *
76      * @param list 菜单列表
77      * @return 过滤后的菜单列表
78      */
79     List<MenuDO> filterMenus(List<MenuDO> list, String type);
80
81     /**
e7c126 82      * 筛选菜单列表
H 83      *
84      * @param reqVO 筛选条件请求 VO
85      * @return 菜单列表
86      */
87     List<MenuDO> getMenuList(MenuListReqVO reqVO);
88
89     /**
818a01 90      * 筛选菜单列表
H 91      *
92      * @param reqVO 筛选条件请求 VO
93      * @return 菜单列表
94      */
ce910c 95     List<MenuDO> getAppMenuList(Long tenantId, MenuListReqVO reqVO);
818a01 96
H 97     /**
e7c126 98      * 获得权限对应的菜单编号数组
H 99      *
100      * @param permission 权限标识
101      * @return 数组
102      */
103     List<Long> getMenuIdListByPermissionFromCache(String permission);
104
105     /**
106      * 获得菜单
107      *
108      * @param id 菜单编号
109      * @return 菜单
110      */
111     MenuDO getMenu(Long id);
112
113     /**
7da8f1 114      * 根据应用id获得菜单
H 115      *
116      * @param id 菜单编号
117      * @return 菜单
118      */
119     MenuDO getMenuByAppId(Long id);
120
121     /**
e7c126 122      * 获得菜单数组
H 123      *
124      * @param ids 菜单编号数组
125      * @return 菜单数组
126      */
127     List<MenuDO> getMenuList(Collection<Long> ids);
128
7da8f1 129     /**
H 130      * 根据父id查询菜单
131      * @param ids
132      * @return
133      */
134     List<MenuDO> selectListByParentId(Collection<Long> ids);
135
e7c126 136 }