From d03abd47f2f6c0145b0d30773a8b5ee6252f1139 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Thu, 18 Jan 2024 14:18:50 +0800
Subject: [PATCH] 新增区域数据处理
---
src/main/java/org/springblade/modules/system/mapper/RegionMapper.java | 6 +++
src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml | 6 +++
src/main/java/org/springblade/modules/system/service/IRegionService.java | 5 ++
src/main/java/org/springblade/modules/system/controller/RegionController.java | 9 ++++
src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java | 44 ++++++++++++++++++++++
src/main/java/org/springblade/modules/system/entity/Region.java | 7 +++
6 files changed, 77 insertions(+), 0 deletions(-)
diff --git a/src/main/java/org/springblade/modules/system/controller/RegionController.java b/src/main/java/org/springblade/modules/system/controller/RegionController.java
index 7d3778a..1a427e3 100644
--- a/src/main/java/org/springblade/modules/system/controller/RegionController.java
+++ b/src/main/java/org/springblade/modules/system/controller/RegionController.java
@@ -236,5 +236,14 @@
ExcelUtil.export(response, "行政区划模板", "行政区划表", list, RegionExcel.class);
}
+ /**
+ * 区划数据处理
+ */
+ @ApiOperation(value = "区划数据处理")
+ @GetMapping("/regionDataHandle")
+ public void regionDataHandle() {
+ regionService.regionDataHandle();
+ }
+
}
diff --git a/src/main/java/org/springblade/modules/system/entity/Region.java b/src/main/java/org/springblade/modules/system/entity/Region.java
index 3dbca89..61e0915 100644
--- a/src/main/java/org/springblade/modules/system/entity/Region.java
+++ b/src/main/java/org/springblade/modules/system/entity/Region.java
@@ -37,6 +37,13 @@
private static final long serialVersionUID = 1L;
+// /**
+// * 区划编号 ---数据处理用
+// */
+// @TableId(value = "id", type = IdType.AUTO)
+// @ApiModelProperty(value = "区划编号")
+// private Long id;
+
/**
* 区划编号
*/
diff --git a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.java b/src/main/java/org/springblade/modules/system/mapper/RegionMapper.java
index 21b1bfc..aabedc1 100644
--- a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.java
+++ b/src/main/java/org/springblade/modules/system/mapper/RegionMapper.java
@@ -84,4 +84,10 @@
*/
@MapKey(value = "id")
Map<String, TreeStringNode> getBaseTree();
+
+ /**
+ * 查询parentCode 长度少于12 的
+ * @return
+ */
+ List<Region> getCodeLess12DataList();
}
diff --git a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml b/src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml
index d418cbb..0f22ccd 100644
--- a/src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml
+++ b/src/main/java/org/springblade/modules/system/mapper/RegionMapper.xml
@@ -161,4 +161,10 @@
where region_level >0 and region_level <4
</select>
+ <!--查询parentCode 长度少于12 的-->
+ <select id="getCodeLess12DataList" resultType="org.springblade.modules.system.entity.Region">
+ SELECT * FROM blade_region
+ where length(parent_code) < 12
+ </select>
+
</mapper>
diff --git a/src/main/java/org/springblade/modules/system/service/IRegionService.java b/src/main/java/org/springblade/modules/system/service/IRegionService.java
index 832bf01..8416d79 100644
--- a/src/main/java/org/springblade/modules/system/service/IRegionService.java
+++ b/src/main/java/org/springblade/modules/system/service/IRegionService.java
@@ -104,4 +104,9 @@
* @return
*/
List<TreeStringNode> getBaseTree();
+
+ /**
+ * 区划数据处理
+ */
+ void regionDataHandle();
}
diff --git a/src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java b/src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java
index 2c3709b..2f33745 100644
--- a/src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java
+++ b/src/main/java/org/springblade/modules/system/service/impl/RegionServiceImpl.java
@@ -20,6 +20,7 @@
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
+import org.apache.logging.log4j.util.Strings;
import org.springblade.common.node.TreeStringNode;
import org.springblade.common.utils.NodeTreeUtil;
import org.springblade.core.log.exception.ServiceException;
@@ -170,4 +171,47 @@
public List<TreeStringNode> getBaseTree() {
return NodeTreeUtil.getStringNodeTree(baseMapper.getBaseTree());
}
+
+ /**
+ * 区划数据处理
+ */
+ @Override
+ public void regionDataHandle() {
+ // 查询所有区划数据
+ List<Region> regionList = baseMapper.getCodeLess12DataList();
+ // 遍历处理
+ for (Region region : regionList) {
+ // 设置code
+ region.setCode(StringUtils.rightPad(region.getCode(),12,"0"));
+ // 设置parent_code
+ region.setParentCode(StringUtils.rightPad(region.getParentCode(),12,"0"));
+ // 设置Ancestors
+ setAncestors(region);
+ // 设置ProvinceCode
+ region.setProvinceCode(StringUtils.rightPad(region.getProvinceCode(),12,"0"));
+ // 设置CityCode
+ region.setCityCode(StringUtils.rightPad(region.getCityCode(),12,"0"));
+ // 设置DistrictCode
+ region.setDistrictCode(StringUtils.rightPad(region.getDistrictCode(),12,"0"));
+ // 设置TownCode
+ region.setTownCode(StringUtils.rightPad(region.getTownCode(),12,"0"));
+ // 设置VillageCode
+ region.setVillageCode(StringUtils.rightPad(region.getVillageCode(),12,"0"));
+ // 更新
+ updateById(region);
+ }
+ }
+
+ /**
+ * Ancestors 字段处理
+ * @param region
+ */
+ private void setAncestors(Region region) {
+ String[] split = region.getAncestors().split(",");
+ List<String> list = new ArrayList<>();
+ for (String s : split) {
+ list.add(StringUtils.rightPad(s,12,"0"));
+ }
+ region.setAncestors(Strings.join(list, ','));
+ }
}
--
Gitblit v1.9.3