From 28231163c688c379a688ce6878a1126ee218aa52 Mon Sep 17 00:00:00 2001
From: huangzhen <867217663@qq.com>
Date: Tue, 26 Sep 2023 16:53:48 +0800
Subject: [PATCH] 煤矿功能
---
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDistrictServiceImpl.java | 30 ++++++++++++++++++++++++++++++
1 files changed, 30 insertions(+), 0 deletions(-)
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDistrictServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDistrictServiceImpl.java
index 6e04e05..405c859 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDistrictServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDistrictServiceImpl.java
@@ -122,5 +122,35 @@
return collect;
}
+ @Override
+ public List<Long> selectChildrenIdsById(Long id) {
+ List<SysDistrict> districts = this.selectAll();
+ if (CollectionUtils.isEmpty(districts)){
+ throw new BusinessException(this.getClass(), ResultConstants.SYSTEM_ERROR_DATABASE_FAIL,"区划信息获取失败");
+ }
+ List<Long> list = new ArrayList<>();
+ districts.stream()
+ //父节点的id = 0,根据它开始进行实现。
+ .filter(e -> e.getId().equals(id))
+ .map(e ->{
+ list.add(e.getId());
+ getchildrenIds(list,e,districts);
+ return e;
+ }).collect(Collectors.toList());
+ return list;
+ }
+
+ private void getchildrenIds(List<Long> list,SysDistrict root,List<SysDistrict> districts){
+ //root为每次最新的传递过来的数据,也就是上面过滤之后的 e ;
+ List<SysDistrict> collect = districts.stream()
+ //根据传递过来的 e ,拿到他的id,来查询出他的子节点id 这里有个特点 e.id = 子节点的父节点id
+ .filter(e -> Objects.equals(e.getParentcode(), root.getCode()))
+ .map(e -> {
+ list.add(e.getId());
+ getchildrenIds(list,e,districts);
+ //递归找到他的子节点,直到找到最后一个子节点为止,饼进行封装。
+ return e;
+ }).collect(Collectors.toList());
+ }
}
--
Gitblit v1.9.2