|  |  |  | 
|---|
|  |  |  | 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() { | 
|---|
|  |  |  | //取出所有地区 | 
|---|