houzhongjian
2024-10-16 7da8f196dee8e3c526c009a4bc7f5983ece6bb97
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.system.service.tenant;
H 2
3 import com.iailab.framework.common.pojo.PageResult;
4 import com.iailab.framework.tenant.core.context.TenantContextHolder;
5 import com.iailab.module.system.controller.admin.tenant.vo.tenant.TenantPageReqVO;
6 import com.iailab.module.system.controller.admin.tenant.vo.tenant.TenantSaveReqVO;
7 import com.iailab.module.system.dal.dataobject.tenant.TenantDO;
8 import com.iailab.module.system.service.tenant.handler.TenantInfoHandler;
9 import com.iailab.module.system.service.tenant.handler.TenantMenuHandler;
10
11 import javax.validation.Valid;
12 import java.util.List;
13 import java.util.Set;
14
15 /**
16  * 租户 Service 接口
17  *
18  * @author iailab
19  */
20 public interface TenantService {
21
22     /**
23      * 创建租户
24      *
25      * @param createReqVO 创建信息
26      * @return 编号
27      */
28     Long createTenant(@Valid TenantSaveReqVO createReqVO);
29
30     /**
31      * 更新租户
32      *
33      * @param updateReqVO 更新信息
34      */
35     void updateTenant(@Valid TenantSaveReqVO updateReqVO);
36
37     /**
38      * 更新租户的角色菜单
39      *
40      * @param tenantId 租户编号
41      * @param menuIds 菜单编号数组
42      */
43     void updateTenantRoleMenu(Long tenantId, Set<Long> menuIds);
44
45     /**
46      * 删除租户
47      *
48      * @param id 编号
49      */
50     void deleteTenant(Long id);
51
52     /**
53      * 获得租户
54      *
55      * @param id 编号
56      * @return 租户
57      */
58     TenantDO getTenant(Long id);
59
60     /**
61      * 获得租户分页
62      *
63      * @param pageReqVO 分页查询
64      * @return 租户分页
65      */
66     PageResult<TenantDO> getTenantPage(TenantPageReqVO pageReqVO);
67
68     /**
818a01 69      * 获得租户列表
H 70      *
71      * @return 租户列表
72      */
73     List<TenantDO> getSimpleTenant();
74
75     /**
e7c126 76      * 获得名字对应的租户
H 77      *
78      * @param name 租户名
79      * @return 租户
80      */
81     TenantDO getTenantByName(String name);
82
83     /**
84      * 获得域名对应的租户
85      *
86      * @param website 域名
87      * @return 租户
88      */
89     TenantDO getTenantByWebsite(String website);
90
91     /**
92      * 获得使用指定套餐的租户数量
93      *
94      * @param packageId 租户套餐编号
95      * @return 租户数量
96      */
97     Long getTenantCountByPackageId(Long packageId);
98
99     /**
100      * 获得使用指定套餐的租户数组
101      *
102      * @param packageId 租户套餐编号
103      * @return 租户数组
104      */
105     List<TenantDO> getTenantListByPackageId(Long packageId);
106
107     /**
108      * 进行租户的信息处理逻辑
109      * 其中,租户编号从 {@link TenantContextHolder} 上下文中获取
110      *
111      * @param handler 处理器
112      */
113     void handleTenantInfo(TenantInfoHandler handler);
114
115     /**
116      * 进行租户的菜单处理逻辑
117      * 其中,租户编号从 {@link TenantContextHolder} 上下文中获取
118      *
119      * @param handler 处理器
120      */
121     void handleTenantMenu(TenantMenuHandler handler);
122
123     /**
124      * 获得所有租户
125      *
126      * @return 租户编号数组
127      */
128     List<Long> getTenantIdList();
129
130     /**
131      * 校验租户是否合法
132      *
133      * @param id 租户编号
134      */
135     void validTenant(Long id);
136
137 }