From a270c45bff057427b8347e4cca664d24e62f076f Mon Sep 17 00:00:00 2001 From: yinzuomei <576302893@qq.com> Date: Thu, 7 Apr 2022 11:05:37 +0800 Subject: [PATCH] commonservice/areacode/areacodedicttree --- .../epmet/dto/form/AreaCodeDictFormDTO.java | 1 + .../java/com/epmet/dao/AreaCodeChildDao.java | 2 +- .../service/impl/AreaCodeServiceImpl.java | 22 +++++++++---------- .../resources/mapper/AreaCodeChildDao.xml | 4 +++- 4 files changed, 16 insertions(+), 13 deletions(-) diff --git a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDictFormDTO.java b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDictFormDTO.java index 4340d4d015..47d915cd4c 100644 --- a/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDictFormDTO.java +++ b/epmet-module/epmet-common-service/common-service-client/src/main/java/com/epmet/dto/form/AreaCodeDictFormDTO.java @@ -13,6 +13,7 @@ public class AreaCodeDictFormDTO implements Serializable { private static final long serialVersionUID = 5780301376757138238L; + //平阴传参:rootAreaCode=370124, rootAreaLevel=district /** * 根结点code 不传,则返回全部 */ diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeChildDao.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeChildDao.java index 24339f6397..169449fc2f 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeChildDao.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/dao/AreaCodeChildDao.java @@ -34,7 +34,7 @@ import java.util.List; @Mapper public interface AreaCodeChildDao extends BaseDao { - List selectAllChild(); + List selectAllChild(String areaCode); AreaCodeChildDTO selectByCode(@Param("code") String code); diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java index 6f4ad9f000..4d873b333e 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java +++ b/epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java @@ -137,7 +137,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl areaCodeDictResultDTOS = disposeTree(); + List areaCodeDictResultDTOS = disposeTree(formDTO); areaCodeRedis.set(AreaCodeConstant.SCREEN_TREE,areaCodeDictResultDTOS); tree = areaCodeDictResultDTOS; } @@ -154,11 +154,11 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeTree(){ + public List disposeTree(AreaCodeDictFormDTO formDTO){ // 查询所有省市区 List areaCodeDTOS = baseDao.selectAllArea(); // 查询所有街道、社区 - List areaCodeChildDTOS = childDao.selectAllChild(); + List areaCodeChildDTOS = childDao.selectAllChild(formDTO.getRootAreaCode()); List result = new ArrayList<>(); List fourResult = new ArrayList<>(); List cityResult = new ArrayList<>(); @@ -388,21 +388,21 @@ public class AreaCodeServiceImpl extends BaseServiceImpl afterTwoTree(){ + public List afterTwoTree(AreaCodeDictFormDTO form){ // 查询所有街道、社区 - List areaCodeChildDTOS = childDao.selectAllChild(); + List areaCodeChildDTOS = childDao.selectAllChild(form.getRootAreaCode()); List fourResult = new ArrayList<>(); List fiveResult = new ArrayList<>(); // 街道-社区 Map> groupByLevel = areaCodeChildDTOS.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getLevel)); //社区 - List levelFive = groupByLevel.get(NumConstant.FIVE); - Map> groupByPCode = levelFive.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getPCode)); + List levelFive = org.apache.commons.collections4.CollectionUtils.isNotEmpty(groupByLevel.get(NumConstant.FIVE)) ? groupByLevel.get(NumConstant.FIVE) : new ArrayList<>(); + Map> groupByPCode = CollectionUtils.isEmpty(levelFive) ? new HashMap<>() : levelFive.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getPCode)); //街道 - List levelFour = groupByLevel.get(NumConstant.FOUR); + List levelFour = org.apache.commons.collections4.CollectionUtils.isNotEmpty(groupByLevel.get(NumConstant.FOUR)) ?groupByLevel.get(NumConstant.FOUR):new ArrayList<>(); // 6级 List levelSix = groupByLevel.get(NumConstant.SIX); - Map> groupBySixPCode = levelSix.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getPCode)); + Map> groupBySixPCode = CollectionUtils.isEmpty(levelSix) ? new HashMap<>() : levelSix.stream().collect(Collectors.groupingBy(AreaCodeChildDTO::getPCode)); levelFive.forEach(f -> { AreaCodeDictResultDTO dto = new AreaCodeDictResultDTO(); @@ -450,7 +450,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeAfterTwoLevel(AreaCodeDictFormDTO form){ List result = new ArrayList<>(); - List areaCodeDictResultDTOS = afterTwoTree(); + List areaCodeDictResultDTOS = afterTwoTree(form); if (CollectionUtils.isEmpty(areaCodeDictResultDTOS)){ return new ArrayList<>(); } @@ -532,7 +532,7 @@ public class AreaCodeServiceImpl extends BaseServiceImpl disposeBeforeThreeLevelFinal(AreaCodeDictFormDTO form,List tree){ List threeDto = disposeBeforeThreeLevel(form, tree); - List twoDto = afterTwoTree(); + List twoDto = afterTwoTree(form); if (CollectionUtils.isEmpty(threeDto)){ return new ArrayList<>(); } diff --git a/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeChildDao.xml b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeChildDao.xml index c918bb7702..34877f6c08 100644 --- a/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeChildDao.xml +++ b/epmet-module/epmet-common-service/common-service-server/src/main/resources/mapper/AreaCodeChildDao.xml @@ -5,7 +5,9 @@