From 3ef388b922400f979788958d9b2823af4fcd7b07 Mon Sep 17 00:00:00 2001
From: liujie <liujie>
Date: 星期二, 22 八月 2023 09:14:01 +0800
Subject: [PATCH] 2.0 新增
---
management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRegionServiceImpl.java | 44 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRegionServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRegionServiceImpl.java
index 4820c3c..27624bb 100644
--- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRegionServiceImpl.java
+++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TRegionServiceImpl.java
@@ -1,20 +1,60 @@
package com.stylefeng.guns.modular.system.service.impl;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.stylefeng.guns.modular.system.model.TRegion;
import com.stylefeng.guns.modular.system.dao.TRegionMapper;
import com.stylefeng.guns.modular.system.service.ITRegionService;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.apache.commons.compress.utils.Lists;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+import java.util.stream.Collectors;
/**
* <p>
* 省市区三级联动 服务实现类
* </p>
*
- * @author 吕雪
- * @since 2020-06-02
+ * @author stylefeng
+ * @since 2023-02-20
*/
@Service
public class TRegionServiceImpl extends ServiceImpl<TRegionMapper, TRegion> implements ITRegionService {
+ @Autowired
+ private TRegionMapper tRegionMapper;
+
+ @Override
+ public List<TRegion> getAreaList() {
+ // 查询所有区域
+ List<TRegion> tRegions = tRegionMapper.selectList(new EntityWrapper<TRegion>());
+ if (CollectionUtils.isEmpty(tRegions)){
+ return Lists.newArrayList();
+ }
+ // 过滤顶级
+ List<TRegion> parent = tRegions.stream().filter(region -> region.getParentId().equals(0)).collect(Collectors.toList());
+ // 再进行递归组装
+ getChildren(tRegions, parent);
+ return parent;
+ }
+
+ /**
+ * 递归封装层级
+ * @param tRegions
+ * @param parentList
+ */
+ private void getChildren(List<TRegion> tRegions, List<TRegion> parentList) {
+ parentList.stream().forEach(parent -> {
+ List<TRegion> children = tRegions.stream().
+ filter(salesTierVO -> salesTierVO.getParentId().equals(parent.getId()))
+ .collect(Collectors.toList());
+ parent.setChildren(children);
+ if (!CollectionUtils.isEmpty(children)) {
+ getChildren(tRegions, children);
+ }
+ });
+ }
}
--
Gitblit v1.7.1