Эх сурвалжийг харах

对接停车接口--停车分析

ZhangManMan 2 жил өмнө
parent
commit
241a8de15f

+ 9 - 1
src/main/java/com/sky/ioc/controller/life/ParkingController.java

@@ -9,6 +9,7 @@ import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -40,6 +41,9 @@ public class ParkingController {
     @Autowired
     IllegalParkingService illegalParkingService;
 
+    @Value("${spring.profiles.active}")
+    private String active;
+
 
     @ApiOperation("查询智慧生活中智慧停车的核心指标")
     @PostMapping("getCoreIndicators")
@@ -53,7 +57,11 @@ public class ParkingController {
     @PostMapping("getTrafficflowSituation")
     public ReturnMsg  getTrafficflowSituation(@RequestBody IocParam iocParam){
 //        dateType   1.周,2.月,3.年
-        return parkingService.getTrafficflowSituation(iocParam);
+      if(active.equals("publish")){
+          return parkingService.getTrafficflowSituationData(iocParam);
+      }else {
+          return parkingService.getTrafficflowSituation(iocParam);
+      }
     }
 
 

+ 1 - 0
src/main/java/com/sky/ioc/service/parking/ParkingService.java

@@ -13,6 +13,7 @@ public interface ParkingService {
     ReturnMsg getCoreIndicators(IocParam iocParam);
 
     ReturnMsg getTrafficflowSituation(IocParam iocParam);
+    ReturnMsg getTrafficflowSituationData(IocParam iocParam);
 
     ReturnMsg getVacantParkingSpace(IocParam iocParam);
 

+ 47 - 1
src/main/java/com/sky/ioc/service/parking/impl/ParkingServiceImpl.java

@@ -17,6 +17,7 @@ import com.sky.ioc.mapper.ParkMapper;
 import com.sky.ioc.mapper.ParkingMapper;
 import com.sky.ioc.service.parking.ParkingService;
 import com.sky.ioc.tool.DateUtil;
+import com.sky.ioc.tool.MathUtils;
 import com.sky.ioc.tool.ReturnMsg;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -56,7 +57,8 @@ public class ParkingServiceImpl implements ParkingService {
     IllegalParkingMapper illegalParkingMapper;
 
     final static  String PARKING_URL="/api/parking/PARKING/parkingInfo/list";
-
+    final static  String PARKING_IN_URL="/api/statistics/parking/duration/inParking";
+    final static  String PARKING_OUT_URL="/api/statistics/parking/duration/outParking";
 
     @Override
     public ReturnMsg getCoreIndicators(IocParam iocParam) {
@@ -127,6 +129,50 @@ public class ParkingServiceImpl implements ParkingService {
         return ReturnMsg.ok(lists);
     }
 
+    @Override
+    public ReturnMsg getTrafficflowSituationData(IocParam iocParam) {
+        String[] param = {"getInto","leave"};
+        // 创建RestTemplate
+        RestTemplate restTemplate = restTemplateConfig.build();
+        // 发送GET请求
+        String startStr = iocParam.getTimeRange().getStartDate().replace("/","-");
+        String endStr = iocParam.getTimeRange().getEndDate().replace("/","-");
+        String url = restTemplateConfig.addBaseUrl(PARKING_IN_URL)+"?startTime="+startStr+"&endTime="+endStr+"&scope=day";
+        ResponseEntity<Map> responseEntity = restTemplate.getForEntity(url, Map.class);
+        // 获取响应对象里的 body 对象
+        Map<String, Object> body = responseEntity.getBody();
+        // 获取状态码
+        Integer code = (Integer)body.get("cod");
+        String url2 = restTemplateConfig.addBaseUrl(PARKING_OUT_URL)+"?startTime="+startStr+"&endTime="+endStr+"&scope=day";
+        ResponseEntity<Map> responseEntity2 = restTemplate.getForEntity(url2, Map.class);
+        // 获取响应对象里的 body 对象
+        Map<String, Object> body2 = responseEntity2.getBody();
+        // 获取状态码
+        Integer code2 = (Integer)body2.get("cod");
+        if(code==200&&code2==200){
+            ArrayList list = (ArrayList) body.get("data");
+            ArrayList list2 = (ArrayList) body2.get("data");
+            List<Label> labels1 = new ArrayList<>();
+            if(list!=null&&list.size()>0){
+                for(int i=0;i<list.size();i++){
+                    LinkedHashMap map = (LinkedHashMap) list.get(i);
+                    LinkedHashMap map2 = (LinkedHashMap) list2.get(i);
+                    Label label = new Label();
+                    JSONObject jsonObject = new JSONObject();
+                    jsonObject.put(param[0], map.get("inCount"));
+                    jsonObject.put(param[1], map2.get("inCount"));
+                    label.setJsonObject(jsonObject);
+                    label.setLabel(map.get("time").toString());
+                    labels1.add(label);
+                }
+            }
+            return ReturnMsg.ok(labels1);
+        }else{
+            log.info("获取停车数据出错:");
+            return ReturnMsg.fail("获取停车数据出错");
+        }
+    }
+
     @Override
     public ReturnMsg getVacantParkingSpace(IocParam iocParam) {
         List<Park> lists = parkMapper.getVacantList(iocParam);