Commit a674cebc authored by lixuan's avatar lixuan

feat: 房源

parent e98666a8
Pipeline #144662 failed with stages
in 34 minutes and 42 seconds
...@@ -356,69 +356,19 @@ public class HouseResourceServiceImpl implements HouseResourceService { ...@@ -356,69 +356,19 @@ public class HouseResourceServiceImpl implements HouseResourceService {
} }
businessEntityStatisticsDetail.setZtCount(businessEntityInfos.size()); businessEntityStatisticsDetail.setZtCount(businessEntityInfos.size());
List<String> gyIds = businessEntityInfos.stream().filter(x -> StringUtils.hasText(x.getIndustryClassification()) && x.getIndustryClassification().equals("工业")).map(BusinessEntityInfo::getId).collect(Collectors.toList()); Map<String, BigDecimal> industrySellMap = Arrays.asList("工业", "建筑业", "批发", "零售", "住宿", "餐饮", "服务业", "其他")
if (!CollectionUtils.isEmpty(gyIds)) { .parallelStream()
List<BusinessEntitySell> businessEntitySells = businessEntitySellMapper.selectBusinessEntitySellByEntityIds(gyIds); .collect(Collectors.toMap(industry -> industry, industry -> getIndustrySellCount(businessEntityInfos, industry, businessEntitySellMapper)));
if (!CollectionUtils.isEmpty(businessEntitySells)) {
businessEntityStatisticsDetail.setGyCount(businessEntitySells.stream().map(BusinessEntitySell::getYearSell).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add)); businessEntityStatisticsDetail.setGyCount(industrySellMap.getOrDefault("工业", BigDecimal.ZERO));
} businessEntityStatisticsDetail.setJzyCount(industrySellMap.getOrDefault("建筑业", BigDecimal.ZERO));
} businessEntityStatisticsDetail.setPfCount(industrySellMap.getOrDefault("批发", BigDecimal.ZERO));
businessEntityStatisticsDetail.setLsCount(industrySellMap.getOrDefault("零售", BigDecimal.ZERO));
List<String> jzyIds = businessEntityInfos.stream().filter(x -> StringUtils.hasText(x.getIndustryClassification()) && x.getIndustryClassification().equals("建筑业")).map(BusinessEntityInfo::getId).collect(Collectors.toList()); businessEntityStatisticsDetail.setZsCount(industrySellMap.getOrDefault("住宿", BigDecimal.ZERO));
if (!CollectionUtils.isEmpty(jzyIds)) { businessEntityStatisticsDetail.setCyCount(industrySellMap.getOrDefault("餐饮", BigDecimal.ZERO));
List<BusinessEntitySell> businessEntitySells = businessEntitySellMapper.selectBusinessEntitySellByEntityIds(jzyIds); businessEntityStatisticsDetail.setFwyCount(industrySellMap.getOrDefault("服务业", BigDecimal.ZERO));
if (!CollectionUtils.isEmpty(businessEntitySells)) { businessEntityStatisticsDetail.setQtjjfzCount(industrySellMap.getOrDefault("其他", BigDecimal.ZERO));
businessEntityStatisticsDetail.setJzyCount(businessEntitySells.stream().map(BusinessEntitySell::getYearSell).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
}
}
List<String> pfIds = businessEntityInfos.stream().filter(x -> StringUtils.hasText(x.getIndustryClassification()) && x.getIndustryClassification().equals("批发")).map(BusinessEntityInfo::getId).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(pfIds)) {
List<BusinessEntitySell> businessEntitySells = businessEntitySellMapper.selectBusinessEntitySellByEntityIds(pfIds);
if (!CollectionUtils.isEmpty(businessEntitySells)) {
businessEntityStatisticsDetail.setPfCount(businessEntitySells.stream().map(BusinessEntitySell::getYearSell).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
}
}
List<String> lsIds = businessEntityInfos.stream().filter(x -> StringUtils.hasText(x.getIndustryClassification()) && x.getIndustryClassification().equals("零售")).map(BusinessEntityInfo::getId).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(lsIds)) {
List<BusinessEntitySell> businessEntitySells = businessEntitySellMapper.selectBusinessEntitySellByEntityIds(lsIds);
if (!CollectionUtils.isEmpty(businessEntitySells)) {
businessEntityStatisticsDetail.setLsCount(businessEntitySells.stream().map(BusinessEntitySell::getYearSell).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
}
}
List<String> zsIds = businessEntityInfos.stream().filter(x -> StringUtils.hasText(x.getIndustryClassification()) && x.getIndustryClassification().equals("住宿")).map(BusinessEntityInfo::getId).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(zsIds)) {
List<BusinessEntitySell> businessEntitySells = businessEntitySellMapper.selectBusinessEntitySellByEntityIds(zsIds);
if (!CollectionUtils.isEmpty(businessEntitySells)) {
businessEntityStatisticsDetail.setZsCount(businessEntitySells.stream().map(BusinessEntitySell::getYearSell).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
}
}
List<String> cyIds = businessEntityInfos.stream().filter(x -> StringUtils.hasText(x.getIndustryClassification()) && x.getIndustryClassification().equals("餐饮")).map(BusinessEntityInfo::getId).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(cyIds)) {
List<BusinessEntitySell> businessEntitySells = businessEntitySellMapper.selectBusinessEntitySellByEntityIds(cyIds);
if (!CollectionUtils.isEmpty(businessEntitySells)) {
businessEntityStatisticsDetail.setCyCount(businessEntitySells.stream().map(BusinessEntitySell::getYearSell).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
}
}
List<String> fwyIds = businessEntityInfos.stream().filter(x -> StringUtils.hasText(x.getIndustryClassification()) && x.getIndustryClassification().equals("服务业")).map(BusinessEntityInfo::getId).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(fwyIds)) {
List<BusinessEntitySell> businessEntitySells = businessEntitySellMapper.selectBusinessEntitySellByEntityIds(fwyIds);
if (!CollectionUtils.isEmpty(businessEntitySells)) {
businessEntityStatisticsDetail.setFwyCount(businessEntitySells.stream().map(BusinessEntitySell::getYearSell).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
}
}
List<String> qtIds = businessEntityInfos.stream().filter(x -> StringUtils.hasText(x.getIndustryClassification()) && x.getIndustryClassification().equals("其他")).map(BusinessEntityInfo::getId).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(qtIds)) {
List<BusinessEntitySell> businessEntitySells = businessEntitySellMapper.selectBusinessEntitySellByEntityIds(qtIds);
if (!CollectionUtils.isEmpty(businessEntitySells)) {
businessEntityStatisticsDetail.setQtjjfzCount(businessEntitySells.stream().map(BusinessEntitySell::getYearSell).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add));
}
}
businessEntityStatisticsDetail.setJjzl(businessEntityStatisticsDetail.getGyCount() businessEntityStatisticsDetail.setJjzl(businessEntityStatisticsDetail.getGyCount()
.add(businessEntityStatisticsDetail.getJzyCount()) .add(businessEntityStatisticsDetail.getJzyCount())
.add(businessEntityStatisticsDetail.getPfCount()) .add(businessEntityStatisticsDetail.getPfCount())
...@@ -512,4 +462,19 @@ public class HouseResourceServiceImpl implements HouseResourceService { ...@@ -512,4 +462,19 @@ public class HouseResourceServiceImpl implements HouseResourceService {
}); });
return list.stream().sorted(Comparator.comparing(HouseResourcePage::getHouseNumber, Comparator.nullsLast(String::compareTo))).collect(Collectors.toList()); return list.stream().sorted(Comparator.comparing(HouseResourcePage::getHouseNumber, Comparator.nullsLast(String::compareTo))).collect(Collectors.toList());
} }
private BigDecimal getIndustrySellCount(List<BusinessEntityInfo> infos, String industry, BusinessEntitySellMapper sellMapper) {
List<String> ids = infos.stream()
.filter(x -> StringUtils.hasText(x.getIndustryClassification()) && x.getIndustryClassification().equals(industry))
.map(BusinessEntityInfo::getId)
.collect(Collectors.toList());
if (CollectionUtils.isEmpty(ids)) {
return BigDecimal.ZERO;
}
List<BusinessEntitySell> sells = sellMapper.selectBusinessEntitySellByEntityIds(ids);
if (CollectionUtils.isEmpty(sells)) {
return BigDecimal.ZERO;
}
return sells.stream().map(BusinessEntitySell::getYearSell).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment