From 3ffd3ab0899390721aabe6fc1a0f2d8a6a038759 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期五, 15 十二月 2023 10:48:49 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+), 0 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java
index 36c1ea8..15859ee 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java
@@ -51,6 +51,7 @@
             List<RegionVo> regionVoList = regionMapper.listRegionVo();
             List<RegionVo> regionVoList1 = new ArrayList<>();
             List<RegionVo> regionVoList2 = new ArrayList<>();
+            List<RegionVo> regionVoList3 = new ArrayList<>();
             // 将地区按照级别分别存放到不同的列表中
             for (RegionVo regionVo : regionVoList) {
                 if (regionVo.getLevel() == 1) {
@@ -59,9 +60,27 @@
                 if (regionVo.getLevel() == 2) {
                     regionVoList2.add(regionVo);
                 }
+                if (regionVo.getLevel() == 3) {
+                    regionVoList3.add(regionVo);
+                }
             }
             RegionVo children;
             Iterator<RegionVo> regionVoIterator2;
+
+            for (RegionVo regionVo : regionVoList2) {
+                if (null == regionVo.getChildren()) {
+                    regionVo.setChildren(new ArrayList<>());
+                }
+                regionVoIterator2 = regionVoList3.iterator();
+                while (regionVoIterator2.hasNext()) {
+                    children = regionVoIterator2.next();
+                    if (regionVo.getId().equals(children.getParentId())) {
+                        regionVo.getChildren().add(children);
+                        regionVoIterator2.remove();
+                    }
+                }
+            }
+
             // 将第二级地区挂到第一级地区下面
             for (RegionVo regionVo : regionVoList1) {
                 if (null == regionVo.getChildren()) {

--
Gitblit v1.7.1