| | |
| | | import com.ycl.platform.base.BaseSelect; |
| | | import com.ycl.platform.domain.entity.Region; |
| | | import com.ycl.platform.domain.entity.YwUnit; |
| | | import com.ycl.platform.domain.vo.RegionCascaderVO; |
| | | import com.ycl.platform.mapper.RegionMapper; |
| | | import com.ycl.platform.service.RegionService; |
| | | import com.ycl.system.Result; |
| | |
| | | }).collect(Collectors.toList()); |
| | | return Result.ok().data(vos); |
| | | } |
| | | |
| | | @Override |
| | | public Result cascader() { |
| | | List<Region> regionList = new LambdaQueryChainWrapper<>(baseMapper) |
| | | .ne(Region::getRegionLevel, RegionLevelEnum.CITY) |
| | | .list(); |
| | | List<RegionCascaderVO> vos = regionList.stream().map(entity -> { |
| | | RegionCascaderVO vo = new RegionCascaderVO(); |
| | | vo.setValue(entity.getId()); |
| | | vo.setLabel(entity.getSimpleName()); |
| | | vo.setRegionLevel(entity.getRegionLevel()); |
| | | vo.setParentId(entity.getParentId()); |
| | | return vo; |
| | | }).collect(Collectors.toList()); |
| | | List<RegionCascaderVO> removeList = new ArrayList<>(12); |
| | | for (RegionCascaderVO region : vos) { |
| | | if (region.getRegionLevel() == RegionLevelEnum.COUNTY) { |
| | | List<RegionCascaderVO> childList = new ArrayList<>(12); |
| | | for (RegionCascaderVO region1 : vos) { |
| | | if (region1.getParentId() == region.getValue()) { |
| | | childList.add(region1); |
| | | removeList.add(region1); |
| | | } |
| | | } |
| | | region.setChildren(childList); |
| | | } |
| | | } |
| | | vos.removeAll(removeList); |
| | | return Result.ok().data(vos); |
| | | } |
| | | } |