package com.kmall.admin.service.impl; import com.kmall.admin.dao.SysDeptDao; import com.kmall.admin.entity.SysDeptEntity; import com.kmall.admin.service.SysDeptService; import com.qiniu.util.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.List; import java.util.Map; @Service("sysDeptService") public class SysDeptServiceImpl implements SysDeptService { @Autowired private SysDeptDao sysDeptDao; @Override public SysDeptEntity queryObject(Long deptId) { return sysDeptDao.queryObject(deptId); } @Override public List queryList(Map map) { return sysDeptDao.queryList(map); } @Override public void save(SysDeptEntity sysDept) { sysDeptDao.save(sysDept); } @Override public void update(SysDeptEntity sysDept) { sysDeptDao.update(sysDept); } @Override public void delete(Long deptId) { sysDeptDao.delete(deptId); } @Override public List queryDetpIdList(Long parentId) { return sysDeptDao.queryDetpIdList(parentId); } @Override public String getSubDeptIdList(Long deptId) { //部门及子部门ID列表 List deptIdList = new ArrayList<>(); //获取子部门ID List subIdList = queryDetpIdList(deptId); getDeptTreeList(subIdList, deptIdList); //添加本部门 deptIdList.add(deptId); String deptFilter = StringUtils.join(deptIdList, ","); return deptFilter; } /** * 递归 */ public void getDeptTreeList(List subIdList, List deptIdList) { for (Long deptId : subIdList) { List list = queryDetpIdList(deptId); if (list.size() > 0) { getDeptTreeList(list, deptIdList); } deptIdList.add(deptId); } } }