package com.gkhy.safePlatform.account.service.baseService; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.gkhy.safePlatform.account.entity.schedule.GroupInfo; import com.gkhy.safePlatform.account.entity.schedule.GroupInfoDO; import com.gkhy.safePlatform.account.entity.schedule.GroupStrategyInfo; import com.gkhy.safePlatform.account.entity.schedule.GroupStrategyInfoDO; import com.gkhy.safePlatform.account.model.bo.GroupInfoBO; import com.gkhy.safePlatform.account.model.bo.GroupInfoPageBO; import com.gkhy.safePlatform.account.model.query.db.GroupDBQuery; import com.gkhy.safePlatform.account.model.query.db.GroupPageDBQuery; import java.util.Collection; import java.util.List; public interface GroupInfoService extends IService { GroupInfoDO getGroupInfoById(Long groupId); List listGroupInfoDO(GroupDBQuery groupDBQuery); /** * @Description: 根据 groupId 获取 组策略 */ GroupStrategyInfoDO getGroupStrategyByGroupId(Long groupId); /** * @Description: 根据 groupStrategyId 获取内部成员班组 ids */ List listGroupIdsByGroupStrategyId(Long groupStrategyId); /** * @Description: 根据 groupIds 解绑组策略 */ void unbindBatchGroupStrategyByGroupIds(List groupIds); /** * @Description: 根据 groupStrategyId 解绑组 */ void unbindGroupStrategyByGroupStrategyId(Long groupStrategyId); /** * @Description: 根据 groupStrategyId 获取绑定的 班组 */ List listGroupInfoDOsByGroupStrategyId(Long groupStrategyId); /** * @Description: 分页查询班组 */ List listGroupInfo(Page page, GroupPageDBQuery dbQuery); /** * @Description: 根据 dbQuery 查询 bo对象 */ List listGroupInfoBO(GroupDBQuery dbQuery); /** * @Description: 根据 groupInfo 删除信息 并且 解绑班组所属部门 不可复用 */ void deleteGroupInfo(GroupInfo groupInfo); /** * @Description: 根据 depId 判断是否存在 班组 挂载在部门下 */ boolean isExistGroupMountedByDepartment(Long depId); /** * @Description: 根据 groupIds 获取 班组信息 */ List listGroupDOByGroupIds(Collection groupIds); }