Commit 00fe057d authored by lixuan's avatar lixuan

Merge branch 'dev-lx' into 'dev'

feat: 房源

See merge request !154
parents d5255f80 6f0c6c4e
Pipeline #143442 canceled with stages
in 4 minutes and 38 seconds
...@@ -62,4 +62,9 @@ public class HouseResourceController { ...@@ -62,4 +62,9 @@ public class HouseResourceController {
public AjaxResult getListHouseResources(HouseResourcePageQuery query) { public AjaxResult getListHouseResources(HouseResourcePageQuery query) {
return AjaxResult.success(houseResourceService.listHouseResources(query)); return AjaxResult.success(houseResourceService.listHouseResources(query));
} }
@GetMapping("/businessEntityStatistics")
public AjaxResult getBusinessEntityStatistics(@RequestParam(required = false) String two) {
return AjaxResult.success(houseResourceService.businessEntityStatistics(two));
}
} }
package com.ruoyi.system.domain.house.vo;
import lombok.Data;
import java.math.BigDecimal;
@Data
public class BusinessEntityStatisticsDetail {
private long lyCount;
private long jqCount;
private long jdCount;
private long scCount;
private long zhtCount;
private long zlCount;
private long zyCount;
private long qtCount;
private long zaiyingCount;
private long xzCount;
private long gkCount;
private BigDecimal gyCount = BigDecimal.ZERO;
private BigDecimal jzyCount = BigDecimal.ZERO;
private BigDecimal pfCount = BigDecimal.ZERO;
private BigDecimal lsCount = BigDecimal.ZERO;
private BigDecimal zsCount = BigDecimal.ZERO;
private BigDecimal cyCount = BigDecimal.ZERO;
private BigDecimal fwyCount = BigDecimal.ZERO;
private BigDecimal qtjjfzCount = BigDecimal.ZERO;
}
...@@ -25,4 +25,6 @@ public interface BusinessEntityInfoMapper { ...@@ -25,4 +25,6 @@ public interface BusinessEntityInfoMapper {
void deleteByHouseResourceId(@Param("houseResourceId") String houseResourceId); void deleteByHouseResourceId(@Param("houseResourceId") String houseResourceId);
List<BusinessEntityInfo> selectAllBusinessEntityInfosByHouseResourceId(@Param("houseResourceId") String houseResourceId); List<BusinessEntityInfo> selectAllBusinessEntityInfosByHouseResourceId(@Param("houseResourceId") String houseResourceId);
List<BusinessEntityInfo> selectAllBusinessEntityInfosByHouseResourceIds(@Param("houseResourceIds") List<String> houseResourceIds);
} }
...@@ -26,4 +26,6 @@ public interface BusinessEntitySellMapper { ...@@ -26,4 +26,6 @@ public interface BusinessEntitySellMapper {
List<BusinessEntitySell> selectBusinessEntitySellByEntityId(@Param("entityId") String entityId); List<BusinessEntitySell> selectBusinessEntitySellByEntityId(@Param("entityId") String entityId);
List<BusinessEntitySell> selectBusinessEntitySellByEntityIds(@Param("entityIds") List<String> entityIds);
} }
...@@ -25,4 +25,6 @@ public interface HouseResourceMapper { ...@@ -25,4 +25,6 @@ public interface HouseResourceMapper {
List<HouseResourcePage> selectProfileGraph(@Param("query") HouseResourcePageQuery houseResourcePageQuery); List<HouseResourcePage> selectProfileGraph(@Param("query") HouseResourcePageQuery houseResourcePageQuery);
List<HouseResourcePage> selectList(@Param("query") HouseResourcePageQuery houseResourcePageQuery); List<HouseResourcePage> selectList(@Param("query") HouseResourcePageQuery houseResourcePageQuery);
List<HouseResource> selectAll();
} }
...@@ -23,4 +23,6 @@ public interface HouseResourceService { ...@@ -23,4 +23,6 @@ public interface HouseResourceService {
List<HouseResourceProfileGraph> profileGraphHouseResources(HouseResourcePageQuery query); List<HouseResourceProfileGraph> profileGraphHouseResources(HouseResourcePageQuery query);
List<HouseResourcePage> listHouseResources(HouseResourcePageQuery query); List<HouseResourcePage> listHouseResources(HouseResourcePageQuery query);
BusinessEntityStatisticsDetail businessEntityStatistics(String two);
} }
...@@ -20,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -20,6 +20,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils; import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -184,6 +185,102 @@ public class HouseResourceServiceImpl implements HouseResourceService { ...@@ -184,6 +185,102 @@ public class HouseResourceServiceImpl implements HouseResourceService {
} }
} }
@Override
public BusinessEntityStatisticsDetail businessEntityStatistics(String two) {
List<HouseResource> list = houseResourceMapper.selectAll();
if (CollectionUtils.isEmpty(list)) {
return new BusinessEntityStatisticsDetail();
}
BusinessEntityStatisticsDetail businessEntityStatisticsDetail = new BusinessEntityStatisticsDetail();
if (StringUtils.hasText(two)) {
list = list.stream().filter(x -> x.getTwo().equals(two)).collect(Collectors.toList());
}
businessEntityStatisticsDetail.setLyCount(list.stream().filter(x -> x.getType() == 1).count());
businessEntityStatisticsDetail.setJdCount(list.stream().filter(x -> x.getType() == 4).count());
businessEntityStatisticsDetail.setJqCount(list.stream().filter(x -> x.getType() == 5).count());
businessEntityStatisticsDetail.setZhtCount(list.stream().filter(x -> x.getType() == 6).count());
businessEntityStatisticsDetail.setScCount(list.stream().filter(x -> x.getType() == 7).count());
businessEntityStatisticsDetail.setZlCount(list.stream().filter(x -> x.getHouseResourceAttribute() == 0).count());
businessEntityStatisticsDetail.setZyCount(list.stream().filter(x -> x.getHouseResourceAttribute() == 1).count());
businessEntityStatisticsDetail.setQtCount(list.stream().filter(x -> x.getHouseResourceAttribute() == 2).count());
businessEntityStatisticsDetail.setZaiyingCount(list.stream().filter(x -> x.getHouseResourceType() == 0).count());
businessEntityStatisticsDetail.setXzCount(list.stream().filter(x -> x.getHouseResourceType() == 1).count());
businessEntityStatisticsDetail.setGkCount(list.stream().filter(x -> x.getHouseResourceType() == 2).count());
List<String> houseResourceIds = list.stream().map(HouseResource::getId).collect(Collectors.toList());
List<BusinessEntityInfo> businessEntityInfos = businessEntityInfoMapper.selectAllBusinessEntityInfosByHouseResourceIds(houseResourceIds);
if (CollectionUtils.isEmpty(businessEntityInfos)) {
return businessEntityStatisticsDetail;
}
List<String> gyIds = businessEntityInfos.stream().filter(x -> StringUtils.hasText(x.getIndustryClassification()) && x.getIndustryClassification().equals("工业")).map(BusinessEntityInfo::getId).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(gyIds)) {
List<BusinessEntitySell> businessEntitySells = businessEntitySellMapper.selectBusinessEntitySellByEntityIds(gyIds);
if (!CollectionUtils.isEmpty(businessEntitySells)) {
businessEntityStatisticsDetail.setGyCount(businessEntitySells.stream().map(BusinessEntitySell::getYearSell).reduce(BigDecimal.ZERO, BigDecimal::add));
}
}
List<String> jzyIds = businessEntityInfos.stream().filter(x -> StringUtils.hasText(x.getIndustryClassification()) && x.getIndustryClassification().equals("建筑业")).map(BusinessEntityInfo::getId).collect(Collectors.toList());
if (!CollectionUtils.isEmpty(jzyIds)) {
List<BusinessEntitySell> businessEntitySells = businessEntitySellMapper.selectBusinessEntitySellByEntityIds(jzyIds);
if (!CollectionUtils.isEmpty(businessEntitySells)) {
businessEntityStatisticsDetail.setJzyCount(businessEntitySells.stream().map(BusinessEntitySell::getYearSell).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).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).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).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).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).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).reduce(BigDecimal.ZERO, BigDecimal::add));
}
}
return businessEntityStatisticsDetail;
}
private List<HouseResourcePage> handleHouseList(List<HouseResourcePage> list) { private List<HouseResourcePage> handleHouseList(List<HouseResourcePage> list) {
list.forEach(x -> { list.forEach(x -> {
GridRegionExample twoExample = new GridRegionExample(); GridRegionExample twoExample = new GridRegionExample();
......
...@@ -62,4 +62,8 @@ ...@@ -62,4 +62,8 @@
resultType="com.ruoyi.system.domain.house.BusinessEntityInfo"> resultType="com.ruoyi.system.domain.house.BusinessEntityInfo">
SELECT * FROM business_entity_info WHERE house_resource_id = #{houseResourceId} SELECT * FROM business_entity_info WHERE house_resource_id = #{houseResourceId}
</select> </select>
<select id="selectAllBusinessEntityInfosByHouseResourceIds"
resultType="com.ruoyi.system.domain.house.BusinessEntityInfo">
SELECT * FROM business_entity_info WHERE house_resource_id in <foreach collection="houseResourceIds" item="houseResourceId" open="(" close=")" separator=",">#{houseResourceId}</foreach>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -55,4 +55,8 @@ ...@@ -55,4 +55,8 @@
resultType="com.ruoyi.system.domain.house.BusinessEntitySell"> resultType="com.ruoyi.system.domain.house.BusinessEntitySell">
SELECT * FROM business_entity_sell WHERE business_entity_info_id = #{entityId} SELECT * FROM business_entity_sell WHERE business_entity_info_id = #{entityId}
</select> </select>
<select id="selectBusinessEntitySellByEntityIds"
resultType="com.ruoyi.system.domain.house.BusinessEntitySell">
SELECT * FROM business_entity_sell WHERE business_entity_info_id in <foreach collection="entityIds" item="entityId" open="(" close=")" separator=",">#{entityId}</foreach>
</select>
</mapper> </mapper>
\ No newline at end of file
...@@ -210,4 +210,7 @@ ...@@ -210,4 +210,7 @@
</if> </if>
</where> </where>
</select> </select>
<select id="selectAll" resultType="com.ruoyi.system.domain.house.HouseResource">
SELECT * FROM house_resource
</select>
</mapper> </mapper>
\ No newline at end of file
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