Browse Source

网格接口优化;新增疏导区四个街镇场所数量接口

fuyuchuan 1 month ago
parent
commit
d14e8f50ec

+ 9 - 3
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/DemGridMemderStatisticController.java

@@ -4,6 +4,7 @@ package com.usky.fire.controller.web;
 import com.usky.common.core.bean.ApiResult;
 import com.usky.fire.domain.DemGridMemderStatistic;
 import com.usky.fire.service.DemGridMemderStatisticService;
+import io.swagger.annotations.Api;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -38,9 +39,14 @@ public class DemGridMemderStatisticController {
      */
     @GetMapping("gridMemderStatistic")
     public ApiResult<DemGridMemderStatistic> gridMemderStatistic(@RequestParam(value = "gridArea", required = false) String gridArea,
-                                                                 @RequestParam(value = "mapGridName",required = false) String mapGridName,
-                                                                       @RequestParam(value = "gridGrade",required = false) Integer gridGrade){
-        return ApiResult.success(demGridMemderStatisticService.gridMemderStatistic(gridArea,mapGridName,gridGrade));
+                                                                 @RequestParam(value = "mapGridName", required = false) String mapGridName,
+                                                                 @RequestParam(value = "gridGrade", required = false) Integer gridGrade) {
+        return ApiResult.success(demGridMemderStatisticService.gridMemderStatistic(gridArea, mapGridName, gridGrade));
+    }
+
+    @GetMapping("getStreetTownVenue")
+    public ApiResult<List<DemGridMemderStatistic>> getStreetTownVenue() {
+        return ApiResult.success(demGridMemderStatisticService.getStreetTownVenue());
     }
 
 }

+ 7 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/domain/DemGridMemderStatistic.java

@@ -1,6 +1,7 @@
 package com.usky.fire.domain;
 
 import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
 import lombok.Data;
@@ -31,6 +32,12 @@ public class DemGridMemderStatistic implements Serializable {
      */
     private Integer gridMemberId;
 
+    /**
+     * 网格区域
+     */
+    @TableField(exist = false)
+    private String gridArea;
+
     /**
      * 网格员人数
      */

+ 2 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/DemGridMemderStatisticService.java

@@ -16,4 +16,6 @@ import java.util.List;
 public interface DemGridMemderStatisticService extends CrudService<DemGridMemderStatistic> {
 
     DemGridMemderStatistic gridMemderStatistic(String gridArea, String mapGridName, Integer gridGrade);
+
+    List<DemGridMemderStatistic> getStreetTownVenue();
 }

+ 91 - 70
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/DemGridMemderStatisticServiceImpl.java

@@ -14,10 +14,8 @@ import com.usky.common.mybatis.core.AbstractCrudService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -34,181 +32,181 @@ public class DemGridMemderStatisticServiceImpl extends AbstractCrudService<DemGr
     private DemGridMemberService demGridMemberService;
 
     @Override
-    public DemGridMemderStatistic gridMemderStatistic(String gridArea, String mapGridName, Integer gridGrade){
+    public DemGridMemderStatistic gridMemderStatistic(String gridArea, String mapGridName, Integer gridGrade) {
         DemGridMemderStatistic gridMemderStatistic = new DemGridMemderStatistic();
 
         QueryWrapper<DemGridMemderStatistic> queryWrapper = Wrappers.query();
-        if(gridGrade == null){
-            queryWrapper.select("SUM(personnel_num) as personnelNum","SUM(village_num) as villageNum","SUM(high_rise_num) as highRiseNum","SUM(office_buildings_num) as officeBuildingsNum","SUM(street_front_num) as streetFrontNum","SUM(key_company_num) as keyCompanyNum","SUM(factory_store_num) as factoryStoreNum","SUM(medical_institution_num) as medicalInstitutionNum","SUM(school_num) as schoolNum","SUM(elder_care_num) as elderCareNum","SUM(large_build_num) as largeBuildNum","SUM(dealer_market_num) as dealerMarketNum","SUM(pulic_entertainment_num) as pulicEntertainmentNum","SUM(religious_places_num) as religiousPlacesNum","SUM(hotel_num) as hotelNum","SUM(scale_rent_num) as scaleRentNum","SUM(gas_station_num) as gasStationNum","SUM(subway_station_num) as subwayStationNum","SUM(construction_site_num) as constructionSiteNum","SUM(community_num) as communityNum","SUM(other_num) as otherNum");
+        if (gridGrade == null) {
+            queryWrapper.select("SUM(personnel_num) as personnelNum", "SUM(village_num) as villageNum", "SUM(high_rise_num) as highRiseNum", "SUM(office_buildings_num) as officeBuildingsNum", "SUM(street_front_num) as streetFrontNum", "SUM(key_company_num) as keyCompanyNum", "SUM(factory_store_num) as factoryStoreNum", "SUM(medical_institution_num) as medicalInstitutionNum", "SUM(school_num) as schoolNum", "SUM(elder_care_num) as elderCareNum", "SUM(large_build_num) as largeBuildNum", "SUM(dealer_market_num) as dealerMarketNum", "SUM(pulic_entertainment_num) as pulicEntertainmentNum", "SUM(religious_places_num) as religiousPlacesNum", "SUM(hotel_num) as hotelNum", "SUM(scale_rent_num) as scaleRentNum", "SUM(gas_station_num) as gasStationNum", "SUM(subway_station_num) as subwayStationNum", "SUM(construction_site_num) as constructionSiteNum", "SUM(community_num) as communityNum", "SUM(other_num) as otherNum");
 
-        }else{
+        } else {
             List<DemGridMember> list = new ArrayList<>();
             LambdaQueryWrapper<DemGridMember> queryWrapperList = Wrappers.lambdaQuery();
             queryWrapperList.eq(DemGridMember::getDeleteFlag, 0)
-                    .eq(StringUtils.isNotBlank(gridArea),DemGridMember::getGridArea, gridArea)
-                    .eq(StringUtils.isNotBlank(mapGridName),DemGridMember::getMapGridName, mapGridName)
-                    .eq(gridGrade != null,DemGridMember::getGridGrade, gridGrade);
+                    .eq(StringUtils.isNotBlank(gridArea), DemGridMember::getGridArea, gridArea)
+                    .eq(StringUtils.isNotBlank(mapGridName), DemGridMember::getMapGridName, mapGridName)
+                    .eq(gridGrade != null, DemGridMember::getGridGrade, gridGrade);
             list = demGridMemberService.list(queryWrapperList);
             if (CollectionUtils.isNotEmpty(list)) {
                 List<Integer> id = new ArrayList<>();
                 for (int i = 0; i < list.size(); i++) {
                     id.add(list.get(i).getId());
                 }
-                if(gridGrade == 2){
+                if (gridGrade == 2) {
                     LambdaQueryWrapper<DemGridMember> queryWrapper1 = Wrappers.lambdaQuery();
-                    queryWrapper1.in(DemGridMember::getSeniorGrid,id);
+                    queryWrapper1.in(DemGridMember::getSeniorGrid, id);
                     List<Integer> idList = new ArrayList<>();
                     List<DemGridMember> queryList = demGridMemberService.list(queryWrapper1);
-                    if(queryList.size() > 0){
+                    if (queryList.size() > 0) {
                         for (int i = 0; i < queryList.size(); i++) {
                             idList.add(queryList.get(i).getId());
                         }
                     }
 
-                    if(idList.size() > 0){
-                        queryWrapper.select("SUM(personnel_num) as personnelNum","SUM(village_num) as villageNum","SUM(high_rise_num) as highRiseNum","SUM(office_buildings_num) as officeBuildingsNum","SUM(street_front_num) as streetFrontNum","SUM(key_company_num) as keyCompanyNum","SUM(factory_store_num) as factoryStoreNum","SUM(medical_institution_num) as medicalInstitutionNum","SUM(school_num) as schoolNum","SUM(elder_care_num) as elderCareNum","SUM(large_build_num) as largeBuildNum","SUM(dealer_market_num) as dealerMarketNum","SUM(pulic_entertainment_num) as pulicEntertainmentNum","SUM(religious_places_num) as religiousPlacesNum","SUM(hotel_num) as hotelNum","SUM(scale_rent_num) as scaleRentNum","SUM(gas_station_num) as gasStationNum","SUM(subway_station_num) as subwayStationNum","SUM(construction_site_num) as constructionSiteNum","SUM(community_num) as communityNum","SUM(other_num) as otherNum")
-                                .in("grid_member_id",idList);
+                    if (idList.size() > 0) {
+                        queryWrapper.select("SUM(personnel_num) as personnelNum", "SUM(village_num) as villageNum", "SUM(high_rise_num) as highRiseNum", "SUM(office_buildings_num) as officeBuildingsNum", "SUM(street_front_num) as streetFrontNum", "SUM(key_company_num) as keyCompanyNum", "SUM(factory_store_num) as factoryStoreNum", "SUM(medical_institution_num) as medicalInstitutionNum", "SUM(school_num) as schoolNum", "SUM(elder_care_num) as elderCareNum", "SUM(large_build_num) as largeBuildNum", "SUM(dealer_market_num) as dealerMarketNum", "SUM(pulic_entertainment_num) as pulicEntertainmentNum", "SUM(religious_places_num) as religiousPlacesNum", "SUM(hotel_num) as hotelNum", "SUM(scale_rent_num) as scaleRentNum", "SUM(gas_station_num) as gasStationNum", "SUM(subway_station_num) as subwayStationNum", "SUM(construction_site_num) as constructionSiteNum", "SUM(community_num) as communityNum", "SUM(other_num) as otherNum")
+                                .in("grid_member_id", idList);
                     }
 
 
-                }else if(gridGrade == 3){
-                    queryWrapper.select("SUM(personnel_num) as personnelNum","SUM(village_num) as villageNum","SUM(high_rise_num) as highRiseNum","SUM(office_buildings_num) as officeBuildingsNum"
-                            ,"SUM(street_front_num) as streetFrontNum","SUM(key_company_num) as keyCompanyNum","SUM(factory_store_num) as factoryStoreNum"
-                            ,"SUM(medical_institution_num) as medicalInstitutionNum","SUM(school_num) as schoolNum","SUM(elder_care_num) as elderCareNum"
-                            ,"SUM(large_build_num) as largeBuildNum","SUM(dealer_market_num) as dealerMarketNum","SUM(pulic_entertainment_num) as pulicEntertainmentNum"
-                            ,"SUM(religious_places_num) as religiousPlacesNum","SUM(hotel_num) as hotelNum","SUM(scale_rent_num) as scaleRentNum"
-                            ,"SUM(gas_station_num) as gasStationNum","SUM(subway_station_num) as subwayStationNum","SUM(construction_site_num) as constructionSiteNum"
-                            ,"SUM(community_num) as communityNum","SUM(other_num) as otherNum")
-                            .in("grid_member_id",id);
+                } else if (gridGrade == 3) {
+                    queryWrapper.select("SUM(personnel_num) as personnelNum", "SUM(village_num) as villageNum", "SUM(high_rise_num) as highRiseNum", "SUM(office_buildings_num) as officeBuildingsNum"
+                                    , "SUM(street_front_num) as streetFrontNum", "SUM(key_company_num) as keyCompanyNum", "SUM(factory_store_num) as factoryStoreNum"
+                                    , "SUM(medical_institution_num) as medicalInstitutionNum", "SUM(school_num) as schoolNum", "SUM(elder_care_num) as elderCareNum"
+                                    , "SUM(large_build_num) as largeBuildNum", "SUM(dealer_market_num) as dealerMarketNum", "SUM(pulic_entertainment_num) as pulicEntertainmentNum"
+                                    , "SUM(religious_places_num) as religiousPlacesNum", "SUM(hotel_num) as hotelNum", "SUM(scale_rent_num) as scaleRentNum"
+                                    , "SUM(gas_station_num) as gasStationNum", "SUM(subway_station_num) as subwayStationNum", "SUM(construction_site_num) as constructionSiteNum"
+                                    , "SUM(community_num) as communityNum", "SUM(other_num) as otherNum")
+                            .in("grid_member_id", id);
                 }
             }
 
         }
-        List<Map<String,Object>> maps = this.listMaps(queryWrapper);
-        if(maps.size() > 0){
-            if(Objects.isNull(maps.get(0).get("personnelNum"))){
+        List<Map<String, Object>> maps = this.listMaps(queryWrapper);
+        if (maps.size() > 0) {
+            if (Objects.isNull(maps.get(0).get("personnelNum"))) {
                 gridMemderStatistic.setPersonnelNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setPersonnelNum(Integer.parseInt(maps.get(0).get("personnelNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("villageNum"))){
+            if (Objects.isNull(maps.get(0).get("villageNum"))) {
                 gridMemderStatistic.setVillageNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setVillageNum(Integer.parseInt(maps.get(0).get("villageNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("highRiseNum"))){
+            if (Objects.isNull(maps.get(0).get("highRiseNum"))) {
                 gridMemderStatistic.setHighRiseNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setHighRiseNum(Integer.parseInt(maps.get(0).get("highRiseNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("officeBuildingsNum"))){
+            if (Objects.isNull(maps.get(0).get("officeBuildingsNum"))) {
                 gridMemderStatistic.setOfficeBuildingsNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setOfficeBuildingsNum(Integer.parseInt(maps.get(0).get("officeBuildingsNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("streetFrontNum"))){
+            if (Objects.isNull(maps.get(0).get("streetFrontNum"))) {
                 gridMemderStatistic.setStreetFrontNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setStreetFrontNum(Integer.parseInt(maps.get(0).get("streetFrontNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("keyCompanyNum"))){
+            if (Objects.isNull(maps.get(0).get("keyCompanyNum"))) {
                 gridMemderStatistic.setKeyCompanyNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setKeyCompanyNum(Integer.parseInt(maps.get(0).get("keyCompanyNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("factoryStoreNum"))){
+            if (Objects.isNull(maps.get(0).get("factoryStoreNum"))) {
                 gridMemderStatistic.setFactoryStoreNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setFactoryStoreNum(Integer.parseInt(maps.get(0).get("factoryStoreNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("medicalInstitutionNum"))){
+            if (Objects.isNull(maps.get(0).get("medicalInstitutionNum"))) {
                 gridMemderStatistic.setMedicalInstitutionNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setMedicalInstitutionNum(Integer.parseInt(maps.get(0).get("medicalInstitutionNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("schoolNum"))){
+            if (Objects.isNull(maps.get(0).get("schoolNum"))) {
                 gridMemderStatistic.setSchoolNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setSchoolNum(Integer.parseInt(maps.get(0).get("schoolNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("elderCareNum"))){
+            if (Objects.isNull(maps.get(0).get("elderCareNum"))) {
                 gridMemderStatistic.setElderCareNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setElderCareNum(Integer.parseInt(maps.get(0).get("elderCareNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("largeBuildNum"))){
+            if (Objects.isNull(maps.get(0).get("largeBuildNum"))) {
                 gridMemderStatistic.setLargeBuildNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setLargeBuildNum(Integer.parseInt(maps.get(0).get("largeBuildNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("dealerMarketNum"))){
+            if (Objects.isNull(maps.get(0).get("dealerMarketNum"))) {
                 gridMemderStatistic.setDealerMarketNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setDealerMarketNum(Integer.parseInt(maps.get(0).get("dealerMarketNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("pulicEntertainmentNum"))){
+            if (Objects.isNull(maps.get(0).get("pulicEntertainmentNum"))) {
                 gridMemderStatistic.setPulicEntertainmentNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setPulicEntertainmentNum(Integer.parseInt(maps.get(0).get("pulicEntertainmentNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("religiousPlacesNum"))){
+            if (Objects.isNull(maps.get(0).get("religiousPlacesNum"))) {
                 gridMemderStatistic.setReligiousPlacesNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setReligiousPlacesNum(Integer.parseInt(maps.get(0).get("religiousPlacesNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("hotelNum"))){
+            if (Objects.isNull(maps.get(0).get("hotelNum"))) {
                 gridMemderStatistic.setHotelNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setHotelNum(Integer.parseInt(maps.get(0).get("hotelNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("scaleRentNum"))){
+            if (Objects.isNull(maps.get(0).get("scaleRentNum"))) {
                 gridMemderStatistic.setScaleRentNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setScaleRentNum(Integer.parseInt(maps.get(0).get("scaleRentNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("gasStationNum"))){
+            if (Objects.isNull(maps.get(0).get("gasStationNum"))) {
                 gridMemderStatistic.setGasStationNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setGasStationNum(Integer.parseInt(maps.get(0).get("gasStationNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("subwayStationNum"))){
+            if (Objects.isNull(maps.get(0).get("subwayStationNum"))) {
                 gridMemderStatistic.setSubwayStationNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setSubwayStationNum(Integer.parseInt(maps.get(0).get("subwayStationNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("constructionSiteNum"))){
+            if (Objects.isNull(maps.get(0).get("constructionSiteNum"))) {
                 gridMemderStatistic.setConstructionSiteNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setConstructionSiteNum(Integer.parseInt(maps.get(0).get("constructionSiteNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("communityNum"))){
+            if (Objects.isNull(maps.get(0).get("communityNum"))) {
                 gridMemderStatistic.setCommunityNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setCommunityNum(Integer.parseInt(maps.get(0).get("communityNum").toString()));
             }
 
-            if(Objects.isNull(maps.get(0).get("otherNum"))){
+            if (Objects.isNull(maps.get(0).get("otherNum"))) {
                 gridMemderStatistic.setOtherNum(0);
-            }else{
+            } else {
                 gridMemderStatistic.setOtherNum(Integer.parseInt(maps.get(0).get("otherNum").toString()));
             }
 
@@ -216,4 +214,27 @@ public class DemGridMemderStatisticServiceImpl extends AbstractCrudService<DemGr
 
         return gridMemderStatistic;
     }
+
+    @Override
+    public List<DemGridMemderStatistic> getStreetTownVenue() {
+        List<DemGridMemderStatistic> result = new ArrayList<>();
+
+        LambdaQueryWrapper<DemGridMember> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.select(DemGridMember::getId, DemGridMember::getGridArea)
+                .eq(DemGridMember::getGridGrade, 1);
+        List<Integer> demGridMemberIds = demGridMemberService.list(queryWrapper).stream().map(DemGridMember::getId).collect(Collectors.toList());
+        Map<Integer, String> demGridMemberMap = demGridMemberService.list(queryWrapper).stream().collect(Collectors.toMap(DemGridMember::getId, DemGridMember::getGridArea));
+
+        if (demGridMemberIds.isEmpty()) {
+            return result;
+        }
+
+        LambdaQueryWrapper<DemGridMemderStatistic> queryWrapper1 = new LambdaQueryWrapper<>();
+        queryWrapper1.in(DemGridMemderStatistic::getGridMemberId, demGridMemberIds);
+        result = baseMapper.selectList(queryWrapper1);
+        for (DemGridMemderStatistic demGridMemderStatistic : result) {
+            demGridMemderStatistic.setGridArea(demGridMemberMap.get(demGridMemderStatistic.getGridMemberId()));
+        }
+        return result;
+    }
 }