From d5b3e5a413bcfccba294793ee093722f31b2448a Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期三, 16 八月 2023 17:02:13 +0800
Subject: [PATCH] 添加推单日志

---
 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