Pārlūkot izejas kodu

水电表平台修改2

wwh 1 gadu atpakaļ
vecāks
revīzija
ba22fdae32

+ 64 - 0
huimv-env-admin/src/main/java/com/huimv/env/admin/timer/WaterAndElectricity.java

@@ -167,4 +167,68 @@ public class WaterAndElectricity {
                 .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
         System.out.println(post);
     }
+
+
+    @Scheduled(cron = "0 59 * * * ? ")
+    private void sendDate3() throws Exception {
+        QueryWrapper<EnergyEnvDevice> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("farm_id", 22);
+        List<EnergyEnvDevice> devices = envDeviceMapper.selectList(queryWrapper);
+        Date date = new Date();//获取当前时间
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        calendar.add(Calendar.HOUR, -1);// 20分钟前
+        //获取到完整的时间
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        JSONArray jsonArray = new JSONArray();
+
+        for (EnergyEnvDevice device : devices) {
+            JSONObject jsonObject = new JSONObject();
+            if (device.getDeviceType() == 3) {
+                //电
+                QueryWrapper<EnergyElectricity> queryWrapper1 = new QueryWrapper<>();
+                queryWrapper1.eq("farm_id", 22).eq("chip_code", device.getDeviceCode());
+                queryWrapper1.between("upload_date", sdf.format(calendar.getTime()), sdf.format(date));
+                queryWrapper1.select(" IFNULL(SUM(electricity_value),0) electricityValue");
+                EnergyElectricity electricity = electricityMapper.selectOne(queryWrapper1);
+                jsonObject.put("electricity", electricity.getElectricityValue());
+                jsonObject.put("water", 0);
+            } else {
+                //水
+                QueryWrapper<EnergyWater> queryWrapper1 = new QueryWrapper<>();
+                queryWrapper1.eq("farm_id", 22).eq("chip_code", device.getDeviceCode());
+                queryWrapper1.between("upload_date", sdf.format(calendar.getTime()), sdf.format(date));
+                queryWrapper1.select(" IFNULL(SUM(water_value),0) waterValue");
+                EnergyWater water = waterMapper.selectOne(queryWrapper1);
+                jsonObject.put("water", water.getWaterValue());
+                jsonObject.put("electricity", 0);
+            }
+            jsonObject.put("deviceCode", device.getDeviceCode());
+            jsonObject.put("time", sdf.format(date));
+            jsonArray.add(jsonObject);
+        }
+
+//        RestTemplate restTemplate = new RestTemplate();
+//        HttpHeaders headers = new HttpHeaders();
+//        headers.setContentType(MediaType.APPLICATION_JSON);
+//
+//        MultiValueMap<String, Object> map = new LinkedMultiValueMap<>();
+////        Map<String, Object> map = new HashMap<>();
+//        map.put("result", jsonArray);
+//
+//        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(map, headers);
+//
+//        String url = "https://huatong.ifarmcloud.com/huatongApi/energy-data/getData";
+//        String responseBody = restTemplate.postForObject(url, httpEntity, String.class);
+//        System.out.println(responseBody);
+
+        HashMap<String, String> paramsMap = new HashMap<>();
+        JSONObject jsonObject = new JSONObject();
+        jsonObject.put("result", jsonArray);
+        System.out.println(jsonObject);
+        paramsMap.put("Content-Type", "application/json;charset=utf-8");
+        String post = HttpRequest.post("https://huatong.ifarmcloud.com/huatongApi/energy-data/getData3")
+                .headerMap(paramsMap, false).body(jsonObject.toJSONString()).timeout(30 * 1000).execute().body();
+        System.out.println(post);
+    }
 }