|
@@ -10,6 +10,8 @@ import com.huimv.environ.dao.repo.EnvHourRepo;
|
|
|
import com.huimv.environ.dao.repo.EnvMinuteRepo;
|
|
|
import com.huimv.environ.service.IEnviron;
|
|
|
import com.huimv.environ.service.IThreshold;
|
|
|
+import com.huimv.environ.utils.Const;
|
|
|
+import com.huimv.environ.utils.DateUtil;
|
|
|
import com.huimv.environ.utils.HttpTemplete;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -18,6 +20,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.text.ParseException;
|
|
|
import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
import java.util.Map;
|
|
@@ -48,18 +51,27 @@ public class EnvironImpl implements IEnviron {
|
|
|
//牧场ID
|
|
|
@Value("${local.farmID}")
|
|
|
private Integer farmID;
|
|
|
+ //小时数据服务
|
|
|
+ @Value("${dataCenter.service.hourEnviron}")
|
|
|
+ private String hourEnvironService;
|
|
|
+ //实时数据服务
|
|
|
+ @Value("${dataCenter.service.realTimeEnviron}")
|
|
|
+ private String realTimeEnvironService;
|
|
|
+ //环境警报
|
|
|
+ @Value("${dataCenter.service.alarm}")
|
|
|
+ private String alarmService;
|
|
|
@Autowired
|
|
|
private IThreshold Threshold;
|
|
|
-
|
|
|
+ @Autowired
|
|
|
+ private DateUtil dateUtil;
|
|
|
|
|
|
//本地测试地址
|
|
|
// String testLocalHttpIp = "http://192.168.1.49:10091";
|
|
|
|
|
|
-
|
|
|
-
|
|
|
@Override
|
|
|
public void sendEnviron() throws IOException {
|
|
|
- String url = ipAddr + port + "/cloud/environ/putHourEnviron";
|
|
|
+// String url = ipAddr + port + "/cloud/environ/putHourEnviron";
|
|
|
+ String url = ipAddr + port + hourEnvironService;
|
|
|
log.info("推送地址:"+url);
|
|
|
//
|
|
|
Map<String,String> paramsMap = new HashMap<String,String>();
|
|
@@ -77,7 +89,28 @@ public class EnvironImpl implements IEnviron {
|
|
|
//发送小时环保数据
|
|
|
@Override
|
|
|
public void sendHourEnviron(String data) {
|
|
|
- String url = ipAddr + port + "/cloud/environ/putHourEnviron";
|
|
|
+// String url = ipAddr + port + "/cloud/environ/putHourEnviron";
|
|
|
+ String url = ipAddr + port + hourEnvironService;
|
|
|
+ log.info("推送数据地址:"+url);
|
|
|
+ //
|
|
|
+ Map<String,String> paramsMap = new HashMap<String,String>();
|
|
|
+ paramsMap.put("data", data);
|
|
|
+ //
|
|
|
+ Map<String,Integer> timeoutMap = new HashMap<String,Integer>();
|
|
|
+ timeoutMap.put("connectTimeout", 5000);
|
|
|
+ timeoutMap.put("requestTimeout", 5000);
|
|
|
+ timeoutMap.put("socketTimeout", 5000);
|
|
|
+ try{
|
|
|
+ // 用Post方法推送接口数据
|
|
|
+ httpTemplete.doPost(url,paramsMap,timeoutMap);
|
|
|
+ } catch (IOException e) {
|
|
|
+ System.out.println("###错误信息:"+e.getMessage());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //发送简单数据
|
|
|
+ public void _doPostSimple(String service,String data){
|
|
|
+ String url = ipAddr + port + service;
|
|
|
log.info("推送数据地址:"+url);
|
|
|
//
|
|
|
Map<String,String> paramsMap = new HashMap<String,String>();
|
|
@@ -98,7 +131,8 @@ public class EnvironImpl implements IEnviron {
|
|
|
//发送实时数据
|
|
|
@Override
|
|
|
public void sendRealTimeEnviron(String data) {
|
|
|
- String url = ipAddr + port + "/cloud/environ/putRealTimeEnviron";
|
|
|
+// String url = ipAddr + port + "/cloud/environ/putRealTimeEnviron";
|
|
|
+ String url = ipAddr + port + realTimeEnvironService;
|
|
|
log.info("推送数据地址:"+url);
|
|
|
//
|
|
|
Map<String,String> paramsMap = new HashMap<String,String>();
|
|
@@ -138,7 +172,7 @@ public class EnvironImpl implements IEnviron {
|
|
|
* @Time : 22:12
|
|
|
*/
|
|
|
@Override
|
|
|
- public void handleEnvironWarningInfo(String data) {
|
|
|
+ public void handleEnvironWarningInfo(String data) throws ParseException {
|
|
|
JSONObject environJo = JSON.parseObject(data);
|
|
|
// System.out.println(">>>>>>>>>>>>>>>>报警信息 environJo>>"+environJo);
|
|
|
//读取阈值记录
|
|
@@ -148,48 +182,59 @@ public class EnvironImpl implements IEnviron {
|
|
|
}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")));
|
|
|
+// 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 warningInfo = "当前氨氮数据为"+environJo.getString("adPj")+"高于或等于阈值"+thresholdJo.getString("ammonia")+",特此警告.";
|
|
|
- log.info(warningInfo);
|
|
|
- //向数据中心发送报警信息
|
|
|
- String url = ipAddr + port + "/cloud/environ/putWarningInfo";
|
|
|
+ String alarmInfo = "当前氨氮数据为"+environJo.getString("adPj")+"高于或等于阈值"+thresholdJo.getString("ammonia")+",特此警告.";
|
|
|
+ log.info(alarmInfo);
|
|
|
+ //向数据中心发送警报
|
|
|
+ String url = ipAddr + port + alarmService;
|
|
|
log.info("推送警告地址:"+url);
|
|
|
- // farmID,warningInfo
|
|
|
+ // 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());
|
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
}
|
|
|
+
|
|
|
//环保COD数据>=阈值COD数据
|
|
|
if(new BigDecimal(environJo.getString("hxxylPj")).compareTo(new BigDecimal(thresholdJo.getString("cOD"))) > -1){
|
|
|
- String warningInfo = "当前化学需氧量数据为"+environJo.getString("hxxylPj")+"高于或等于阈值"+thresholdJo.getString("cOD")+",特此警告.";
|
|
|
- log.info(warningInfo);
|
|
|
- //向数据中心发送报警信息
|
|
|
+ String alarmInfo = "当前化学需氧量数据为"+environJo.getString("hxxylPj")+"高于或等于阈值"+thresholdJo.getString("cOD")+",特此警告.";
|
|
|
+ log.info(alarmInfo);
|
|
|
+ //向数据中心发送警报
|
|
|
String url = ipAddr + port + "/cloud/environ/putWarningInfo";
|
|
|
log.info("推送警告地址:"+url);
|
|
|
- // farmID,warningInfo
|
|
|
+ // farmID,alarmInfo
|
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
}
|
|
|
//环保PH数据>=阈值PH数据
|
|
|
if(new BigDecimal(environJo.getString("phPj")).compareTo(new BigDecimal(thresholdJo.getString("ph"))) > -1){
|
|
|
- String warningInfo = "当前PH值数据为"+environJo.getString("phPj")+"高于或等于阈值"+thresholdJo.getString("ph")+",特此警告.";
|
|
|
- log.info(warningInfo);
|
|
|
- //向数据中心发送报警信息
|
|
|
+ String alarmInfo = "当前PH值数据为"+environJo.getString("phPj")+"高于或等于阈值"+thresholdJo.getString("ph")+",特此警告.";
|
|
|
+ log.info(alarmInfo);
|
|
|
+ //向数据中心发送警报
|
|
|
String url = ipAddr + port + "/cloud/environ/putWarningInfo";
|
|
|
log.info("推送警告地址:"+url);
|
|
|
- // farmID,warningInfo
|
|
|
+ // farmID,alarmInfo
|
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
}
|
|
|
//环保污水浓度数据>=阈值污水浓度数据
|
|
|
if(new BigDecimal(environJo.getString("wsPj")).compareTo(new BigDecimal(thresholdJo.getString("flow"))) > -1){
|
|
|
- String warningInfo = "当前污水浓度数据为"+environJo.getString("wsPj")+"高于或等于阈值"+thresholdJo.getString("flow")+",特此警告.";
|
|
|
- log.info(warningInfo);
|
|
|
- //向数据中心发送报警信息
|
|
|
+ String alarmInfo = "当前污水浓度数据为"+environJo.getString("wsPj")+"高于或等于阈值"+thresholdJo.getString("flow")+",特此警告.";
|
|
|
+ log.info(alarmInfo);
|
|
|
+ //向数据中心发送警报
|
|
|
String url = ipAddr + port + "/cloud/environ/putWarningInfo";
|
|
|
log.info("推送警告地址:"+url);
|
|
|
- // farmID,warningInfo
|
|
|
+ // farmID,alarmInfo
|
|
|
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
}
|
|
|
}
|