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 { /** * 查询有效的租户 * * @param idList * @return */ List queryEffectiveTenant(Collection 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 getRecycleBinPageList(Page 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 invitationUser(String phone); /** * 进入应用组织页面 查询用户是否有 超级管理员的权限 * @param tenantId * @return */ TenantDepartAuthInfo getTenantDepartAuthInfo(Integer tenantId); /** * 获取 租户产品包-3个默认admin的人员数量 * @param tenantId * @return */ List 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 getTenantPackApplyUsers(Integer tenantId); /** * 个人 申请成为管理员 * @param sysTenantPackUser */ void doApplyTenantPackUser(SysTenantPackUser sysTenantPackUser); /** * 申请通过 成为管理员 * @param sysTenantPackUser */ void passApply(SysTenantPackUser sysTenantPackUser); /** * 拒绝申请 成为管理员 * @param sysTenantPackUser */ void deleteApply(SysTenantPackUser sysTenantPackUser); List listAllTenant(); }