Browse Source

行政地区编码查询

dev_shibei_match
zxc 5 years ago
parent
commit
64ef3715d6
  1. 35
      epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java

35
epmet-module/epmet-common-service/common-service-server/src/main/java/com/epmet/service/impl/AreaCodeServiceImpl.java

@ -232,33 +232,32 @@ public class AreaCodeServiceImpl extends BaseServiceImpl<AreaCodeDao, AreaCodeEn
*/ */
public List<AreaCodeDictResultDTO> getTreeByRootAreaCode(List<AreaCodeDictResultDTO> tree , String rootAreaCode){ public List<AreaCodeDictResultDTO> getTreeByRootAreaCode(List<AreaCodeDictResultDTO> tree , String rootAreaCode){
List<AreaCodeDictResultDTO> result = new ArrayList<>(); List<AreaCodeDictResultDTO> result = new ArrayList<>();
AtomicReference<Boolean> flag = new AtomicReference<>(false);
if (!CollectionUtils.isEmpty(tree)){ if (!CollectionUtils.isEmpty(tree)){
// 省级获取 // 省级获取
tree.forEach(t -> { for (AreaCodeDictResultDTO dto : tree) {
if (rootAreaCode.equals(t.getCode())){ if (rootAreaCode.equals(dto.getCode())){
result.add(t); result.add(dto);
flag.set(true); return result;
} }
// 市级获取 // 市级获取
if (!CollectionUtils.isEmpty(t.getChildren()) && flag.get() == false){ if (!CollectionUtils.isEmpty(dto.getChildren())){
t.getChildren().forEach(c -> { for (AreaCodeDictResultDTO child : dto.getChildren()) {
if (rootAreaCode.equals(c.getCode())){ if (rootAreaCode.equals(child.getCode())){
result.add(c); result.add(child);
flag.set(true); return result;
} }
// 区级获取 // 区级获取
if (!CollectionUtils.isEmpty(c.getChildren()) && flag.get() == false){ if (!CollectionUtils.isEmpty(child.getChildren())){
c.getChildren().forEach(three -> { for (AreaCodeDictResultDTO threeChild : child.getChildren()) {
if (rootAreaCode.equals(three.getCode()) && flag.get() == false){ if (rootAreaCode.equals(threeChild.getCode())){
result.add(three); result.add(threeChild);
flag.set(true); return result;
} }
}); }
} }
}); }
} }
}); }
} }
return result; return result;
} }

Loading…
Cancel
Save