瀏覽代碼

修改门卫室通道

523096025 1 年之前
父節點
當前提交
6f23826d0f

+ 142 - 141
huimv-farm-datacenter-egg/huimv-farm-environ/src/main/java/com/huimv/environ/eco/timer/EggTimer.java

@@ -1,141 +1,142 @@
-//package com.huimv.environ.eco.timer;
-//
-//
-//import cn.hutool.core.date.DateTime;
-//import cn.hutool.core.date.DateUtil;
-//import cn.hutool.json.JSONObject;
-//import com.baomidou.mybatisplus.core.toolkit.StringUtils;
-//import com.huimv.environ.eco.entity.BaseWarningInfo;
-//import com.huimv.environ.eco.entity.EggData;
-//import com.huimv.environ.eco.entity.EggHouse;
-//import com.huimv.environ.eco.entity.SysThreshold;
-//import com.huimv.environ.eco.entity.eggvo.HistoryEntity;
-//import com.huimv.environ.eco.entity.eggvo.HistroyOne;
-//import com.huimv.environ.eco.entity.eggvo.HistroyTwo;
-//import com.huimv.environ.eco.service.IBaseWarningInfoService;
-//import com.huimv.environ.eco.service.IEggDataService;
-//import com.huimv.environ.eco.service.IEggHouseService;
-//import com.huimv.environ.eco.service.ISysThresholdService;
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.http.HttpEntity;
-//import org.springframework.http.HttpHeaders;
-//import org.springframework.http.HttpMethod;
-//import org.springframework.http.ResponseEntity;
-//import org.springframework.scheduling.annotation.Scheduled;
-//import org.springframework.stereotype.Component;
-//import org.springframework.web.client.RestTemplate;
-//
-//import java.util.Date;
-//import java.util.List;
-//
-//@Component
-//public class EggTimer {
-//    private static  final  String BASE_URL= "https://iot1.bigherdsman.com/api/v2/";
-//    private static  final  String TOKEN= "72438b180e9168fe90db126e3310cd0b20a7196d";
-//
-//    private static  final  String HISTORY_LIST= "history/list/?code=";
-//    private static final String FARM_CODE = "2022011710";
-//
-//    @Autowired
-//    private IEggDataService eggDataService;
-//    @Autowired
-//    private IEggHouseService eggHouseService;
-//
-//    @Autowired
-//    private ISysThresholdService sysThresholdService;
-//    @Autowired
-//    private IBaseWarningInfoService baseWarningInfoService;
-//
-//
-//    @Scheduled(cron = "0 0/10 * * * ? ")
-//    public void saveEggData (){
-//        System.out.println("test");
-//        RestTemplate restTemplate = new RestTemplate();
-//        HttpHeaders headers = new HttpHeaders();
-//        headers.set("Authorization","Token "+TOKEN);
-//        HttpEntity<JSONObject> httpEntity = new HttpEntity<>(headers);
-//
-//        List<EggHouse> list = eggHouseService.list();
-//        Date date= new Date();
-//        long end = date.getTime();
-//        DateTime dateTime = DateUtil.offsetMinute(date, -10);
-//        long start = dateTime.getTime();
-//        SysThreshold byId = sysThresholdService.getById(1);
-//        for (EggHouse eggHouse : list) {
-//            Integer i = eggHouse.getI();
-//            ResponseEntity<HistoryEntity> forEntity = restTemplate.exchange(BASE_URL + HISTORY_LIST+FARM_CODE+"&i="+i+"&start="+start+"&end="+end, HttpMethod.GET, httpEntity,HistoryEntity.class );
-//
-//            List<HistroyOne> data = forEntity.getBody().getData();
-//            for (HistroyOne datum : data) {
-//                Long uploadTime = datum.getUpload_time();
-//                HistroyTwo data1 = datum.getData();
-//
-//                EggData eggData = new EggData();
-//                eggData.setCo2(data1.getCo2());
-//                eggData.setFtDoTalTdy(data1.getFt_do_tal_tdy());
-//                eggData.setHR(data1.getH_r());
-//                eggData.setI(i);
-//                eggData.setTCur(data1.getT_cur());
-//                eggData.setWtrTdy(data1.getWtr_tdy());
-//                eggData.setUploadTime( new Date(uploadTime));
-//
-//                eggData.setFN( data1.getF_n());
-//                eggData.setFLv( data1.getF_lv());
-//                eggData.setFV(data1.getF_v() );
-//                eggData.setTS(data1.getT_s());
-//                eggData.setTT( data1.getT_t());
-//                eggData.setHT( data1.getH_t());
-//                eggData.setHtL( data1.getHt_l());
-//                eggDataService.save(eggData);
-//                saveWarning(eggData,byId);
-//            }
-//        }
-//    }
-//
-//    private void saveWarning(EggData eggData, SysThreshold byId) {
-//        String minTem = byId.getMinTem();
-//        String maxTem = byId.getMaxTem();
-//        String minHum = byId.getMinHum();
-//        String maxHum = byId.getMaxHum();
-//        Double tCur = eggData.getTCur();
-//        Integer hr = eggData.getHR();
-//        Integer i = eggData.getI();
-//
-//        BaseWarningInfo baseWarningInfo = new BaseWarningInfo();
-//        baseWarningInfo.setFarmId(1);
-//        baseWarningInfo.setLevel(1);
-//        baseWarningInfo.setLevelName("一级报警");
-//        baseWarningInfo.setUploadTime(new Date());
-//        baseWarningInfo.setWarningTime(eggData.getUploadTime());
-//        //高温
-//        if (tCur>Double.parseDouble(maxTem)){
-//            baseWarningInfo.setMsg(i+"号舍高温预警:温度为"+tCur+"℃,超过高温阈值"+maxTem+"℃");
-//            baseWarningInfo.setAlarmType(7);
-//            baseWarningInfo.setWarningName("高温报警");
-//            baseWarningInfoService.save(baseWarningInfo);
-//        }
-//        //低温
-//        if (tCur<Double.parseDouble(minTem)){
-//            baseWarningInfo.setMsg(i+"号舍低温预警:温度为"+tCur+"℃,低于低温阈值"+minTem+"℃");
-//            baseWarningInfo.setAlarmType(7);
-//            baseWarningInfo.setWarningName("低温报警");
-//            baseWarningInfoService.save(baseWarningInfo);
-//        }
-//        //高湿
-//        if (hr>Integer.parseInt(maxHum)){
-//            baseWarningInfo.setMsg(i+"号舍高湿度预警:温度为"+hr+",高于阈值"+maxHum);
-//            baseWarningInfo.setAlarmType(7);
-//            baseWarningInfo.setWarningName("高湿度报警");
-//            baseWarningInfoService.save(baseWarningInfo);
-//        }
-//        //低湿
-//        if (hr<Integer.parseInt(minHum)){
-//            baseWarningInfo.setMsg(i+"号舍低湿度预警:温度为"+hr+",低于阈值"+minHum);
-//            baseWarningInfo.setAlarmType(7);
-//            baseWarningInfo.setWarningName("低湿度报警");
-//            baseWarningInfoService.save(baseWarningInfo);
-//        }
-//    }
-//
-//
-//}
+package com.huimv.environ.eco.timer;
+
+
+import cn.hutool.core.date.DateTime;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.json.JSONObject;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.huimv.environ.eco.entity.BaseWarningInfo;
+import com.huimv.environ.eco.entity.EggData;
+import com.huimv.environ.eco.entity.EggHouse;
+import com.huimv.environ.eco.entity.SysThreshold;
+import com.huimv.environ.eco.entity.eggvo.HistoryEntity;
+import com.huimv.environ.eco.entity.eggvo.HistroyOne;
+import com.huimv.environ.eco.entity.eggvo.HistroyTwo;
+import com.huimv.environ.eco.service.IBaseWarningInfoService;
+import com.huimv.environ.eco.service.IEggDataService;
+import com.huimv.environ.eco.service.IEggHouseService;
+import com.huimv.environ.eco.service.ISysThresholdService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+import org.springframework.web.client.RestTemplate;
+
+import java.util.Date;
+import java.util.List;
+
+@Component
+public class EggTimer {
+    private static  final  String BASE_URL= "https://iot1.bigherdsman.com/api/v2/";
+    private static  final  String TOKEN= "72438b180e9168fe90db126e3310cd0b20a7196d";
+
+    private static  final  String HISTORY_LIST= "history/list/?code=";
+    private static final String FARM_CODE = "2022011710";
+
+    @Autowired
+    private IEggDataService eggDataService;
+    @Autowired
+    private IEggHouseService eggHouseService;
+
+    @Autowired
+    private ISysThresholdService sysThresholdService;
+    @Autowired
+    private IBaseWarningInfoService baseWarningInfoService;
+
+
+    @Scheduled(cron = "0 0/10 * * * ? ")
+//    @Scheduled(cron = "0 * * * * ? ")
+    public void saveEggData(){
+        System.out.println("test");
+        RestTemplate restTemplate = new RestTemplate();
+        HttpHeaders headers = new HttpHeaders();
+        headers.set("Authorization","Token "+TOKEN);
+        HttpEntity<JSONObject> httpEntity = new HttpEntity<>(headers);
+
+        List<EggHouse> list = eggHouseService.list();
+        Date date= new Date();
+        long end = date.getTime();
+        DateTime dateTime = DateUtil.offsetMinute(date, -10);
+        long start = dateTime.getTime();
+        SysThreshold byId = sysThresholdService.getById(1);
+        for (EggHouse eggHouse : list) {
+            Integer i = eggHouse.getI();
+            ResponseEntity<HistoryEntity> forEntity = restTemplate.exchange(BASE_URL + HISTORY_LIST+FARM_CODE+"&i="+i+"&start="+start+"&end="+end, HttpMethod.GET, httpEntity,HistoryEntity.class );
+
+            List<HistroyOne> data = forEntity.getBody().getData();
+            for (HistroyOne datum : data) {
+                Long uploadTime = datum.getUpload_time();
+                HistroyTwo data1 = datum.getData();
+
+                EggData eggData = new EggData();
+                eggData.setCo2(data1.getCo2());
+                eggData.setFtDoTalTdy(data1.getFt_do_tal_tdy());
+                eggData.setHR(data1.getH_r());
+                eggData.setI(i);
+                eggData.setTCur(data1.getT_cur());
+                eggData.setWtrTdy(data1.getWtr_tdy());
+                eggData.setUploadTime( new Date(uploadTime));
+
+                eggData.setFN( data1.getF_n());
+                eggData.setFLv( data1.getF_lv());
+                eggData.setFV(data1.getF_v() );
+                eggData.setTS(data1.getT_s());
+                eggData.setTT( data1.getT_t());
+                eggData.setHT( data1.getH_t());
+                eggData.setHtL( data1.getHt_l());
+                eggDataService.save(eggData);
+                saveWarning(eggData,byId);
+            }
+        }
+    }
+
+    private void saveWarning(EggData eggData, SysThreshold byId) {
+        String minTem = byId.getMinTem();
+        String maxTem = byId.getMaxTem();
+        String minHum = byId.getMinHum();
+        String maxHum = byId.getMaxHum();
+        Double tCur = eggData.getTCur();
+        Integer hr = eggData.getHR();
+        Integer i = eggData.getI();
+
+        BaseWarningInfo baseWarningInfo = new BaseWarningInfo();
+        baseWarningInfo.setFarmId(1);
+        baseWarningInfo.setLevel(1);
+        baseWarningInfo.setLevelName("一级报警");
+        baseWarningInfo.setUploadTime(new Date());
+        baseWarningInfo.setWarningTime(eggData.getUploadTime());
+        //高温
+        if (tCur>Double.parseDouble(maxTem)){
+            baseWarningInfo.setMsg(i+"号舍高温预警:温度为"+tCur+"℃,超过高温阈值"+maxTem+"℃");
+            baseWarningInfo.setAlarmType(7);
+            baseWarningInfo.setWarningName("高温报警");
+            baseWarningInfoService.save(baseWarningInfo);
+        }
+        //低温
+        if (tCur<Double.parseDouble(minTem)){
+            baseWarningInfo.setMsg(i+"号舍低温预警:温度为"+tCur+"℃,低于低温阈值"+minTem+"℃");
+            baseWarningInfo.setAlarmType(7);
+            baseWarningInfo.setWarningName("低温报警");
+            baseWarningInfoService.save(baseWarningInfo);
+        }
+        //高湿
+        if (hr>Integer.parseInt(maxHum)){
+            baseWarningInfo.setMsg(i+"号舍高湿度预警:温度为"+hr+",高于阈值"+maxHum);
+            baseWarningInfo.setAlarmType(7);
+            baseWarningInfo.setWarningName("高湿度报警");
+            baseWarningInfoService.save(baseWarningInfo);
+        }
+        //低湿
+        if (hr<Integer.parseInt(minHum)){
+            baseWarningInfo.setMsg(i+"号舍低湿度预警:温度为"+hr+",低于阈值"+minHum);
+            baseWarningInfo.setAlarmType(7);
+            baseWarningInfo.setWarningName("低湿度报警");
+            baseWarningInfoService.save(baseWarningInfo);
+        }
+    }
+
+
+}