未使用orElseGet之前的代码:
List<ResourceItem> resourceItems = response.getData();
if (CollectionUtils.isNotEmpty(resourceItems)) {
Map<Long, List<ResourceItem>> collect =
resourceItems.stream().map(e -> {
if (e.getScope() == null || e.getScope() == 600L || e.getScope() == 0L) {
e.setScope(600L);
}
return e;
}).collect(Collectors.groupingBy(ResourceItem::getScope));
// 当前城市 (优先使用当前城市所配置的广告,若是没有,使用全国的,全国的城cityId是600/0/null,)
List<ResourceItem> curCity = collect.get(cityId.longValue());
if (!ObjectUtils.isEmpty(curCity)) {
List<HouseExpertsAdsVO> curCityList = curCity.stream()
.map(e -> e.convert(HouseExpertsAdsVO.c