Prechádzať zdrojové kódy

环保警报推送功能:对发送代码进行了优化。

zhuoning 3 rokov pred
rodič
commit
d25ce4f8f9

+ 22 - 38
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/service/impl/EnvironImpl.java

@@ -163,7 +163,7 @@ public class EnvironImpl implements IEnviron {
 
     /**
      * @Method      : handleEnvironWarningInfo
-     * @Description : 处理分钟环保数据进行报警
+     * @Description : 处理分钟环保数据进行发送警报信息
      * @Params      : [data]
      * @Return      : void
      * 
@@ -174,71 +174,55 @@ public class EnvironImpl implements IEnviron {
     @Override
     public void handleEnvironWarningInfo(String data) throws ParseException {
         JSONObject environJo = JSON.parseObject(data);
-//        System.out.println(">>>>>>>>>>>>>>>>报警信息 environJo>>"+environJo);
         //读取阈值记录
         String thresholdData = Threshold.getThreshold(farmID);
         if(thresholdData == null){
             log.info("阈值记录为空.");
         }else{
             JSONObject thresholdJo = JSON.parseObject(thresholdData);
-//            System.out.println("所有阈值记录<<<<<<"+thresholdJo);
-//            System.out.println(new BigDecimal(environJo.getString("adPj")) + " "+new BigDecimal(thresholdJo.getString("ammonia")));
-//            System.out.println(new BigDecimal(environJo.getString("hxxylPj")) + " "+new BigDecimal(thresholdJo.getString("cOD")));
-//            System.out.println(new BigDecimal(environJo.getString("phPj")) + " "+new BigDecimal(thresholdJo.getString("ph")));
-//            System.out.println(new BigDecimal(environJo.getString("wsPj")) + " "+new BigDecimal(thresholdJo.getString("flow")));
             //环保氨氮数据>=阈值氨氮数据
             if(new BigDecimal(environJo.getString("adPj")).compareTo(new BigDecimal(thresholdJo.getString("ammonia"))) > -1){
                 String alarmInfo = "当前氨氮数据为"+environJo.getString("adPj")+"高于或等于阈值"+thresholdJo.getString("ammonia")+",特此警告.";
-                log.info(alarmInfo);
                 //向数据中心发送警报
-                String url = ipAddr + port + alarmService;
-                log.info("推送警告地址:"+url);
-                // farmID,alarmInfo
-                JSONObject alarmJo = new JSONObject();
-                alarmJo.put("farmId",farmID);
-                alarmJo.put("info",alarmInfo);
-                alarmJo.put("level", Const.INFO_FIRST_LEVEL);
-                alarmJo.put("levelName",Const.INFO_FIRST_LEVEL_ALARM);
-                alarmJo.put("alarmType",8);
-                alarmJo.put("warningName","环境警报");
-                alarmJo.put("alarmTime",dateUtil.getTodayText());
-                //发送警报
-                _doPostSimple(alarmService,alarmJo.toJSONString());
-                //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                _sendAlarmToCenter(alarmInfo);
             }
 
             //环保COD数据>=阈值COD数据
             if(new BigDecimal(environJo.getString("hxxylPj")).compareTo(new BigDecimal(thresholdJo.getString("cOD"))) > -1){
                 String alarmInfo = "当前化学需氧量数据为"+environJo.getString("hxxylPj")+"高于或等于阈值"+thresholdJo.getString("cOD")+",特此警告.";
-                log.info(alarmInfo);
                 //向数据中心发送警报
-                String url = ipAddr + port + "/cloud/environ/putWarningInfo";
-                log.info("推送警告地址:"+url);
-                // farmID,alarmInfo
-                //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                _sendAlarmToCenter(alarmInfo);
             }
             //环保PH数据>=阈值PH数据
             if(new BigDecimal(environJo.getString("phPj")).compareTo(new BigDecimal(thresholdJo.getString("ph"))) > -1){
                 String alarmInfo = "当前PH值数据为"+environJo.getString("phPj")+"高于或等于阈值"+thresholdJo.getString("ph")+",特此警告.";
-                log.info(alarmInfo);
                 //向数据中心发送警报
-                String url = ipAddr + port + "/cloud/environ/putWarningInfo";
-                log.info("推送警告地址:"+url);
-                // farmID,alarmInfo
-                //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                _sendAlarmToCenter(alarmInfo);
             }
             //环保污水浓度数据>=阈值污水浓度数据
             if(new BigDecimal(environJo.getString("wsPj")).compareTo(new BigDecimal(thresholdJo.getString("flow"))) > -1){
                 String alarmInfo = "当前污水浓度数据为"+environJo.getString("wsPj")+"高于或等于阈值"+thresholdJo.getString("flow")+",特此警告.";
-                log.info(alarmInfo);
                 //向数据中心发送警报
-                String url = ipAddr + port + "/cloud/environ/putWarningInfo";
-                log.info("推送警告地址:"+url);
-                // farmID,alarmInfo
-                //++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+                _sendAlarmToCenter(alarmInfo);
             }
         }
+    }
 
-
+    //向数据中心发送警报
+    public void _sendAlarmToCenter(String alarmInfo) throws ParseException {
+        log.info("警报内容>>"+alarmInfo);
+        String url = ipAddr + port + alarmService;
+        log.info("推送警报地址>>"+url);
+        // farmID,alarmInfo
+        JSONObject alarmJo = new JSONObject();
+        alarmJo.put("farmId",farmID);
+        alarmJo.put("info",alarmInfo);
+        alarmJo.put("level", Const.INFO_FIRST_LEVEL);
+        alarmJo.put("levelName",Const.INFO_FIRST_LEVEL_ALARM);
+        alarmJo.put("alarmType",Const.INFO_ALARM_TYPE);
+        alarmJo.put("warningName",Const.INFO_ALARM_TYPE_NAME);
+        alarmJo.put("alarmTime",dateUtil.getTodayText());
+        //发送警报
+        _doPostSimple(alarmService,alarmJo.toJSONString());
     }
 }

+ 12 - 0
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/utils/BaseTemplete.java

@@ -0,0 +1,12 @@
+package com.huimv.environ.utils;
+
+/**
+ * @Project : huimv.shiwan
+ * @Package : com.huimv.biosafety.uface.controller
+ * @Description : TODO
+ * @Version : 1.0
+ * @Author : ZhuoNing
+ * @Create : 2020-12-25
+ **/
+public class BaseTemplete {
+}

+ 3 - 0
huimv-farm-device/huimv-farm-cloud-environ/src/main/java/com/huimv/environ/utils/Const.java

@@ -19,4 +19,7 @@ public class Const {
     public static final String INFO_THIRD_LEVEL="三级";
     public static final String INFO_THIRD_LEVEL_ALARM="三级警报";
 
+    public static final Integer INFO_ALARM_TYPE = 8;
+    public static final String INFO_ALARM_TYPE_NAME = "环境监测";
+
 }