From 39d8ed73265c0369dbfea2b2599193b024c557d1 Mon Sep 17 00:00:00 2001 From: zuohuaijun Date: Mon, 10 Mar 2025 13:53:15 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=8E=E4=BF=AE=E5=A4=8D=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E8=A1=8C=E6=94=BF=E5=8C=BA=E5=88=92=E7=A9=BA=E5=AF=B9?= =?UTF-8?q?=E8=B1=A1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/Region/SysRegionService.cs | 96 ++++++++++--------- 1 file changed, 51 insertions(+), 45 deletions(-) diff --git a/Admin.NET/Admin.NET.Core/Service/Region/SysRegionService.cs b/Admin.NET/Admin.NET.Core/Service/Region/SysRegionService.cs index e1a19741..02cc7e8d 100644 --- a/Admin.NET/Admin.NET.Core/Service/Region/SysRegionService.cs +++ b/Admin.NET/Admin.NET.Core/Service/Region/SysRegionService.cs @@ -297,63 +297,69 @@ public class SysRegionService : IDynamicApiController, ITransient Level = regionLevel0.Level, }); } - foreach (var regionLevel1 in regionLevel0.Children) + if (regionLevel0.Children != null) { - var region1 = new SysRegion + foreach (var regionLevel1 in regionLevel0.Children) { - Id = Convert.ToInt64(regionLevel1.Code), - Pid = Convert.ToInt64(regionLevel0.Code), - Code = regionLevel1.Code, - Name = regionLevel1.Name, - Type = regionLevel1.Type, - Level = regionLevel1.Level, - }; - if (areaList.Any(u => u.Id == region1.Id)) - Console.WriteLine($"1 级:{region1.Id} - {region1.Name} 已存在"); - else - areaList.Add(region1); - foreach (var regionLevel2 in regionLevel1.Children) - { - var region2 = new SysRegion + var region1 = new SysRegion { - Id = Convert.ToInt64(regionLevel2.Code), - Pid = Convert.ToInt64(regionLevel1.Code), - Code = regionLevel2.Code, - Name = regionLevel2.Name, - Type = regionLevel2.Type, - Level = regionLevel2.Level, + Id = Convert.ToInt64(regionLevel1.Code), + Pid = Convert.ToInt64(regionLevel0.Code), + Code = regionLevel1.Code, + Name = regionLevel1.Name, + Type = regionLevel1.Type, + Level = regionLevel1.Level, }; - if (areaList.Any(u => u.Id == region2.Id)) - Console.WriteLine($"2 级:{region2.Id} - {region2.Name} 已存在"); + if (areaList.Any(u => u.Id == region1.Id)) + Console.WriteLine($"1 级:{region1.Id} - {region1.Name} 已存在"); else - areaList.Add(region2); - foreach (var regionLevel3 in regionLevel2.Children) + areaList.Add(region1); + if (regionLevel1.Children == null) continue; + foreach (var regionLevel2 in regionLevel1.Children) { - var region3 = new SysRegion + var region2 = new SysRegion { - Id = Convert.ToInt64(regionLevel3.Code), - Pid = Convert.ToInt64(regionLevel2.Code), - Code = regionLevel3.Code, - Name = regionLevel3.Name, - Type = regionLevel3.Type, - Level = regionLevel3.Level, + Id = Convert.ToInt64(regionLevel2.Code), + Pid = Convert.ToInt64(regionLevel1.Code), + Code = regionLevel2.Code, + Name = regionLevel2.Name, + Type = regionLevel2.Type, + Level = regionLevel2.Level, }; - if (areaList.Any(u => u.Id == region3.Id)) - Console.WriteLine($"3 级:{region3.Id} - {region3.Name}"); + if (areaList.Any(u => u.Id == region2.Id)) + Console.WriteLine($"2 级:{region2.Id} - {region2.Name} 已存在"); else - areaList.Add(region3); - foreach (var regionLevel4 in regionLevel3.Children) + areaList.Add(region2); + if (regionLevel2.Children == null) continue; + foreach (var regionLevel3 in regionLevel2.Children) { - var region4 = new SysRegion + var region3 = new SysRegion { - Id = Convert.ToInt64(regionLevel4.Code), - Pid = Convert.ToInt64(regionLevel3.Code), - Code = regionLevel4.Code, - Name = regionLevel4.Name, - Type = regionLevel4.Type, - Level = regionLevel4.Level, + Id = Convert.ToInt64(regionLevel3.Code), + Pid = Convert.ToInt64(regionLevel2.Code), + Code = regionLevel3.Code, + Name = regionLevel3.Name, + Type = regionLevel3.Type, + Level = regionLevel3.Level, }; - areaList.Add(region4); + if (areaList.Any(u => u.Id == region3.Id)) + Console.WriteLine($"3 级:{region3.Id} - {region3.Name}"); + else + areaList.Add(region3); + if (regionLevel3.Children == null) continue; + foreach (var regionLevel4 in regionLevel3.Children) + { + var region4 = new SysRegion + { + Id = Convert.ToInt64(regionLevel4.Code), + Pid = Convert.ToInt64(regionLevel3.Code), + Code = regionLevel4.Code, + Name = regionLevel4.Name, + Type = regionLevel4.Type, + Level = regionLevel4.Level, + }; + areaList.Add(region4); + } } } }