/* * Copyright 2019-2020 Zheng Jie * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package me.zhengjie.modules.system.service; import me.zhengjie.modules.dm.user.service.dto.DmUserQueryCriteria; import me.zhengjie.modules.system.domain.Dept; import me.zhengjie.modules.system.service.dto.DeptDto; import me.zhengjie.modules.system.service.dto.DeptQueryCriteria; import me.zhengjie.modules.system.service.dto.DeptQueryNoAuthCriteria; import org.springframework.data.domain.Pageable; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.Map; import java.util.Set; /** * @author Zheng Jie * @date 2019-03-25 */ public interface DeptService { /** * 查询所有数据 * @param criteria 条件 * @param isQuery / * @throws Exception / * @return / */ List queryAll2(DeptQueryCriteria criteria, String[] sort, Boolean isQuery) throws Exception; /** * 查询所有数据 * @param criteria 条件 * @param isQuery / * @throws Exception / * @return / */ List queryAll(DeptQueryCriteria criteria, Boolean isQuery) throws Exception; /** * 查询所有数据 * @param criteria 条件 * @return / */ List queryAll(DeptQueryNoAuthCriteria criteria) throws Exception; /** * 查询数据分页 * @param criteria 条件 * @param pageable 分页参数 * @return Map */ Map queryAll(DeptQueryNoAuthCriteria criteria, Pageable pageable); /** * 根据ID查询 * @param id / * @return / */ DeptDto findById(String id); /** * 创建 * @param resources / */ void create(Dept resources); /** * 创建 * @param resources / */ void syncCreate(Dept resources); /** * 编辑 * @param resources / */ void update(Dept resources); /** * 删除 * @param deptDtos / * */ void delete(Set deptDtos); /** * 根据PID查询 * @param pid / * @return / */ List findByPid(String pid); /** * 根据角色ID查询 * @param id / * @return / */ Set findByRoleId(String id); /** * 导出数据 * @param queryAll 待导出的数据 * @param response / * @throws IOException / */ void download(List queryAll, HttpServletResponse response) throws IOException; /** * 获取待删除的部门 * @param deptList / * @param deptDtos / * @return / */ Set getDeleteDepts(List deptList, Set deptDtos); /** * 根据ID获取同级与上级数据 * @param deptDto / * @param depts / * @return / */ List getSuperior(DeptDto deptDto, List depts); /** * 构建树形数据 * @param deptDtos / * @return / */ Object buildTree(List deptDtos); /** * 获取 * @param deptList * @return */ List getDeptChildren(List deptList); /** * 验证是否被角色或用户关联 * @param deptDtos / */ void verification(Set deptDtos); /** * 查询所有数据 * @return / */ List getAllDept() throws Exception; }