From afa0dbb4f54e7244835dd67ec33c3e545f122f71 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期五, 17 一月 2025 16:40:43 +0800
Subject: [PATCH] bug修改

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/RegionServiceImpl.java |   27 ++++++++++++++++++++++++++-
 1 files changed, 26 insertions(+), 1 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..078b62f 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()) {
@@ -82,7 +101,13 @@
             return regionVoList1;
         }
     }
-
+    
+    
+    @Override
+    public List<RegionVo> listRegions(Long pid) {
+        return regionMapper.listRegions(pid);
+    }
+    
     /**
      * @param
      * @return List<RegionVo>

--
Gitblit v1.7.1