package com.cloudroam.service; import com.cloudroam.bo.GroupPermissionBO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; import com.cloudroam.common.enumeration.GroupLevelEnum; import com.cloudroam.model.GroupDO; import java.util.List; /** * @author * @author * 分组服务接口 */ public interface GroupService extends IService { /** * 获得用户的所有分组 * * @param userId 用户id * @return 所有分组 */ List getUserGroupsByUserId(Integer userId); /** * 获得用户的所有分组id * * @param userId 用户id * @return 所有分组id */ List getUserGroupIdsByUserId(Integer userId); /** * 分页获取分组数据 * * @param count 分页数量 * @param page 那一页 * @return 分组页 */ IPage getGroupPage(int page, int count); /** * 通过id检查分组是否存在 * * @param id 分组id * @return 是否存在 */ boolean checkGroupExistById(Integer id); /** * 获得分组及其权限 * * @param id 分组id * @return 分组及权限 */ GroupPermissionBO getGroupAndPermissions(Integer id); /** * 通过名称检查分组是否存在 * * @param name 分组名 * @return 是否存在 */ boolean checkGroupExistByName(String name); /** * 检查该用户是否在root分组中 * * @param userId 用户id * @return true表示在 */ boolean checkIsRootByUserId(Integer userId); /** * 删除用户与分组直接的关联 * * @param userId 用户id * @param deleteIds 分组id */ boolean deleteUserGroupRelations(Integer userId, List deleteIds); /** * 添加用户与分组直接的关联 * * @param userId 用户id * @param addIds 分组id */ boolean addUserGroupRelations(Integer userId, List addIds); /** * 获得分组下所有用户的id * * @param id 分组id * @return 用户id */ List getGroupUserIds(Integer id); /** * 通过分组级别获取超级管理员分组或游客分组 * * @param level GroupLevelEnum 枚举类 * @return 用户组 */ GroupDO getParticularGroupByLevel(GroupLevelEnum level); /** * 通过分组级别获取超级管理员分组或游客分组的id * * @param level GroupLevelEnum 枚举类 * @return 用户组id */ Integer getParticularGroupIdByLevel(GroupLevelEnum level); }