无关风月
5 天以前 acbe0c6c601ff1368002d701631a43a2c00b61f5
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TDeptServiceImpl.java
@@ -2,7 +2,6 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.entity.TDept;
import com.ruoyi.system.mapper.TDeptMapper;
import com.ruoyi.system.service.TDeptService;
@@ -10,6 +9,7 @@
import java.util.ArrayList;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
/**
@@ -37,7 +37,6 @@
    @Override
    public List<Integer> getAllSubDeptIds(String deptId) {
        List<Integer> allSubIds = new ArrayList<>();
        allSubIds.add(Integer.valueOf(deptId));
        getSubDeptIdsRecursive(Integer.valueOf(deptId), allSubIds);
        return allSubIds.stream().distinct().collect(Collectors.toList());
    }
@@ -50,6 +49,8 @@
            // 递归查询下级的下级
            getSubDeptIdsRecursive(subId, allSubIds);
        }
        allSubIds.add(Integer.valueOf(parentId));
    }
    /**
     * 构建部门树结构
@@ -79,4 +80,14 @@
                .peek(dept -> dept.setChildren(getChildren(dept, depts)))
                .collect(Collectors.toList());
    }
    @Override
    public Optional<List<Integer>> getQueryDeptAndChildIds(Integer deptId) {
        if (deptId != null) {
            List<Integer> allDeptIds = new ArrayList<>();
            getSubDeptIdsRecursive(deptId, allDeptIds);
            return Optional.of(allDeptIds.stream().distinct().collect(Collectors.toList()));
        }
        return Optional.empty();
    }
}