diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index 58617f8..01300ef 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -135,9 +135,9 @@
// temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}";
// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}";
// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}";
@@ -170,7 +170,7 @@
// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}";
//
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}";
-// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
+ temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":11.0,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
AbstractResponse resp = ResponseResolver.makeResponse(temp);
resp.setAc(ac);
// for(String dd:arr){
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index 58617f8..01300ef 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -135,9 +135,9 @@
// temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}";
// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}";
// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}";
@@ -170,7 +170,7 @@
// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}";
//
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}";
-// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
+ temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":11.0,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
AbstractResponse resp = ResponseResolver.makeResponse(temp);
resp.setAc(ac);
// for(String dd:arr){
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 9e7cc70..acb2e0d 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -10,11 +10,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.LGGas;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -124,6 +126,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),gas, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.LG.name(),"%LEL");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index 58617f8..01300ef 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -135,9 +135,9 @@
// temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}";
// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}";
// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}";
@@ -170,7 +170,7 @@
// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}";
//
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}";
-// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
+ temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":11.0,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
AbstractResponse resp = ResponseResolver.makeResponse(temp);
resp.setAc(ac);
// for(String dd:arr){
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 9e7cc70..acb2e0d 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -10,11 +10,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.LGGas;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -124,6 +126,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),gas, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.LG.name(),"%LEL");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 521fe78..acf7672 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -17,6 +17,7 @@
import org.well.well.domain.Device;
import org.well.well.domain.LGLiquid;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.Configure;
import org.well.well.util.SnowFlakeUtil;
import org.well.well.util.Weather1Util;
@@ -90,14 +91,14 @@
Double levelFloat = new BigDecimal(level).doubleValue() / 100;
//3220开头的设备需要加安装高度
- if (Integer.valueOf(devCode.substring(0,8))>=devcodePrex1) {
+ if (Integer.valueOf(devCode.substring(0, 8)) >= devcodePrex1) {
String press = Configure.getProperty("Press");
if (StringUtils.isBlank(press)) {
press = Weather1Util.getPress();
- System.out.println("*****press="+press);
+ System.out.println("*****press=" + press);
}
double liquidVal = new BigDecimal(press).floatValue() / 98;
- if (liquidVal >= levelFloat ) {
+ if (liquidVal >= levelFloat) {
levelFloat = 0.0;
} else {
levelFloat = levelFloat - liquidVal;
@@ -106,7 +107,7 @@
} else if (devCode.indexOf(devcodePrex) == 0 && levelFloat != 0) {
//默认安装高度20cm
- levelFloat=levelFloat+0.2;
+ levelFloat = levelFloat + 0.2;
}
//1.存数据
LiquidDTO liquidDTO = new LiquidDTO(String.format("%.2f", Double.valueOf(levelFloat)), cell,
@@ -125,7 +126,7 @@
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());
//超限
- if (StringUtils.isNotBlank(thresh)&&Float.valueOf(level) >= Float.valueOf(thresh)) {
+ if (StringUtils.isNotBlank(thresh) && Float.valueOf(level) >= Float.valueOf(thresh)) {
Device device = deviceManager.getDeviceByDevCode(devCode);
//获取报警内容
String alarmContent = GasLiquidAlarmEnum.LIQUID_OVER_THRESH.getName();
@@ -135,9 +136,9 @@
return;
}
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
- Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
if (alarmJob == null) {
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
}
//2.写入新的告警
@@ -146,6 +147,11 @@
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(alarmJob.getId(), alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), level, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.LG.name(), "");
+ }
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index 58617f8..01300ef 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -135,9 +135,9 @@
// temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}";
// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}";
// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}";
@@ -170,7 +170,7 @@
// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}";
//
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}";
-// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
+ temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":11.0,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
AbstractResponse resp = ResponseResolver.makeResponse(temp);
resp.setAc(ac);
// for(String dd:arr){
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 9e7cc70..acb2e0d 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -10,11 +10,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.LGGas;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -124,6 +126,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),gas, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.LG.name(),"%LEL");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 521fe78..acf7672 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -17,6 +17,7 @@
import org.well.well.domain.Device;
import org.well.well.domain.LGLiquid;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.Configure;
import org.well.well.util.SnowFlakeUtil;
import org.well.well.util.Weather1Util;
@@ -90,14 +91,14 @@
Double levelFloat = new BigDecimal(level).doubleValue() / 100;
//3220开头的设备需要加安装高度
- if (Integer.valueOf(devCode.substring(0,8))>=devcodePrex1) {
+ if (Integer.valueOf(devCode.substring(0, 8)) >= devcodePrex1) {
String press = Configure.getProperty("Press");
if (StringUtils.isBlank(press)) {
press = Weather1Util.getPress();
- System.out.println("*****press="+press);
+ System.out.println("*****press=" + press);
}
double liquidVal = new BigDecimal(press).floatValue() / 98;
- if (liquidVal >= levelFloat ) {
+ if (liquidVal >= levelFloat) {
levelFloat = 0.0;
} else {
levelFloat = levelFloat - liquidVal;
@@ -106,7 +107,7 @@
} else if (devCode.indexOf(devcodePrex) == 0 && levelFloat != 0) {
//默认安装高度20cm
- levelFloat=levelFloat+0.2;
+ levelFloat = levelFloat + 0.2;
}
//1.存数据
LiquidDTO liquidDTO = new LiquidDTO(String.format("%.2f", Double.valueOf(levelFloat)), cell,
@@ -125,7 +126,7 @@
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());
//超限
- if (StringUtils.isNotBlank(thresh)&&Float.valueOf(level) >= Float.valueOf(thresh)) {
+ if (StringUtils.isNotBlank(thresh) && Float.valueOf(level) >= Float.valueOf(thresh)) {
Device device = deviceManager.getDeviceByDevCode(devCode);
//获取报警内容
String alarmContent = GasLiquidAlarmEnum.LIQUID_OVER_THRESH.getName();
@@ -135,9 +136,9 @@
return;
}
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
- Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
if (alarmJob == null) {
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
}
//2.写入新的告警
@@ -146,6 +147,11 @@
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(alarmJob.getId(), alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), level, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.LG.name(), "");
+ }
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 06e1878..be4ad39 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -139,6 +140,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),level, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index 58617f8..01300ef 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -135,9 +135,9 @@
// temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}";
// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}";
// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}";
@@ -170,7 +170,7 @@
// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}";
//
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}";
-// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
+ temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":11.0,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
AbstractResponse resp = ResponseResolver.makeResponse(temp);
resp.setAc(ac);
// for(String dd:arr){
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 9e7cc70..acb2e0d 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -10,11 +10,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.LGGas;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -124,6 +126,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),gas, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.LG.name(),"%LEL");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 521fe78..acf7672 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -17,6 +17,7 @@
import org.well.well.domain.Device;
import org.well.well.domain.LGLiquid;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.Configure;
import org.well.well.util.SnowFlakeUtil;
import org.well.well.util.Weather1Util;
@@ -90,14 +91,14 @@
Double levelFloat = new BigDecimal(level).doubleValue() / 100;
//3220开头的设备需要加安装高度
- if (Integer.valueOf(devCode.substring(0,8))>=devcodePrex1) {
+ if (Integer.valueOf(devCode.substring(0, 8)) >= devcodePrex1) {
String press = Configure.getProperty("Press");
if (StringUtils.isBlank(press)) {
press = Weather1Util.getPress();
- System.out.println("*****press="+press);
+ System.out.println("*****press=" + press);
}
double liquidVal = new BigDecimal(press).floatValue() / 98;
- if (liquidVal >= levelFloat ) {
+ if (liquidVal >= levelFloat) {
levelFloat = 0.0;
} else {
levelFloat = levelFloat - liquidVal;
@@ -106,7 +107,7 @@
} else if (devCode.indexOf(devcodePrex) == 0 && levelFloat != 0) {
//默认安装高度20cm
- levelFloat=levelFloat+0.2;
+ levelFloat = levelFloat + 0.2;
}
//1.存数据
LiquidDTO liquidDTO = new LiquidDTO(String.format("%.2f", Double.valueOf(levelFloat)), cell,
@@ -125,7 +126,7 @@
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());
//超限
- if (StringUtils.isNotBlank(thresh)&&Float.valueOf(level) >= Float.valueOf(thresh)) {
+ if (StringUtils.isNotBlank(thresh) && Float.valueOf(level) >= Float.valueOf(thresh)) {
Device device = deviceManager.getDeviceByDevCode(devCode);
//获取报警内容
String alarmContent = GasLiquidAlarmEnum.LIQUID_OVER_THRESH.getName();
@@ -135,9 +136,9 @@
return;
}
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
- Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
if (alarmJob == null) {
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
}
//2.写入新的告警
@@ -146,6 +147,11 @@
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(alarmJob.getId(), alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), level, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.LG.name(), "");
+ }
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 06e1878..be4ad39 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -139,6 +140,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),level, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index d4aabb9..d2c8395 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -101,6 +102,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, "水质超限告警");
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index 58617f8..01300ef 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -135,9 +135,9 @@
// temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}";
// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}";
// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}";
@@ -170,7 +170,7 @@
// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}";
//
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}";
-// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
+ temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":11.0,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
AbstractResponse resp = ResponseResolver.makeResponse(temp);
resp.setAc(ac);
// for(String dd:arr){
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 9e7cc70..acb2e0d 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -10,11 +10,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.LGGas;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -124,6 +126,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),gas, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.LG.name(),"%LEL");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 521fe78..acf7672 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -17,6 +17,7 @@
import org.well.well.domain.Device;
import org.well.well.domain.LGLiquid;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.Configure;
import org.well.well.util.SnowFlakeUtil;
import org.well.well.util.Weather1Util;
@@ -90,14 +91,14 @@
Double levelFloat = new BigDecimal(level).doubleValue() / 100;
//3220开头的设备需要加安装高度
- if (Integer.valueOf(devCode.substring(0,8))>=devcodePrex1) {
+ if (Integer.valueOf(devCode.substring(0, 8)) >= devcodePrex1) {
String press = Configure.getProperty("Press");
if (StringUtils.isBlank(press)) {
press = Weather1Util.getPress();
- System.out.println("*****press="+press);
+ System.out.println("*****press=" + press);
}
double liquidVal = new BigDecimal(press).floatValue() / 98;
- if (liquidVal >= levelFloat ) {
+ if (liquidVal >= levelFloat) {
levelFloat = 0.0;
} else {
levelFloat = levelFloat - liquidVal;
@@ -106,7 +107,7 @@
} else if (devCode.indexOf(devcodePrex) == 0 && levelFloat != 0) {
//默认安装高度20cm
- levelFloat=levelFloat+0.2;
+ levelFloat = levelFloat + 0.2;
}
//1.存数据
LiquidDTO liquidDTO = new LiquidDTO(String.format("%.2f", Double.valueOf(levelFloat)), cell,
@@ -125,7 +126,7 @@
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());
//超限
- if (StringUtils.isNotBlank(thresh)&&Float.valueOf(level) >= Float.valueOf(thresh)) {
+ if (StringUtils.isNotBlank(thresh) && Float.valueOf(level) >= Float.valueOf(thresh)) {
Device device = deviceManager.getDeviceByDevCode(devCode);
//获取报警内容
String alarmContent = GasLiquidAlarmEnum.LIQUID_OVER_THRESH.getName();
@@ -135,9 +136,9 @@
return;
}
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
- Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
if (alarmJob == null) {
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
}
//2.写入新的告警
@@ -146,6 +147,11 @@
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(alarmJob.getId(), alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), level, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.LG.name(), "");
+ }
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 06e1878..be4ad39 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -139,6 +140,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),level, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index d4aabb9..d2c8395 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -101,6 +102,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, "水质超限告警");
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index df94ec7..5531f86 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -16,6 +16,7 @@
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -125,10 +126,15 @@
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
if (!StringUtils.isEmpty(busWell.getTel())) {
- final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为"+gas;
+ final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为" + gas;
//4.toDO:向济南港华推送消息
SmsPushUtil.excutePushMsg(busWell.getTel(), pushMsgContent);
}
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), gas, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Methane.name(), "");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index 58617f8..01300ef 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -135,9 +135,9 @@
// temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}";
// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}";
// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}";
@@ -170,7 +170,7 @@
// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}";
//
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}";
-// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
+ temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":11.0,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
AbstractResponse resp = ResponseResolver.makeResponse(temp);
resp.setAc(ac);
// for(String dd:arr){
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 9e7cc70..acb2e0d 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -10,11 +10,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.LGGas;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -124,6 +126,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),gas, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.LG.name(),"%LEL");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 521fe78..acf7672 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -17,6 +17,7 @@
import org.well.well.domain.Device;
import org.well.well.domain.LGLiquid;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.Configure;
import org.well.well.util.SnowFlakeUtil;
import org.well.well.util.Weather1Util;
@@ -90,14 +91,14 @@
Double levelFloat = new BigDecimal(level).doubleValue() / 100;
//3220开头的设备需要加安装高度
- if (Integer.valueOf(devCode.substring(0,8))>=devcodePrex1) {
+ if (Integer.valueOf(devCode.substring(0, 8)) >= devcodePrex1) {
String press = Configure.getProperty("Press");
if (StringUtils.isBlank(press)) {
press = Weather1Util.getPress();
- System.out.println("*****press="+press);
+ System.out.println("*****press=" + press);
}
double liquidVal = new BigDecimal(press).floatValue() / 98;
- if (liquidVal >= levelFloat ) {
+ if (liquidVal >= levelFloat) {
levelFloat = 0.0;
} else {
levelFloat = levelFloat - liquidVal;
@@ -106,7 +107,7 @@
} else if (devCode.indexOf(devcodePrex) == 0 && levelFloat != 0) {
//默认安装高度20cm
- levelFloat=levelFloat+0.2;
+ levelFloat = levelFloat + 0.2;
}
//1.存数据
LiquidDTO liquidDTO = new LiquidDTO(String.format("%.2f", Double.valueOf(levelFloat)), cell,
@@ -125,7 +126,7 @@
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());
//超限
- if (StringUtils.isNotBlank(thresh)&&Float.valueOf(level) >= Float.valueOf(thresh)) {
+ if (StringUtils.isNotBlank(thresh) && Float.valueOf(level) >= Float.valueOf(thresh)) {
Device device = deviceManager.getDeviceByDevCode(devCode);
//获取报警内容
String alarmContent = GasLiquidAlarmEnum.LIQUID_OVER_THRESH.getName();
@@ -135,9 +136,9 @@
return;
}
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
- Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
if (alarmJob == null) {
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
}
//2.写入新的告警
@@ -146,6 +147,11 @@
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(alarmJob.getId(), alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), level, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.LG.name(), "");
+ }
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 06e1878..be4ad39 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -139,6 +140,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),level, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index d4aabb9..d2c8395 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -101,6 +102,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, "水质超限告警");
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index df94ec7..5531f86 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -16,6 +16,7 @@
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -125,10 +126,15 @@
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
if (!StringUtils.isEmpty(busWell.getTel())) {
- final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为"+gas;
+ final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为" + gas;
//4.toDO:向济南港华推送消息
SmsPushUtil.excutePushMsg(busWell.getTel(), pushMsgContent);
}
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), gas, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Methane.name(), "");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index 448457b..ad187bc 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -130,6 +131,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.NoiseDig.name(), "");
+ }
}
} else {//未超限
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index 58617f8..01300ef 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -135,9 +135,9 @@
// temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}";
// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}";
// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}";
@@ -170,7 +170,7 @@
// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}";
//
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}";
-// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
+ temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":11.0,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
AbstractResponse resp = ResponseResolver.makeResponse(temp);
resp.setAc(ac);
// for(String dd:arr){
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 9e7cc70..acb2e0d 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -10,11 +10,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.LGGas;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -124,6 +126,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),gas, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.LG.name(),"%LEL");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 521fe78..acf7672 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -17,6 +17,7 @@
import org.well.well.domain.Device;
import org.well.well.domain.LGLiquid;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.Configure;
import org.well.well.util.SnowFlakeUtil;
import org.well.well.util.Weather1Util;
@@ -90,14 +91,14 @@
Double levelFloat = new BigDecimal(level).doubleValue() / 100;
//3220开头的设备需要加安装高度
- if (Integer.valueOf(devCode.substring(0,8))>=devcodePrex1) {
+ if (Integer.valueOf(devCode.substring(0, 8)) >= devcodePrex1) {
String press = Configure.getProperty("Press");
if (StringUtils.isBlank(press)) {
press = Weather1Util.getPress();
- System.out.println("*****press="+press);
+ System.out.println("*****press=" + press);
}
double liquidVal = new BigDecimal(press).floatValue() / 98;
- if (liquidVal >= levelFloat ) {
+ if (liquidVal >= levelFloat) {
levelFloat = 0.0;
} else {
levelFloat = levelFloat - liquidVal;
@@ -106,7 +107,7 @@
} else if (devCode.indexOf(devcodePrex) == 0 && levelFloat != 0) {
//默认安装高度20cm
- levelFloat=levelFloat+0.2;
+ levelFloat = levelFloat + 0.2;
}
//1.存数据
LiquidDTO liquidDTO = new LiquidDTO(String.format("%.2f", Double.valueOf(levelFloat)), cell,
@@ -125,7 +126,7 @@
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());
//超限
- if (StringUtils.isNotBlank(thresh)&&Float.valueOf(level) >= Float.valueOf(thresh)) {
+ if (StringUtils.isNotBlank(thresh) && Float.valueOf(level) >= Float.valueOf(thresh)) {
Device device = deviceManager.getDeviceByDevCode(devCode);
//获取报警内容
String alarmContent = GasLiquidAlarmEnum.LIQUID_OVER_THRESH.getName();
@@ -135,9 +136,9 @@
return;
}
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
- Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
if (alarmJob == null) {
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
}
//2.写入新的告警
@@ -146,6 +147,11 @@
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(alarmJob.getId(), alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), level, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.LG.name(), "");
+ }
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 06e1878..be4ad39 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -139,6 +140,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),level, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index d4aabb9..d2c8395 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -101,6 +102,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, "水质超限告警");
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index df94ec7..5531f86 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -16,6 +16,7 @@
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -125,10 +126,15 @@
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
if (!StringUtils.isEmpty(busWell.getTel())) {
- final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为"+gas;
+ final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为" + gas;
//4.toDO:向济南港华推送消息
SmsPushUtil.excutePushMsg(busWell.getTel(), pushMsgContent);
}
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), gas, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Methane.name(), "");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index 448457b..ad187bc 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -130,6 +131,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.NoiseDig.name(), "");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/NoiseManager.java b/src/main/java/org/well/well/manager/NoiseManager.java
index 778c934..c235598 100644
--- a/src/main/java/org/well/well/manager/NoiseManager.java
+++ b/src/main/java/org/well/well/manager/NoiseManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -123,7 +124,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
-
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Noise.name(), "");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index 58617f8..01300ef 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -135,9 +135,9 @@
// temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}";
// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}";
// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}";
@@ -170,7 +170,7 @@
// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}";
//
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}";
-// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
+ temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":11.0,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
AbstractResponse resp = ResponseResolver.makeResponse(temp);
resp.setAc(ac);
// for(String dd:arr){
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 9e7cc70..acb2e0d 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -10,11 +10,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.LGGas;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -124,6 +126,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),gas, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.LG.name(),"%LEL");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 521fe78..acf7672 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -17,6 +17,7 @@
import org.well.well.domain.Device;
import org.well.well.domain.LGLiquid;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.Configure;
import org.well.well.util.SnowFlakeUtil;
import org.well.well.util.Weather1Util;
@@ -90,14 +91,14 @@
Double levelFloat = new BigDecimal(level).doubleValue() / 100;
//3220开头的设备需要加安装高度
- if (Integer.valueOf(devCode.substring(0,8))>=devcodePrex1) {
+ if (Integer.valueOf(devCode.substring(0, 8)) >= devcodePrex1) {
String press = Configure.getProperty("Press");
if (StringUtils.isBlank(press)) {
press = Weather1Util.getPress();
- System.out.println("*****press="+press);
+ System.out.println("*****press=" + press);
}
double liquidVal = new BigDecimal(press).floatValue() / 98;
- if (liquidVal >= levelFloat ) {
+ if (liquidVal >= levelFloat) {
levelFloat = 0.0;
} else {
levelFloat = levelFloat - liquidVal;
@@ -106,7 +107,7 @@
} else if (devCode.indexOf(devcodePrex) == 0 && levelFloat != 0) {
//默认安装高度20cm
- levelFloat=levelFloat+0.2;
+ levelFloat = levelFloat + 0.2;
}
//1.存数据
LiquidDTO liquidDTO = new LiquidDTO(String.format("%.2f", Double.valueOf(levelFloat)), cell,
@@ -125,7 +126,7 @@
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());
//超限
- if (StringUtils.isNotBlank(thresh)&&Float.valueOf(level) >= Float.valueOf(thresh)) {
+ if (StringUtils.isNotBlank(thresh) && Float.valueOf(level) >= Float.valueOf(thresh)) {
Device device = deviceManager.getDeviceByDevCode(devCode);
//获取报警内容
String alarmContent = GasLiquidAlarmEnum.LIQUID_OVER_THRESH.getName();
@@ -135,9 +136,9 @@
return;
}
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
- Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
if (alarmJob == null) {
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
}
//2.写入新的告警
@@ -146,6 +147,11 @@
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(alarmJob.getId(), alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), level, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.LG.name(), "");
+ }
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 06e1878..be4ad39 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -139,6 +140,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),level, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index d4aabb9..d2c8395 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -101,6 +102,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, "水质超限告警");
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index df94ec7..5531f86 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -16,6 +16,7 @@
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -125,10 +126,15 @@
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
if (!StringUtils.isEmpty(busWell.getTel())) {
- final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为"+gas;
+ final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为" + gas;
//4.toDO:向济南港华推送消息
SmsPushUtil.excutePushMsg(busWell.getTel(), pushMsgContent);
}
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), gas, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Methane.name(), "");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index 448457b..ad187bc 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -130,6 +131,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.NoiseDig.name(), "");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/NoiseManager.java b/src/main/java/org/well/well/manager/NoiseManager.java
index 778c934..c235598 100644
--- a/src/main/java/org/well/well/manager/NoiseManager.java
+++ b/src/main/java/org/well/well/manager/NoiseManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -123,7 +124,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
-
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Noise.name(), "");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index c7ec546..50cdb32 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -159,6 +160,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, TempHumiAlarmEnum.OVER_THRESH.getName());
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Noise.name(), "");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index 58617f8..01300ef 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -135,9 +135,9 @@
// temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}";
// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}";
// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}";
@@ -170,7 +170,7 @@
// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}";
//
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}";
-// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
+ temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":11.0,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
AbstractResponse resp = ResponseResolver.makeResponse(temp);
resp.setAc(ac);
// for(String dd:arr){
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 9e7cc70..acb2e0d 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -10,11 +10,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.LGGas;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -124,6 +126,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),gas, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.LG.name(),"%LEL");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 521fe78..acf7672 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -17,6 +17,7 @@
import org.well.well.domain.Device;
import org.well.well.domain.LGLiquid;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.Configure;
import org.well.well.util.SnowFlakeUtil;
import org.well.well.util.Weather1Util;
@@ -90,14 +91,14 @@
Double levelFloat = new BigDecimal(level).doubleValue() / 100;
//3220开头的设备需要加安装高度
- if (Integer.valueOf(devCode.substring(0,8))>=devcodePrex1) {
+ if (Integer.valueOf(devCode.substring(0, 8)) >= devcodePrex1) {
String press = Configure.getProperty("Press");
if (StringUtils.isBlank(press)) {
press = Weather1Util.getPress();
- System.out.println("*****press="+press);
+ System.out.println("*****press=" + press);
}
double liquidVal = new BigDecimal(press).floatValue() / 98;
- if (liquidVal >= levelFloat ) {
+ if (liquidVal >= levelFloat) {
levelFloat = 0.0;
} else {
levelFloat = levelFloat - liquidVal;
@@ -106,7 +107,7 @@
} else if (devCode.indexOf(devcodePrex) == 0 && levelFloat != 0) {
//默认安装高度20cm
- levelFloat=levelFloat+0.2;
+ levelFloat = levelFloat + 0.2;
}
//1.存数据
LiquidDTO liquidDTO = new LiquidDTO(String.format("%.2f", Double.valueOf(levelFloat)), cell,
@@ -125,7 +126,7 @@
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());
//超限
- if (StringUtils.isNotBlank(thresh)&&Float.valueOf(level) >= Float.valueOf(thresh)) {
+ if (StringUtils.isNotBlank(thresh) && Float.valueOf(level) >= Float.valueOf(thresh)) {
Device device = deviceManager.getDeviceByDevCode(devCode);
//获取报警内容
String alarmContent = GasLiquidAlarmEnum.LIQUID_OVER_THRESH.getName();
@@ -135,9 +136,9 @@
return;
}
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
- Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
if (alarmJob == null) {
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
}
//2.写入新的告警
@@ -146,6 +147,11 @@
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(alarmJob.getId(), alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), level, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.LG.name(), "");
+ }
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 06e1878..be4ad39 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -139,6 +140,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),level, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index d4aabb9..d2c8395 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -101,6 +102,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, "水质超限告警");
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index df94ec7..5531f86 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -16,6 +16,7 @@
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -125,10 +126,15 @@
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
if (!StringUtils.isEmpty(busWell.getTel())) {
- final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为"+gas;
+ final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为" + gas;
//4.toDO:向济南港华推送消息
SmsPushUtil.excutePushMsg(busWell.getTel(), pushMsgContent);
}
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), gas, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Methane.name(), "");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index 448457b..ad187bc 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -130,6 +131,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.NoiseDig.name(), "");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/NoiseManager.java b/src/main/java/org/well/well/manager/NoiseManager.java
index 778c934..c235598 100644
--- a/src/main/java/org/well/well/manager/NoiseManager.java
+++ b/src/main/java/org/well/well/manager/NoiseManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -123,7 +124,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
-
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Noise.name(), "");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index c7ec546..50cdb32 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -159,6 +160,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, TempHumiAlarmEnum.OVER_THRESH.getName());
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Noise.name(), "");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/TubeManager.java b/src/main/java/org/well/well/manager/TubeManager.java
index cb47fea..3b5c61d 100644
--- a/src/main/java/org/well/well/manager/TubeManager.java
+++ b/src/main/java/org/well/well/manager/TubeManager.java
@@ -9,11 +9,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Tube;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -121,6 +123,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(),gas,busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Tube.name(), "");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index 58617f8..01300ef 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -135,9 +135,9 @@
// temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}";
// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}";
// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}";
@@ -170,7 +170,7 @@
// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}";
//
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}";
-// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
+ temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":11.0,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
AbstractResponse resp = ResponseResolver.makeResponse(temp);
resp.setAc(ac);
// for(String dd:arr){
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 9e7cc70..acb2e0d 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -10,11 +10,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.LGGas;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -124,6 +126,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),gas, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.LG.name(),"%LEL");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 521fe78..acf7672 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -17,6 +17,7 @@
import org.well.well.domain.Device;
import org.well.well.domain.LGLiquid;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.Configure;
import org.well.well.util.SnowFlakeUtil;
import org.well.well.util.Weather1Util;
@@ -90,14 +91,14 @@
Double levelFloat = new BigDecimal(level).doubleValue() / 100;
//3220开头的设备需要加安装高度
- if (Integer.valueOf(devCode.substring(0,8))>=devcodePrex1) {
+ if (Integer.valueOf(devCode.substring(0, 8)) >= devcodePrex1) {
String press = Configure.getProperty("Press");
if (StringUtils.isBlank(press)) {
press = Weather1Util.getPress();
- System.out.println("*****press="+press);
+ System.out.println("*****press=" + press);
}
double liquidVal = new BigDecimal(press).floatValue() / 98;
- if (liquidVal >= levelFloat ) {
+ if (liquidVal >= levelFloat) {
levelFloat = 0.0;
} else {
levelFloat = levelFloat - liquidVal;
@@ -106,7 +107,7 @@
} else if (devCode.indexOf(devcodePrex) == 0 && levelFloat != 0) {
//默认安装高度20cm
- levelFloat=levelFloat+0.2;
+ levelFloat = levelFloat + 0.2;
}
//1.存数据
LiquidDTO liquidDTO = new LiquidDTO(String.format("%.2f", Double.valueOf(levelFloat)), cell,
@@ -125,7 +126,7 @@
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());
//超限
- if (StringUtils.isNotBlank(thresh)&&Float.valueOf(level) >= Float.valueOf(thresh)) {
+ if (StringUtils.isNotBlank(thresh) && Float.valueOf(level) >= Float.valueOf(thresh)) {
Device device = deviceManager.getDeviceByDevCode(devCode);
//获取报警内容
String alarmContent = GasLiquidAlarmEnum.LIQUID_OVER_THRESH.getName();
@@ -135,9 +136,9 @@
return;
}
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
- Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
if (alarmJob == null) {
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
}
//2.写入新的告警
@@ -146,6 +147,11 @@
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(alarmJob.getId(), alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), level, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.LG.name(), "");
+ }
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 06e1878..be4ad39 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -139,6 +140,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),level, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index d4aabb9..d2c8395 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -101,6 +102,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, "水质超限告警");
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index df94ec7..5531f86 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -16,6 +16,7 @@
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -125,10 +126,15 @@
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
if (!StringUtils.isEmpty(busWell.getTel())) {
- final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为"+gas;
+ final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为" + gas;
//4.toDO:向济南港华推送消息
SmsPushUtil.excutePushMsg(busWell.getTel(), pushMsgContent);
}
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), gas, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Methane.name(), "");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index 448457b..ad187bc 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -130,6 +131,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.NoiseDig.name(), "");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/NoiseManager.java b/src/main/java/org/well/well/manager/NoiseManager.java
index 778c934..c235598 100644
--- a/src/main/java/org/well/well/manager/NoiseManager.java
+++ b/src/main/java/org/well/well/manager/NoiseManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -123,7 +124,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
-
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Noise.name(), "");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index c7ec546..50cdb32 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -159,6 +160,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, TempHumiAlarmEnum.OVER_THRESH.getName());
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Noise.name(), "");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/TubeManager.java b/src/main/java/org/well/well/manager/TubeManager.java
index cb47fea..3b5c61d 100644
--- a/src/main/java/org/well/well/manager/TubeManager.java
+++ b/src/main/java/org/well/well/manager/TubeManager.java
@@ -9,11 +9,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Tube;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -121,6 +123,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(),gas,busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Tube.name(), "");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java
index e0bda7f..4e4b394 100644
--- a/src/main/java/org/well/well/manager/WasteGasManager.java
+++ b/src/main/java/org/well/well/manager/WasteGasManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -157,10 +158,10 @@
String O2 = ((JSONObject) jsonArray.get(i)).get("O2").toString();
String H2S = ((JSONObject) jsonArray.get(i)).get("H2S").toString();
String CH4 = ((JSONObject) jsonArray.get(i)).get("CH4").toString();
- CO=String.format("%.2f", Double.valueOf(CO));
- O2=String.format("%.2f", Double.valueOf(O2));
- H2S=String.format("%.2f", Double.valueOf(H2S));
- CH4=String.format("%.2f", Double.valueOf(CH4));
+ CO = String.format("%.2f", Double.valueOf(CO));
+ O2 = String.format("%.2f", Double.valueOf(O2));
+ H2S = String.format("%.2f", Double.valueOf(H2S));
+ CH4 = String.format("%.2f", Double.valueOf(CH4));
String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
Boolean isOpen = Boolean.valueOf(((JSONObject) jsonArray.get(i)).get("liquidSwitch").toString());
//1.清离线
@@ -174,7 +175,7 @@
if (i < jsonArray.size() - 1) continue;
//获取告警等级
Map alarmMap = getAlarmContent(busWell, devCode, CO, O2, H2S, CH4);
- if (alarmMap.size()>0) {
+ if (alarmMap.size() > 0) {
AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
String alarmContent = alarmMap.get("alarmContent").toString();
Integer alarmLevel = Integer.valueOf(alarmMap.get("alarmLevel").toString());
@@ -193,19 +194,24 @@
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
Long jobId = SnowFlakeUtil.getId();
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
- busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(),"1");
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(), "1");
//2.写入新的告警
alarmRecordManager.saveData(jobId, "1", alarmLevel,
WasteGasAlarmEnum.OVER_THRESH.getName(),
alarmValue.substring(0, alarmValue.length() - 1), device,
- devCode, busWell!=null?busWell.getWellCode():"", upTime,
+ devCode, busWell != null ? busWell.getWellCode() : "", upTime,
alarmContent.substring(0, alarmContent.length() - 1));
//3.toDo:向app推送报警消息
// List cids = userManager.getClients(busWell);
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, WasteGasAlarmEnum.OVER_THRESH.getName());
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ WasteGasAlarmEnum.OVER_THRESH.getName(), DeviceTypeEnum.WasteGas.name(), "%LEL");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index 58617f8..01300ef 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -135,9 +135,9 @@
// temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}";
// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}";
// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}";
@@ -170,7 +170,7 @@
// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}";
//
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}";
-// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
+ temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":11.0,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
AbstractResponse resp = ResponseResolver.makeResponse(temp);
resp.setAc(ac);
// for(String dd:arr){
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 9e7cc70..acb2e0d 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -10,11 +10,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.LGGas;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -124,6 +126,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),gas, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.LG.name(),"%LEL");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 521fe78..acf7672 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -17,6 +17,7 @@
import org.well.well.domain.Device;
import org.well.well.domain.LGLiquid;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.Configure;
import org.well.well.util.SnowFlakeUtil;
import org.well.well.util.Weather1Util;
@@ -90,14 +91,14 @@
Double levelFloat = new BigDecimal(level).doubleValue() / 100;
//3220开头的设备需要加安装高度
- if (Integer.valueOf(devCode.substring(0,8))>=devcodePrex1) {
+ if (Integer.valueOf(devCode.substring(0, 8)) >= devcodePrex1) {
String press = Configure.getProperty("Press");
if (StringUtils.isBlank(press)) {
press = Weather1Util.getPress();
- System.out.println("*****press="+press);
+ System.out.println("*****press=" + press);
}
double liquidVal = new BigDecimal(press).floatValue() / 98;
- if (liquidVal >= levelFloat ) {
+ if (liquidVal >= levelFloat) {
levelFloat = 0.0;
} else {
levelFloat = levelFloat - liquidVal;
@@ -106,7 +107,7 @@
} else if (devCode.indexOf(devcodePrex) == 0 && levelFloat != 0) {
//默认安装高度20cm
- levelFloat=levelFloat+0.2;
+ levelFloat = levelFloat + 0.2;
}
//1.存数据
LiquidDTO liquidDTO = new LiquidDTO(String.format("%.2f", Double.valueOf(levelFloat)), cell,
@@ -125,7 +126,7 @@
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());
//超限
- if (StringUtils.isNotBlank(thresh)&&Float.valueOf(level) >= Float.valueOf(thresh)) {
+ if (StringUtils.isNotBlank(thresh) && Float.valueOf(level) >= Float.valueOf(thresh)) {
Device device = deviceManager.getDeviceByDevCode(devCode);
//获取报警内容
String alarmContent = GasLiquidAlarmEnum.LIQUID_OVER_THRESH.getName();
@@ -135,9 +136,9 @@
return;
}
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
- Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
if (alarmJob == null) {
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
}
//2.写入新的告警
@@ -146,6 +147,11 @@
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(alarmJob.getId(), alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), level, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.LG.name(), "");
+ }
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 06e1878..be4ad39 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -139,6 +140,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),level, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index d4aabb9..d2c8395 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -101,6 +102,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, "水质超限告警");
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index df94ec7..5531f86 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -16,6 +16,7 @@
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -125,10 +126,15 @@
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
if (!StringUtils.isEmpty(busWell.getTel())) {
- final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为"+gas;
+ final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为" + gas;
//4.toDO:向济南港华推送消息
SmsPushUtil.excutePushMsg(busWell.getTel(), pushMsgContent);
}
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), gas, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Methane.name(), "");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index 448457b..ad187bc 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -130,6 +131,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.NoiseDig.name(), "");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/NoiseManager.java b/src/main/java/org/well/well/manager/NoiseManager.java
index 778c934..c235598 100644
--- a/src/main/java/org/well/well/manager/NoiseManager.java
+++ b/src/main/java/org/well/well/manager/NoiseManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -123,7 +124,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
-
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Noise.name(), "");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index c7ec546..50cdb32 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -159,6 +160,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, TempHumiAlarmEnum.OVER_THRESH.getName());
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Noise.name(), "");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/TubeManager.java b/src/main/java/org/well/well/manager/TubeManager.java
index cb47fea..3b5c61d 100644
--- a/src/main/java/org/well/well/manager/TubeManager.java
+++ b/src/main/java/org/well/well/manager/TubeManager.java
@@ -9,11 +9,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Tube;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -121,6 +123,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(),gas,busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Tube.name(), "");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java
index e0bda7f..4e4b394 100644
--- a/src/main/java/org/well/well/manager/WasteGasManager.java
+++ b/src/main/java/org/well/well/manager/WasteGasManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -157,10 +158,10 @@
String O2 = ((JSONObject) jsonArray.get(i)).get("O2").toString();
String H2S = ((JSONObject) jsonArray.get(i)).get("H2S").toString();
String CH4 = ((JSONObject) jsonArray.get(i)).get("CH4").toString();
- CO=String.format("%.2f", Double.valueOf(CO));
- O2=String.format("%.2f", Double.valueOf(O2));
- H2S=String.format("%.2f", Double.valueOf(H2S));
- CH4=String.format("%.2f", Double.valueOf(CH4));
+ CO = String.format("%.2f", Double.valueOf(CO));
+ O2 = String.format("%.2f", Double.valueOf(O2));
+ H2S = String.format("%.2f", Double.valueOf(H2S));
+ CH4 = String.format("%.2f", Double.valueOf(CH4));
String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
Boolean isOpen = Boolean.valueOf(((JSONObject) jsonArray.get(i)).get("liquidSwitch").toString());
//1.清离线
@@ -174,7 +175,7 @@
if (i < jsonArray.size() - 1) continue;
//获取告警等级
Map alarmMap = getAlarmContent(busWell, devCode, CO, O2, H2S, CH4);
- if (alarmMap.size()>0) {
+ if (alarmMap.size() > 0) {
AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
String alarmContent = alarmMap.get("alarmContent").toString();
Integer alarmLevel = Integer.valueOf(alarmMap.get("alarmLevel").toString());
@@ -193,19 +194,24 @@
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
Long jobId = SnowFlakeUtil.getId();
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
- busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(),"1");
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(), "1");
//2.写入新的告警
alarmRecordManager.saveData(jobId, "1", alarmLevel,
WasteGasAlarmEnum.OVER_THRESH.getName(),
alarmValue.substring(0, alarmValue.length() - 1), device,
- devCode, busWell!=null?busWell.getWellCode():"", upTime,
+ devCode, busWell != null ? busWell.getWellCode() : "", upTime,
alarmContent.substring(0, alarmContent.length() - 1));
//3.toDo:向app推送报警消息
// List cids = userManager.getClients(busWell);
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, WasteGasAlarmEnum.OVER_THRESH.getName());
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ WasteGasAlarmEnum.OVER_THRESH.getName(), DeviceTypeEnum.WasteGas.name(), "%LEL");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/WellManager.java b/src/main/java/org/well/well/manager/WellManager.java
index 815dc09..f2ef063 100644
--- a/src/main/java/org/well/well/manager/WellManager.java
+++ b/src/main/java/org/well/well/manager/WellManager.java
@@ -6,11 +6,14 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
+import org.well.well.AlarmEnumDTO.WasteGasAlarmEnum;
import org.well.well.AlarmEnumDTO.WellAlarmEnum;
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -115,6 +118,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "井盖开盖报警", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId,WellAlarmEnum.WellOpenAlarm.getName());
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(),"", busWell.getPosition(),
+ WellAlarmEnum.WellOpenAlarm.name(), DeviceTypeEnum.Well.name(), "");
+ }
}
}
}
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index 58617f8..01300ef 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -135,9 +135,9 @@
// temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}";
// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}";
// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}";
@@ -170,7 +170,7 @@
// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}";
//
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}";
-// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
+ temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":11.0,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
AbstractResponse resp = ResponseResolver.makeResponse(temp);
resp.setAc(ac);
// for(String dd:arr){
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 9e7cc70..acb2e0d 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -10,11 +10,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.LGGas;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -124,6 +126,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),gas, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.LG.name(),"%LEL");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 521fe78..acf7672 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -17,6 +17,7 @@
import org.well.well.domain.Device;
import org.well.well.domain.LGLiquid;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.Configure;
import org.well.well.util.SnowFlakeUtil;
import org.well.well.util.Weather1Util;
@@ -90,14 +91,14 @@
Double levelFloat = new BigDecimal(level).doubleValue() / 100;
//3220开头的设备需要加安装高度
- if (Integer.valueOf(devCode.substring(0,8))>=devcodePrex1) {
+ if (Integer.valueOf(devCode.substring(0, 8)) >= devcodePrex1) {
String press = Configure.getProperty("Press");
if (StringUtils.isBlank(press)) {
press = Weather1Util.getPress();
- System.out.println("*****press="+press);
+ System.out.println("*****press=" + press);
}
double liquidVal = new BigDecimal(press).floatValue() / 98;
- if (liquidVal >= levelFloat ) {
+ if (liquidVal >= levelFloat) {
levelFloat = 0.0;
} else {
levelFloat = levelFloat - liquidVal;
@@ -106,7 +107,7 @@
} else if (devCode.indexOf(devcodePrex) == 0 && levelFloat != 0) {
//默认安装高度20cm
- levelFloat=levelFloat+0.2;
+ levelFloat = levelFloat + 0.2;
}
//1.存数据
LiquidDTO liquidDTO = new LiquidDTO(String.format("%.2f", Double.valueOf(levelFloat)), cell,
@@ -125,7 +126,7 @@
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());
//超限
- if (StringUtils.isNotBlank(thresh)&&Float.valueOf(level) >= Float.valueOf(thresh)) {
+ if (StringUtils.isNotBlank(thresh) && Float.valueOf(level) >= Float.valueOf(thresh)) {
Device device = deviceManager.getDeviceByDevCode(devCode);
//获取报警内容
String alarmContent = GasLiquidAlarmEnum.LIQUID_OVER_THRESH.getName();
@@ -135,9 +136,9 @@
return;
}
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
- Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
if (alarmJob == null) {
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
}
//2.写入新的告警
@@ -146,6 +147,11 @@
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(alarmJob.getId(), alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), level, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.LG.name(), "");
+ }
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 06e1878..be4ad39 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -139,6 +140,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),level, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index d4aabb9..d2c8395 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -101,6 +102,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, "水质超限告警");
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index df94ec7..5531f86 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -16,6 +16,7 @@
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -125,10 +126,15 @@
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
if (!StringUtils.isEmpty(busWell.getTel())) {
- final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为"+gas;
+ final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为" + gas;
//4.toDO:向济南港华推送消息
SmsPushUtil.excutePushMsg(busWell.getTel(), pushMsgContent);
}
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), gas, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Methane.name(), "");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index 448457b..ad187bc 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -130,6 +131,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.NoiseDig.name(), "");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/NoiseManager.java b/src/main/java/org/well/well/manager/NoiseManager.java
index 778c934..c235598 100644
--- a/src/main/java/org/well/well/manager/NoiseManager.java
+++ b/src/main/java/org/well/well/manager/NoiseManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -123,7 +124,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
-
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Noise.name(), "");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index c7ec546..50cdb32 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -159,6 +160,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, TempHumiAlarmEnum.OVER_THRESH.getName());
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Noise.name(), "");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/TubeManager.java b/src/main/java/org/well/well/manager/TubeManager.java
index cb47fea..3b5c61d 100644
--- a/src/main/java/org/well/well/manager/TubeManager.java
+++ b/src/main/java/org/well/well/manager/TubeManager.java
@@ -9,11 +9,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Tube;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -121,6 +123,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(),gas,busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Tube.name(), "");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java
index e0bda7f..4e4b394 100644
--- a/src/main/java/org/well/well/manager/WasteGasManager.java
+++ b/src/main/java/org/well/well/manager/WasteGasManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -157,10 +158,10 @@
String O2 = ((JSONObject) jsonArray.get(i)).get("O2").toString();
String H2S = ((JSONObject) jsonArray.get(i)).get("H2S").toString();
String CH4 = ((JSONObject) jsonArray.get(i)).get("CH4").toString();
- CO=String.format("%.2f", Double.valueOf(CO));
- O2=String.format("%.2f", Double.valueOf(O2));
- H2S=String.format("%.2f", Double.valueOf(H2S));
- CH4=String.format("%.2f", Double.valueOf(CH4));
+ CO = String.format("%.2f", Double.valueOf(CO));
+ O2 = String.format("%.2f", Double.valueOf(O2));
+ H2S = String.format("%.2f", Double.valueOf(H2S));
+ CH4 = String.format("%.2f", Double.valueOf(CH4));
String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
Boolean isOpen = Boolean.valueOf(((JSONObject) jsonArray.get(i)).get("liquidSwitch").toString());
//1.清离线
@@ -174,7 +175,7 @@
if (i < jsonArray.size() - 1) continue;
//获取告警等级
Map alarmMap = getAlarmContent(busWell, devCode, CO, O2, H2S, CH4);
- if (alarmMap.size()>0) {
+ if (alarmMap.size() > 0) {
AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
String alarmContent = alarmMap.get("alarmContent").toString();
Integer alarmLevel = Integer.valueOf(alarmMap.get("alarmLevel").toString());
@@ -193,19 +194,24 @@
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
Long jobId = SnowFlakeUtil.getId();
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
- busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(),"1");
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(), "1");
//2.写入新的告警
alarmRecordManager.saveData(jobId, "1", alarmLevel,
WasteGasAlarmEnum.OVER_THRESH.getName(),
alarmValue.substring(0, alarmValue.length() - 1), device,
- devCode, busWell!=null?busWell.getWellCode():"", upTime,
+ devCode, busWell != null ? busWell.getWellCode() : "", upTime,
alarmContent.substring(0, alarmContent.length() - 1));
//3.toDo:向app推送报警消息
// List cids = userManager.getClients(busWell);
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, WasteGasAlarmEnum.OVER_THRESH.getName());
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ WasteGasAlarmEnum.OVER_THRESH.getName(), DeviceTypeEnum.WasteGas.name(), "%LEL");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/WellManager.java b/src/main/java/org/well/well/manager/WellManager.java
index 815dc09..f2ef063 100644
--- a/src/main/java/org/well/well/manager/WellManager.java
+++ b/src/main/java/org/well/well/manager/WellManager.java
@@ -6,11 +6,14 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
+import org.well.well.AlarmEnumDTO.WasteGasAlarmEnum;
import org.well.well.AlarmEnumDTO.WellAlarmEnum;
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -115,6 +118,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "井盖开盖报警", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId,WellAlarmEnum.WellOpenAlarm.getName());
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(),"", busWell.getPosition(),
+ WellAlarmEnum.WellOpenAlarm.name(), DeviceTypeEnum.Well.name(), "");
+ }
}
}
}
diff --git a/src/main/java/org/well/well/util/AlarmPushProvider.java b/src/main/java/org/well/well/util/AlarmPushProvider.java
new file mode 100644
index 0000000..f268cad
--- /dev/null
+++ b/src/main/java/org/well/well/util/AlarmPushProvider.java
@@ -0,0 +1,52 @@
+package org.well.well.util;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class AlarmPushProvider {
+
+ private static final Logger log = LoggerFactory.getLogger(SendBatchSmsUtil.class.getName());
+
+ public static void alarmPushBuilder(String devcode, String tel, String value, String position,
+ String alarmContent, String deviceType, String units) {
+// if (alarmPushConfig.getEnable().equals(1)) {
+// if (alarmPushConfig.getWebsocketAlarm().equals(1)) {
+// try {
+// String msg = "在" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + ","
+// + "设备" + devcode + "发生了浓度超限,浓度值为" + value;
+// ThreadUtil.excuteMsg(null, msg, "");
+// } catch (UnsupportedEncodingException uee) {
+// log.error("websocket推送,内容转码出现异常,异常信息为{}", uee.getMessage());
+// }
+// }
+// if (alarmPushConfig.getShortMessageAlarm().equals(1)) {
+ JSONArray msglist = new JSONArray();
+ JSONObject msgMap = new JSONObject();
+ msgMap.put("time", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+ msgMap.put("devcode", devcode+"("+deviceType+")");
+ msgMap.put("value", value+units);
+ msgMap.put("content", alarmContent);
+ String phoneJson = "";
+ List aliSignNameList = new ArrayList<>();
+ String aliSignName = Configure.getProperty("aliSignNameJson", "");
+ String[] phones = tel.split(",");
+ List phoneList = new ArrayList<>();
+ for (String phone : phones) {
+ msglist.add(msgMap);
+ phoneList.add(phone);
+ aliSignNameList.add(aliSignName);
+ }
+ phoneJson = JSONObject.toJSONString(phoneList);
+ SendBatchSmsUtil.sendMsg(phoneJson, msglist.toJSONString(), JSONObject.toJSONString(aliSignNameList));
+// }
+// }
+ }
+
+}
diff --git a/pom.xml b/pom.xml
index 3203547..11701b8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -242,11 +242,11 @@
2.7.6
-
-
-
-
-
+
+
+
+
+
org.apache.activemq
@@ -268,5 +268,13 @@
spring-jms
3.2.8.RELEASE
+
+
+
+ com.aliyun
+ alibabacloud-dysmsapi20170525
+ 2.0.22
+
+
\ No newline at end of file
diff --git a/smartwell_sink b/smartwell_sink
deleted file mode 160000
index f4d30d5..0000000
--- a/smartwell_sink
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit f4d30d5b1b1f19f52a3948851af73e3ac8aefc88
diff --git a/src/main/java/org/well/mysql/sink/WellSink.java b/src/main/java/org/well/mysql/sink/WellSink.java
index 58617f8..01300ef 100644
--- a/src/main/java/org/well/mysql/sink/WellSink.java
+++ b/src/main/java/org/well/mysql/sink/WellSink.java
@@ -135,9 +135,9 @@
// temp="{\"mType\":\"Data\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"cell\":99,\"datas\":[{\"temperature\":.55,\"humidity\":0.2,\"uptime\":\"20191017150000\"}],\"logTime\":\"20191017150225\",\"bType\":\"TempHumiData\"},\"ts\":1571295745881}";
// temp="{\"mType\":\"Event\",\"devType\":\"Liquid\",\"devCode\":\"11201900001\",\"mBody\":{\"eventType\":[\"LiquidUltrasonicError\"],\"logTime\":\"20190710134635\",\"bType\":\"LiquidEvent\"},\"ts\":1557467195358}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":95,\"datas\":[{\"gas\":0.064453125,\"uptime\":\"20191017085400\"},{\"gas\":0.080566406,\"uptime\":\"20191017095400\"},{\"gas\":10,\"uptime\":\"20191017105400\"},{\"gas\":0.09990235,\"uptime\":\"20191017115400\"},{\"gas\":0.070898436,\"uptime\":\"20191017125400\"},{\"gas\":10.8701172,\"uptime\":\"20191017135400\"}],\"logTime\":\"20191017140124\",\"bType\":\"MethaneData\"},\"ts\":1571292084960}";
- temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
+// temp="{\"mType\":\"Data\",\"devType\":\"Methane\",\"devCode\":\"312021040005\",\"mBody\":{\"cell\":84,\"pci\":279,\"rsrp\":-115,\"snr\":11,\"datas\":[{\"gas\":98.0,\"uptime\":\"20220915115800\"}],\"logTime\":\"20220915115332\",\"bType\":\"MethaneData\"},\"ts\":1663125512779}";
// temp="{\"mType\":\"Event\",\"devType\":\"TempHumi\",\"devCode\":\"51201900001\",\"mBody\":{\"eventType\":[\"TemperatureFail\",\"TemperatureError\",\"HumidityFail\",\"HumidityError\"],\"logTime\":\"20191021140118\",\"bType\":\"TempHumiEvent\"},\"ts\":1571292078959}";
// temp="{\"mType\":\"SetResponse\",\"devType\":\"NoiseDig\",\"devCode\":\"88888888881\",\"mBody\":{\"bType\":\"NoiseDigConfigSuccess\"},\"ts\":1556182310514}";
@@ -170,7 +170,7 @@
// temp="{\"mType\":\"Data\",\"devType\":\"Tube\",\"devCode\":\"342020030014\",\"mBody\":{\"cell\":15,\"pci\":94,\"rsrp\":-103,\"snr\":7,\"datas\":[{\"gas\":0.0,\"uptime\":\"20211128000000\"}],\"logTime\":\"20211210174648\",\"bType\":\"TubeData\"},\"ts\":1639129608475}";
//
// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050010\",\"mBody\":{\"cell\":91,\"pci\":279,\"rsrp\":-105,\"snr\":10,\"datas\":[{\"gas\":40.0,\"uptime\":\"20220113175000\"},{\"liquid\":1040.07336,\"uptime\":\"20220113175000\"}],\"logTime\":\"20220113175144\",\"bType\":\"LGData\"},\"ts\":1642067504321}";
-// temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":0.599999964,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
+ temp="{\"mType\":\"Data\",\"devType\":\"LG\",\"devCode\":\"322021050019\",\"mBody\":{\"cell\":83,\"pci\":100,\"rsrp\":-85,\"snr\":24,\"datas\":[{\"gas\":11.0,\"uptime\":\"20220513020200\"},{\"gas\":0.599999964,\"uptime\":\"20220513030200\"},{\"liquid\":1108.392,\"uptime\":\"20220513020200\"},{\"liquid\":1112.47058,\"uptime\":\"20220513030200\"}],\"logTime\":\"20220513030400\",\"bType\":\"LGData\"},\"ts\":1652382240656}";
AbstractResponse resp = ResponseResolver.makeResponse(temp);
resp.setAc(ac);
// for(String dd:arr){
diff --git a/src/main/java/org/well/well/manager/LGGasManager.java b/src/main/java/org/well/well/manager/LGGasManager.java
index 9e7cc70..acb2e0d 100644
--- a/src/main/java/org/well/well/manager/LGGasManager.java
+++ b/src/main/java/org/well/well/manager/LGGasManager.java
@@ -10,11 +10,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.LGGas;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -124,6 +126,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),gas, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.LG.name(),"%LEL");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/LGLiquidManager.java b/src/main/java/org/well/well/manager/LGLiquidManager.java
index 521fe78..acf7672 100644
--- a/src/main/java/org/well/well/manager/LGLiquidManager.java
+++ b/src/main/java/org/well/well/manager/LGLiquidManager.java
@@ -17,6 +17,7 @@
import org.well.well.domain.Device;
import org.well.well.domain.LGLiquid;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.Configure;
import org.well.well.util.SnowFlakeUtil;
import org.well.well.util.Weather1Util;
@@ -90,14 +91,14 @@
Double levelFloat = new BigDecimal(level).doubleValue() / 100;
//3220开头的设备需要加安装高度
- if (Integer.valueOf(devCode.substring(0,8))>=devcodePrex1) {
+ if (Integer.valueOf(devCode.substring(0, 8)) >= devcodePrex1) {
String press = Configure.getProperty("Press");
if (StringUtils.isBlank(press)) {
press = Weather1Util.getPress();
- System.out.println("*****press="+press);
+ System.out.println("*****press=" + press);
}
double liquidVal = new BigDecimal(press).floatValue() / 98;
- if (liquidVal >= levelFloat ) {
+ if (liquidVal >= levelFloat) {
levelFloat = 0.0;
} else {
levelFloat = levelFloat - liquidVal;
@@ -106,7 +107,7 @@
} else if (devCode.indexOf(devcodePrex) == 0 && levelFloat != 0) {
//默认安装高度20cm
- levelFloat=levelFloat+0.2;
+ levelFloat = levelFloat + 0.2;
}
//1.存数据
LiquidDTO liquidDTO = new LiquidDTO(String.format("%.2f", Double.valueOf(levelFloat)), cell,
@@ -125,7 +126,7 @@
String thresh = alarmRuleManager.getRuleStr(devCode, DeviceTypeEnum.Liquid.toString());
//超限
- if (StringUtils.isNotBlank(thresh)&&Float.valueOf(level) >= Float.valueOf(thresh)) {
+ if (StringUtils.isNotBlank(thresh) && Float.valueOf(level) >= Float.valueOf(thresh)) {
Device device = deviceManager.getDeviceByDevCode(devCode);
//获取报警内容
String alarmContent = GasLiquidAlarmEnum.LIQUID_OVER_THRESH.getName();
@@ -135,9 +136,9 @@
return;
}
AlarmJob alarmJob = alarmJobManager.getByDevAndType(devCode, "1");
- Long jobId=alarmJob==null? SnowFlakeUtil.getId():alarmJob.getId();
+ Long jobId = alarmJob == null ? SnowFlakeUtil.getId() : alarmJob.getId();
if (alarmJob == null) {
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
busWell.getWellCode() : "", DeviceTypeEnum.LG.toString(), "1");
}
//2.写入新的告警
@@ -146,6 +147,11 @@
devCode, busWell == null ? "" : busWell.getWellCode(), upTime, alarmContent);
// //3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(alarmJob.getId(), alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), level, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.LG.name(), "");
+ }
} else {//未超限
//1.清除之前的报警
alarmRecordManager.clearAlarmByNormalData(devCode, "1");
diff --git a/src/main/java/org/well/well/manager/LiquidManager.java b/src/main/java/org/well/well/manager/LiquidManager.java
index 06e1878..be4ad39 100644
--- a/src/main/java/org/well/well/manager/LiquidManager.java
+++ b/src/main/java/org/well/well/manager/LiquidManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
import org.well.well.dto.LiquidDTO;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -139,6 +140,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),level, busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/MeterManager.java b/src/main/java/org/well/well/manager/MeterManager.java
index d4aabb9..d2c8395 100644
--- a/src/main/java/org/well/well/manager/MeterManager.java
+++ b/src/main/java/org/well/well/manager/MeterManager.java
@@ -7,6 +7,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -101,6 +102,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, "水质超限告警");
+ //配置了手机号,可以走短信平台发送
+ if(!StringUtils.isEmpty(busWell.getTel())){
+ AlarmPushProvider.alarmPushBuilder(devCode,busWell.getTel(),alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent,DeviceTypeEnum.Liquid.name(),"");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/MethaneManager.java b/src/main/java/org/well/well/manager/MethaneManager.java
index df94ec7..5531f86 100644
--- a/src/main/java/org/well/well/manager/MethaneManager.java
+++ b/src/main/java/org/well/well/manager/MethaneManager.java
@@ -16,6 +16,7 @@
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Methane;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -125,10 +126,15 @@
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
if (!StringUtils.isEmpty(busWell.getTel())) {
- final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为"+gas;
+ final String pushMsgContent = "在" + DateUtils.sdf4.format(new Date()) + ",设备" + devCode + "在" + busWell.getPosition() + "发生" + alarmContent + ",浓度值为" + gas;
//4.toDO:向济南港华推送消息
SmsPushUtil.excutePushMsg(busWell.getTel(), pushMsgContent);
}
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), gas, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Methane.name(), "");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/NoiseDigManager.java b/src/main/java/org/well/well/manager/NoiseDigManager.java
index 448457b..ad187bc 100644
--- a/src/main/java/org/well/well/manager/NoiseDigManager.java
+++ b/src/main/java/org/well/well/manager/NoiseDigManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -130,6 +131,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.NoiseDig.name(), "");
+ }
}
} else {//未超限
diff --git a/src/main/java/org/well/well/manager/NoiseManager.java b/src/main/java/org/well/well/manager/NoiseManager.java
index 778c934..c235598 100644
--- a/src/main/java/org/well/well/manager/NoiseManager.java
+++ b/src/main/java/org/well/well/manager/NoiseManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -123,7 +124,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, alarmContent);
-
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), val, busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Noise.name(), "");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/TempHumiManager.java b/src/main/java/org/well/well/manager/TempHumiManager.java
index c7ec546..50cdb32 100644
--- a/src/main/java/org/well/well/manager/TempHumiManager.java
+++ b/src/main/java/org/well/well/manager/TempHumiManager.java
@@ -14,6 +14,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -159,6 +160,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, TempHumiAlarmEnum.OVER_THRESH.getName());
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Noise.name(), "");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/TubeManager.java b/src/main/java/org/well/well/manager/TubeManager.java
index cb47fea..3b5c61d 100644
--- a/src/main/java/org/well/well/manager/TubeManager.java
+++ b/src/main/java/org/well/well/manager/TubeManager.java
@@ -9,11 +9,13 @@
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
import org.well.well.core.util.DateUtils;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.AlarmJob;
import org.well.well.domain.BusWell;
import org.well.well.domain.Device;
import org.well.well.domain.Tube;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -121,6 +123,11 @@
devCode, busWell != null ? busWell.getWellCode() : "", upTime, alarmContent);
//3.toDo:向app推送报警消息
ThreadUtil.excuteMsg(jobId, alarmContent);
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(),gas,busWell.getPosition(),
+ alarmContent, DeviceTypeEnum.Tube.name(), "");
+ }
} else {
alarmJobManager.updateAlarmJobByDevCode(devCode, "数据正常,系统自动结束工单");
}
diff --git a/src/main/java/org/well/well/manager/WasteGasManager.java b/src/main/java/org/well/well/manager/WasteGasManager.java
index e0bda7f..4e4b394 100644
--- a/src/main/java/org/well/well/manager/WasteGasManager.java
+++ b/src/main/java/org/well/well/manager/WasteGasManager.java
@@ -13,6 +13,7 @@
import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -157,10 +158,10 @@
String O2 = ((JSONObject) jsonArray.get(i)).get("O2").toString();
String H2S = ((JSONObject) jsonArray.get(i)).get("H2S").toString();
String CH4 = ((JSONObject) jsonArray.get(i)).get("CH4").toString();
- CO=String.format("%.2f", Double.valueOf(CO));
- O2=String.format("%.2f", Double.valueOf(O2));
- H2S=String.format("%.2f", Double.valueOf(H2S));
- CH4=String.format("%.2f", Double.valueOf(CH4));
+ CO = String.format("%.2f", Double.valueOf(CO));
+ O2 = String.format("%.2f", Double.valueOf(O2));
+ H2S = String.format("%.2f", Double.valueOf(H2S));
+ CH4 = String.format("%.2f", Double.valueOf(CH4));
String upTime = ((JSONObject) jsonArray.get(i)).get("uptime").toString();
Boolean isOpen = Boolean.valueOf(((JSONObject) jsonArray.get(i)).get("liquidSwitch").toString());
//1.清离线
@@ -174,7 +175,7 @@
if (i < jsonArray.size() - 1) continue;
//获取告警等级
Map alarmMap = getAlarmContent(busWell, devCode, CO, O2, H2S, CH4);
- if (alarmMap.size()>0) {
+ if (alarmMap.size() > 0) {
AlarmRecord alarmRecord = alarmRecordManager.getThresholdAlarm(devCode);
String alarmContent = alarmMap.get("alarmContent").toString();
Integer alarmLevel = Integer.valueOf(alarmMap.get("alarmLevel").toString());
@@ -193,19 +194,24 @@
if (device == null) return;//未注册设备舍弃
//1.生成新的工单
Long jobId = SnowFlakeUtil.getId();
- alarmJobManager.saveData(jobId,devCode, busWell != null ?
- busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(),"1");
+ alarmJobManager.saveData(jobId, devCode, busWell != null ?
+ busWell.getWellCode() : "", DeviceTypeEnum.WasteGas.toString(), "1");
//2.写入新的告警
alarmRecordManager.saveData(jobId, "1", alarmLevel,
WasteGasAlarmEnum.OVER_THRESH.getName(),
alarmValue.substring(0, alarmValue.length() - 1), device,
- devCode, busWell!=null?busWell.getWellCode():"", upTime,
+ devCode, busWell != null ? busWell.getWellCode() : "", upTime,
alarmContent.substring(0, alarmContent.length() - 1));
//3.toDo:向app推送报警消息
// List cids = userManager.getClients(busWell);
// if (cids.size() > 0)
// PushList.pushToUser(cids, "液位超限", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId, WasteGasAlarmEnum.OVER_THRESH.getName());
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(), alarmValue.substring(0, alarmValue.length() - 1), busWell.getPosition(),
+ WasteGasAlarmEnum.OVER_THRESH.getName(), DeviceTypeEnum.WasteGas.name(), "%LEL");
+ }
}
} else {//未超限
//1.清除之前的报警
diff --git a/src/main/java/org/well/well/manager/WellManager.java b/src/main/java/org/well/well/manager/WellManager.java
index 815dc09..f2ef063 100644
--- a/src/main/java/org/well/well/manager/WellManager.java
+++ b/src/main/java/org/well/well/manager/WellManager.java
@@ -6,11 +6,14 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
+import org.well.well.AlarmEnumDTO.WasteGasAlarmEnum;
import org.well.well.AlarmEnumDTO.WellAlarmEnum;
import org.well.well.base.DeviceTypeEnum;
import org.well.well.core.hibernate.HibernateEntityDao;
+import org.well.well.core.util.StringUtils;
import org.well.well.core.util.ThreadUtil;
import org.well.well.domain.*;
+import org.well.well.util.AlarmPushProvider;
import org.well.well.util.SnowFlakeUtil;
import javax.annotation.Resource;
@@ -115,6 +118,11 @@
// if (cids.size() > 0)
// PushList.pushToUser(cids, "井盖开盖报警", "报警啦,快来处理");
ThreadUtil.excuteMsg(jobId,WellAlarmEnum.WellOpenAlarm.getName());
+ //配置了手机号,可以走短信平台发送
+ if (!StringUtils.isEmpty(busWell.getTel())) {
+ AlarmPushProvider.alarmPushBuilder(devCode, busWell.getTel(),"", busWell.getPosition(),
+ WellAlarmEnum.WellOpenAlarm.name(), DeviceTypeEnum.Well.name(), "");
+ }
}
}
}
diff --git a/src/main/java/org/well/well/util/AlarmPushProvider.java b/src/main/java/org/well/well/util/AlarmPushProvider.java
new file mode 100644
index 0000000..f268cad
--- /dev/null
+++ b/src/main/java/org/well/well/util/AlarmPushProvider.java
@@ -0,0 +1,52 @@
+package org.well.well.util;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+public class AlarmPushProvider {
+
+ private static final Logger log = LoggerFactory.getLogger(SendBatchSmsUtil.class.getName());
+
+ public static void alarmPushBuilder(String devcode, String tel, String value, String position,
+ String alarmContent, String deviceType, String units) {
+// if (alarmPushConfig.getEnable().equals(1)) {
+// if (alarmPushConfig.getWebsocketAlarm().equals(1)) {
+// try {
+// String msg = "在" + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()) + ","
+// + "设备" + devcode + "发生了浓度超限,浓度值为" + value;
+// ThreadUtil.excuteMsg(null, msg, "");
+// } catch (UnsupportedEncodingException uee) {
+// log.error("websocket推送,内容转码出现异常,异常信息为{}", uee.getMessage());
+// }
+// }
+// if (alarmPushConfig.getShortMessageAlarm().equals(1)) {
+ JSONArray msglist = new JSONArray();
+ JSONObject msgMap = new JSONObject();
+ msgMap.put("time", new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
+ msgMap.put("devcode", devcode+"("+deviceType+")");
+ msgMap.put("value", value+units);
+ msgMap.put("content", alarmContent);
+ String phoneJson = "";
+ List aliSignNameList = new ArrayList<>();
+ String aliSignName = Configure.getProperty("aliSignNameJson", "");
+ String[] phones = tel.split(",");
+ List phoneList = new ArrayList<>();
+ for (String phone : phones) {
+ msglist.add(msgMap);
+ phoneList.add(phone);
+ aliSignNameList.add(aliSignName);
+ }
+ phoneJson = JSONObject.toJSONString(phoneList);
+ SendBatchSmsUtil.sendMsg(phoneJson, msglist.toJSONString(), JSONObject.toJSONString(aliSignNameList));
+// }
+// }
+ }
+
+}
diff --git a/src/main/java/org/well/well/util/SendBatchSmsUtil.java b/src/main/java/org/well/well/util/SendBatchSmsUtil.java
new file mode 100644
index 0000000..05c969d
--- /dev/null
+++ b/src/main/java/org/well/well/util/SendBatchSmsUtil.java
@@ -0,0 +1,116 @@
+package org.well.well.util;
+// This file is auto-generated, don't edit it. Thanks.
+
+import com.alibaba.fastjson.JSONObject;
+import com.aliyun.auth.credentials.Credential;
+import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
+import com.aliyun.sdk.service.dysmsapi20170525.AsyncClient;
+import com.aliyun.sdk.service.dysmsapi20170525.models.SendBatchSmsRequest;
+import com.aliyun.sdk.service.dysmsapi20170525.models.SendBatchSmsResponse;
+import com.google.gson.Gson;
+import darabonba.core.client.ClientOverrideConfiguration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.time.Duration;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.CompletableFuture;
+
+public class SendBatchSmsUtil {
+
+ private static final Logger log = LoggerFactory.getLogger(SendBatchSmsUtil.class.getName());
+
+
+ public static void sendMsg(String phoneJson, String msgJson,String aliSignNameJson) {
+ String aliKey = Configure.getProperty("aliKey", "");
+ String aliSecret = Configure.getProperty("aliSecret", "");
+ String aliUrl = Configure.getProperty("aliUrl", "");
+
+ String aliTemplateCode = Configure.getProperty("aliTemplateCode", "");
+ StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
+ .accessKeyId(aliKey)
+ .accessKeySecret(aliSecret)
+ .build());
+
+ AsyncClient client = AsyncClient.builder()
+ .region("cn-shanghai") // Region ID
+ .credentialsProvider(provider)
+ .overrideConfiguration(
+ ClientOverrideConfiguration.create()
+ .setEndpointOverride(aliUrl)
+ .setConnectTimeout(Duration.ofSeconds(30))
+ )
+ .build();
+ List