From 94ae02e6f73b7011f0fcf6acff8636341d35351d Mon Sep 17 00:00:00 2001
From: xuhy <3313886187@qq.com>
Date: 星期三, 15 一月 2025 17:24:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/RegionServiceImpl.java | 34 +++++++++++++++++++++++++++++++++-
1 files changed, 33 insertions(+), 1 deletions(-)
diff --git a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/RegionServiceImpl.java b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/RegionServiceImpl.java
index bfe3bd6..5223b80 100644
--- a/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/RegionServiceImpl.java
+++ b/ruoyi-service/ruoyi-admin/src/main/java/com/ruoyi/admin/service/impl/RegionServiceImpl.java
@@ -61,12 +61,44 @@
return treeData;
}
+ @Override
+ public List<Region> addressTree1(List<String> cityCodeList) {
+ // 获取所有地区信息 省市区三级
+ List<Region> regions = getReginList(cityCodeList);
+ // 所有地区
+ Map<String, Region> courseTypeMap = regions.stream().
+ collect(Collectors.toMap(region -> region.getId().toString()
+ , region -> region));
+ redisTemplate.opsForHash().putAll(RedisConstants.ADDRESS_TREE, courseTypeMap);
+ redisTemplate.expire(RedisConstants.ADDRESS_TREE, 30, TimeUnit.MINUTES);
+ // 生成map集合
+ Map<Integer, Region> map = regions.stream().collect(Collectors.toMap(Region::getId, region -> region));
+ // 存放无限级树
+ List<Region> treeData = new ArrayList<>();
+ // 遍历地区集合
+ regions.forEach(e -> {
+ if (e.getParentId() == null || e.getParentId().equals(0)||!cityCodeList.isEmpty()) {
+ treeData.add(e);
+ } else {
+ Region region = map.get(e.getParentId());
+ region.getChildren().add(e);
+ }
+ });
+ for (Region region : treeData) {
+ List<Region> children = region.getChildren();
+ for (Region child : children) {
+ child.setChildren(new ArrayList<>());
+ }
+ }
+ return treeData;
+ }
+
/**
* 获取redis数据进行封装
*/
private List<Region> getReginList(List<String> cityCodeList) {
List<Region> regions;
- if (cityCodeList==null) {
+ if (cityCodeList==null||cityCodeList.isEmpty()) {
regions = this.list();
} else {
regions = this.lambdaQuery()
--
Gitblit v1.7.1