|  |  | 
 |  |  |         return sysArea; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 查询除了乡镇以外的地区 | 
 |  |  |      * | 
 |  |  |      * @return | 
 |  |  |      */ | 
 |  |  |     @Override | 
 |  |  |     public List<SysArea> queryCity() { | 
 |  |  |         //取出所有地区 | 
 |  |  |         List<SysArea> sysAreas = sysAreaMapper.selectList(null); | 
 |  |  |         //创建Map key为地区码 value为地区对象 供组装使用 | 
 |  |  |         Map<Integer, SysArea> areaMap = new HashMap<>(); | 
 |  |  |         for (SysArea sysArea : sysAreas) { | 
 |  |  |             areaMap.put(sysArea.getAreaCode(), sysArea); | 
 |  |  |             sysArea.setChildren(new ArrayList<>());//初始化children集合 | 
 |  |  |         } | 
 |  |  |         //遍历所有城市,判断是否有父城市,如果有则添加到父城市中。 | 
 |  |  |         int i=0; | 
 |  |  |         for (SysArea sysArea : sysAreas) { | 
 |  |  |             Integer parentCode = sysArea.getParentCode(); | 
 |  |  |             String s = sysArea.getAreaCode().toString(); | 
 |  |  |             if (!parentCode.equals(0)) { | 
 |  |  |                 if (s.length()>7){ | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |                 SysArea parentArea = areaMap.get(parentCode); | 
 |  |  |                 if (ObjectUtils.isEmpty(parentArea)){ | 
 |  |  |                     continue; | 
 |  |  |                 } | 
 |  |  |                 List<SysArea> children = parentArea.getChildren(); | 
 |  |  |                 children.add(sysArea); | 
 |  |  | //                parentArea.getChildren().add(sysArea); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         //移除集合中非父顶级城市 | 
 |  |  |         sysAreas.removeIf(new Predicate<SysArea>() { | 
 |  |  |             @Override | 
 |  |  |             public boolean test(SysArea sysArea) { | 
 |  |  |                 if (sysArea.getParentCode().equals(0)) | 
 |  |  |                     return false; | 
 |  |  |                 return true; | 
 |  |  |             } | 
 |  |  |         }); | 
 |  |  |         return sysAreas; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public List<SysArea> selectCode(Integer code) { | 
 |  |  |         QueryWrapper<SysArea> wrapper = new QueryWrapper<>(); | 
 |  |  |         wrapper.eq("parent_code",code); | 
 |  |  |         List<SysArea> sysAreas = sysAreaMapper.selectList(wrapper); | 
 |  |  |         return sysAreas; | 
 |  |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     private List<SysArea> querySysAreaFromDB() { | 
 |  |  |         //取出所有地区 |