干燥机配套车间生产管理系统/云平台服务端
baoshiwei
2023-03-10 58d42ccf875b120f40fddce63752298e916e0b0b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
package org.jeecg.modules.system.service;
 
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.system.entity.SysTenant;
import org.jeecg.modules.system.entity.SysTenantPackUser;
import org.jeecg.modules.system.vo.tenant.TenantDepartAuthInfo;
import org.jeecg.modules.system.vo.tenant.TenantPackModel;
import org.jeecg.modules.system.vo.tenant.TenantPackUser;
import org.jeecg.modules.system.vo.tenant.TenantPackUserCount;
 
import java.util.Collection;
import java.util.List;
 
/**
 * @Description: 租户service接口
 * @author: jeecg-boot
 */
public interface ISysTenantService extends IService<SysTenant> {
 
    /**
     * 查询有效的租户
     *
     * @param idList
     * @return
     */
    List<SysTenant> queryEffectiveTenant(Collection<Integer> idList);
 
    /**
     * 返回某个租户被多少个用户引用了
     *
     * @param id
     * @return
     */
    Long countUserLinkTenant(String id);
 
    /**
     * 根据ID删除租户,会判断是否已被引用
     *
     * @param id
     * @return
     */
    boolean removeTenantById(String id);
 
    /**
     * 邀请用户加入租户
     * @param ids
     * @param userIds
     */
    void invitationUserJoin(String ids, String userIds);
 
    /**
     * 请离用户(租户)
     * @param userIds
     * @param tenantId
     */
    void leaveTenant(String userIds, String tenantId);
 
    /**
     * 添加租户,并将创建的用户加入关系表
     * @param sysTenant
     * @param userId
     */
    Integer saveTenantJoinUser(SysTenant sysTenant, String userId);
 
    /**
     * 保存租户
     * @param sysTenant
     */
    void saveTenant(SysTenant sysTenant);
 
    /**
     * 通过门牌号加入租户
     * @param sysTenant
     * @param userId
     */
    Integer joinTenantByHouseNumber(SysTenant sysTenant, String userId);
 
    /**
     * 统计一个人创建了多少个租户
     * 
     * @param userId
     * @return
     */
    Integer countCreateTenantNum(String userId);
 
    /**
     * 获取租户回收站的数据
     * @param page
     * @param sysTenant
     * @return
     */
    IPage<SysTenant> getRecycleBinPageList(Page<SysTenant> page, SysTenant sysTenant);
 
    /**
     * 彻底删除租户
     * @param ids
     */
    void deleteTenantLogic(String ids);
 
    /**
     * 还原租户
     * @param ids
     */
    void revertTenantLogic(String ids);
 
    /**
     * 退出租户
     * @param userId
     * @param userId
     * @param username
     */
    void exitUserTenant(String userId, String username, String tenantId);
 
    /**
     * 变更租户拥有者
     * @param userId
     */
    void changeOwenUserTenant(String userId);
 
    /**
     * 邀请用户到租户。通过手机号匹配
     * @param phone
     * @return
     */
    Result<String> invitationUser(String phone);
 
    /**
     * 进入应用组织页面 查询用户是否有 超级管理员的权限
     * @param tenantId
     * @return
     */
    TenantDepartAuthInfo getTenantDepartAuthInfo(Integer tenantId);
 
 
    /**
     * 获取 租户产品包-3个默认admin的人员数量
     * @param tenantId
     * @return
     */
    List<TenantPackUserCount> queryTenantPackUserCount(Integer tenantId);
 
    /**
     * 查询租户产品包信息
     * @param model
     * @return
     */
    TenantPackModel queryTenantPack(TenantPackModel model);
 
    /**
     * 添加多个用户和产品包的关系数据
     * @param sysTenantPackUser
     */
    void addBatchTenantPackUser(SysTenantPackUser sysTenantPackUser);
 
    /**
     * 添加用户和产品包的关系数据 带日志记录的
     * @param sysTenantPackUser
     */
    void addTenantPackUser(SysTenantPackUser sysTenantPackUser);
 
    /**
     * 移除用户和产品包的关系数据 带日志记录的
     * @param sysTenantPackUser
     */
    void deleteTenantPackUser(SysTenantPackUser sysTenantPackUser);
 
 
    /**
     * 查询申请的用户列表
     */
    List<TenantPackUser> getTenantPackApplyUsers(Integer tenantId);
 
    /**
     * 个人 申请成为管理员
     * @param sysTenantPackUser
     */
    void doApplyTenantPackUser(SysTenantPackUser sysTenantPackUser);
 
    /**
     * 申请通过 成为管理员
     * @param sysTenantPackUser
     */
    void passApply(SysTenantPackUser sysTenantPackUser);
 
    /**
     * 拒绝申请 成为管理员
     * @param sysTenantPackUser
     */
    void deleteApply(SysTenantPackUser sysTenantPackUser);
}