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