houzhongjian
2024-12-26 b482efaf698d5fd3920ff63ccde1c819f9eb34ba
提交 | 用户 | 时间
818a01 1 package com.iailab.module.system.service.app;
H 2
3
4 import com.iailab.module.system.controller.admin.permission.vo.menu.MenuListReqVO;
5 import com.iailab.module.system.controller.admin.permission.vo.menu.MenuSaveVO;
6 import com.iailab.module.system.dal.dataobject.app.AppMenuDO;
7
8 import java.util.Collection;
9 import java.util.List;
10
11 /**
12  * 应用菜单 Service 接口
13  *
14  * @author iailab
15  */
16 public interface AppMenuService {
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<AppMenuDO> getMenuList();
46
47     /**
48      * 获得所有应用菜单列表
49      *
50      * @return 应用菜单列表(API使用)
51      */
52     List<AppMenuDO> getMenuList(Integer type);
53
54     /**
55      * 基于租户,筛选应用菜单列表
56      * 注意,如果是系统租户,返回的还是全应用菜单
57      *
58      * @return 应用菜单列表(API使用)
59      */
60     List<AppMenuDO> getMenuListByTenant(Integer type);
61
62     /**
63      * 根据父菜单ID查询所有子菜单
64      *
65      * @return 应用菜单列表(API使用)
66      */
67     List<AppMenuDO> selectListByParentId(Collection<Long> parentIds);
68
69     /**
70      * 基于租户,筛选应用菜单列表
71      * 注意,如果是系统租户,返回的还是全应用菜单
72      *
73      * @param reqVO 筛选条件请求 VO
74      * @return 应用菜单列表
75      */
76     List<AppMenuDO> getMenuListByTenant(MenuListReqVO reqVO);
77
78     /**
79      * 过滤掉关闭的应用菜单及其子应用菜单
80      *
81      * @param list 应用菜单列表
82      * @return 过滤后的应用菜单列表
83      */
84     List<AppMenuDO> filterDisableMenus(List<AppMenuDO> list);
85
86     /**
87      * 筛选应用菜单列表
88      *
89      * @param reqVO 筛选条件请求 VO
90      * @return 应用菜单列表
91      */
92     List<AppMenuDO> getMenuList(MenuListReqVO reqVO);
93
94     /**
95      * 获得权限对应的应用菜单编号数组
96      *
97      * @param permission 权限标识
98      * @return 数组
99      */
100     List<Long> getMenuIdListByPermissionFromCache(String permission);
101
102     /**
103      * 获得应用菜单
104      *
105      * @param id 应用菜单编号
106      * @return 应用菜单
107      */
108     AppMenuDO getMenu(Long id);
109
110     /**
111      * 获得应用菜单数组
112      *
113      * @param ids 应用菜单编号数组
114      * @return 应用菜单数组
115      */
116     List<AppMenuDO> getMenuList(Collection<Long> ids);
117
118 }