Explorar o código

'开发地理信息-统计接口'

james hai 1 ano
pai
achega
9585bc07ab

+ 12 - 5
service-fire/service-fire-biz/src/main/java/com/usky/fire/controller/web/BaseGgpFacilityController.java

@@ -5,13 +5,10 @@ import com.usky.common.core.bean.ApiResult;
 import com.usky.fire.domain.BaseGgpFacility;
 import com.usky.fire.service.BaseGgpFacilityService;
 import com.usky.fire.service.vo.BaseGgpFacilityListVO;
+import com.usky.fire.service.vo.BaseGgpFacilityStatisticVO;
 import com.usky.fire.service.vo.BaseGgpFacilityVO;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -38,5 +35,15 @@ public class BaseGgpFacilityController {
     public ApiResult<List<BaseGgpFacility>> baseGgpFacilityList(@RequestBody BaseGgpFacilityVO baseGgpFacilityVO) {
         return ApiResult.success(baseGgpFacilityService.baseGgpFacilityList(baseGgpFacilityVO));
     }
+
+    /**
+     * 统计
+     * @param facilityType
+     * @return
+     */
+    @GetMapping("statistic")
+    public ApiResult<List<BaseGgpFacilityStatisticVO>> statistic(@RequestParam(value = "facilityType") Integer facilityType){
+        return ApiResult.success(baseGgpFacilityService.statistic(facilityType));
+    }
 }
 

+ 4 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/BaseGgpFacilityService.java

@@ -4,8 +4,10 @@ import com.usky.fire.domain.BaseGgpFacility;
 import com.usky.common.mybatis.core.CrudService;
 import com.usky.fire.domain.DemFireStation;
 import com.usky.fire.service.vo.BaseGgpFacilityListVO;
+import com.usky.fire.service.vo.BaseGgpFacilityStatisticVO;
 import com.usky.fire.service.vo.BaseGgpFacilityVO;
 import com.usky.fire.service.vo.DemFireStationVO;
+import org.springframework.web.bind.annotation.RequestParam;
 
 import java.util.List;
 
@@ -25,4 +27,6 @@ public interface BaseGgpFacilityService extends CrudService<BaseGgpFacility> {
      * @return
      */
     List<BaseGgpFacility> baseGgpFacilityList(BaseGgpFacilityVO baseGgpFacilityVO);
+
+    List<BaseGgpFacilityStatisticVO> statistic(Integer facilityType);
 }

+ 23 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/impl/BaseGgpFacilityServiceImpl.java

@@ -2,6 +2,7 @@ package com.usky.fire.service.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -10,12 +11,14 @@ import com.usky.fire.mapper.BaseGgpFacilityMapper;
 import com.usky.fire.service.BaseGgpFacilityService;
 import com.usky.common.mybatis.core.AbstractCrudService;
 import com.usky.fire.service.vo.BaseGgpFacilityListVO;
+import com.usky.fire.service.vo.BaseGgpFacilityStatisticVO;
 import com.usky.fire.service.vo.BaseGgpFacilityVO;
 import com.usky.fire.service.vo.CompanyDataVo;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * <p>
@@ -49,4 +52,24 @@ public class BaseGgpFacilityServiceImpl extends AbstractCrudService<BaseGgpFacil
 //        }
         return list;
     }
+
+    @Override
+    public List<BaseGgpFacilityStatisticVO> statistic(Integer facilityType){
+        List<BaseGgpFacilityStatisticVO> list = new ArrayList<>();
+        QueryWrapper<BaseGgpFacility> queryWrapper = Wrappers.query();
+        queryWrapper.select("street_town as streetTown","count(*) as count")
+                .eq("facility_type",facilityType)
+                .groupBy("street_town");
+        List<Map<String,Object>> maps = this.listMaps(queryWrapper);
+        if(maps.size() > 0){
+            for (int i = 0; i < maps.size(); i++) {
+                BaseGgpFacilityStatisticVO statisticVO = new BaseGgpFacilityStatisticVO();
+                statisticVO.setStreetTown(maps.get(i).get("streetTown").toString());
+                statisticVO.setCount(Integer.parseInt(maps.get(i).get("count").toString()));
+                list.add(statisticVO);
+            }
+        }
+
+        return list;
+    }
 }

+ 18 - 0
service-fire/service-fire-biz/src/main/java/com/usky/fire/service/vo/BaseGgpFacilityStatisticVO.java

@@ -0,0 +1,18 @@
+package com.usky.fire.service.vo;
+
+import lombok.Data;
+
+@Data
+public class BaseGgpFacilityStatisticVO {
+
+    /**
+     * 所属街镇
+     */
+    private String streetTown;
+
+    /**
+     * 街镇统计数
+     */
+    private Integer count;
+
+}