| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.ArrayList; |
| | | import java.util.Collection; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.concurrent.TimeUnit; |
| | |
| | | private RedisTemplate<Object, Object> redisTemplate; |
| | | |
| | | @Override |
| | | public List<Region> addressTree() { |
| | | // redis缓存 |
| | | Map<Object, Object> regionList = redisTemplate.opsForHash().entries(RedisConstants.ADDRESS_TREE); |
| | | public List<Region> addressTree(List<String> cityCodeList) { |
| | | // 获取所有地区信息 省市区三级 |
| | | List<Region> regions = getReginList(regionList); |
| | | List<Region> regions = getReginList(cityCodeList); |
| | | // 所有地区 |
| | | Map<String, Region> courseTypeMap = regions.stream(). |
| | | collect(Collectors.toMap(region -> region.getId().toString() |
| | |
| | | /** |
| | | * 获取redis数据进行封装 |
| | | */ |
| | | private List<Region> getReginList(Map<Object, Object> regionMap) { |
| | | List<Region> regions = new ArrayList<>(); |
| | | if (!regionMap.isEmpty()) { |
| | | Collection<Object> values = regionMap.values(); |
| | | for (Object value : values) { |
| | | regions.add((Region) value); |
| | | } |
| | | } else { |
| | | private List<Region> getReginList(List<String> cityCodeList) { |
| | | List<Region> regions; |
| | | if (cityCodeList.isEmpty()) { |
| | | regions = this.list(); |
| | | } else { |
| | | regions = this.lambdaQuery() |
| | | .in(Region::getCode, cityCodeList).list(); |
| | | } |
| | | return regions; |
| | | } |