From 9e74359927be420258b454e8914d7cf4f6a11bf9 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Wed, 28 Feb 2018 16:26:10 +0800
Subject: [PATCH] test
---
src/main/java/com/moral/monitor/listener/TaskListener.java | 116 +++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 79 insertions(+), 37 deletions(-)
diff --git a/src/main/java/com/moral/monitor/listener/TaskListener.java b/src/main/java/com/moral/monitor/listener/TaskListener.java
index 1473ff6..307d414 100644
--- a/src/main/java/com/moral/monitor/listener/TaskListener.java
+++ b/src/main/java/com/moral/monitor/listener/TaskListener.java
@@ -52,8 +52,12 @@
protected MongoTemplate mongoTemplate;
private Logger logger = LoggerFactory.getLogger(TaskListener.class);
+
@Resource
RedisService redisService;
+
+ private String levelKey = "alarm_level_config";
+
@Override
public void onMessage(Message msg) {
try {
@@ -64,9 +68,9 @@
logger.warn(e.getMessage());
}
- Map<String, String> msgData = JSON.parseObject(message, new TypeReference<Map<String, String>>() {});
- String mac = msgData.get("mac");
- String ver = msgData.get("ver");
+ Map<String, Object> msgData = JSON.parseObject(message, new TypeReference<Map<String, Object>>() {});
+ String mac = msgData.get("mac").toString();
+ String ver = msgData.get("ver").toString();
if(StringUtils.isEmpty(ver) || StringUtils.isEmpty(mac)) {
return;
@@ -78,8 +82,8 @@
String key = entry.getKey();
if(msgData.containsKey(key)) {
Float value = entry.getValue();
- Float dataValue = Float.valueOf(msgData.get(key)) ;
- msgData.put(key, String.valueOf(dataValue + value));
+ Float dataValue = Float.valueOf(msgData.get(key).toString()) ;
+ msgData.put(key, dataValue + value);
}
}
}
@@ -101,6 +105,7 @@
// taskDao.insertTologger(mac, message, getDate());
mongoTemplate.insert(message, "logger");
+
//������������������
List<History> histories = new ArrayList<History>();
List<Sensor> sensorList = taskDao.selectFromsensorByver(ver);
@@ -111,56 +116,93 @@
History history = new History();
history.setMac(mac);
history.setMac_key(key);
- history.setTime(new Date(Long.parseLong(msgData.get("time"))));
+ history.setTime(new Date(Long.parseLong(msgData.get("time").toString())));
history.setSensor(sensor.getSensor());
- history.setMac_value(Double.valueOf(msgData.get(key)));
+ history.setMac_value(Double.valueOf(msgData.get(key).toString()));
histories.add(history);
}
}
jobDao.batchInsertHistory(histories);
+
//mongoTemplate.insert(JSON.toJSONString(histories), "data");
mongoTemplate.insert(new_message, "data");
} catch (Exception e) {
- //������������
- logger.error(e.getMessage());
+ //������������
+ logger.error(e.getMessage());
+ e.printStackTrace();
}
}
- //���������������������
- private static Map<String,Double[]> alarmLevles =new HashMap<String, Double[]>();
- /*
- * ������������������������,���map���������������������������������
- */
- @Value(value= "system/alarmLevels.json")
- public void setAlarmLevles(String path) throws IOException {
- org.springframework.core.io.Resource resource = new ClassPathResource(path);
- InputStreamReader reader=new InputStreamReader(resource.getInputStream());
- JSONReader jsonReader = new JSONReader(reader);
- //���������������������
- Map<String,Map<String,Double>> alarmLevleMap= jsonReader.readObject(new TypeReference<Map<String,Map<String,Double>>>(){});
- //���map���������������
- for(String key:alarmLevleMap.keySet()) {
- Map<String,Double> levels = alarmLevleMap.get(key);
- double level1 = levels.get("level1");
- double level2 = levels.get("level2");
- double level3 = levels.get("level3");
- //������������������������������������������
- if(levels.get("enable")!=null&&levels.get("enable")==1) {
- //������������������
- Double arr[] = {0.0,level1,level2,level3};
- alarmLevles.put(key, arr);
- }
- }
+// //���������������������
+// private static Map<String,Double[]> alarmLevles =new HashMap<String, Double[]>();
+// /*
+// * ������������������������,���map���������������������������������
+// */
+// @Value(value= "system/alarmLevels.json")
+// public void setAlarmLevles(String path) throws IOException {
+// org.springframework.core.io.Resource resource = new ClassPathResource(path);
+// InputStreamReader reader=new InputStreamReader(resource.getInputStream());
+// JSONReader jsonReader = new JSONReader(reader);
+// //���������������������
+// Map<String,Map<String,Double>> alarmLevleMap= jsonReader.readObject(new TypeReference<Map<String,Map<String,Double>>>(){});
+// //���map���������������
+// for(String key:alarmLevleMap.keySet()) {
+// Map<String,Double> levels = alarmLevleMap.get(key);
+// double level1 = levels.get("level1");
+// double level2 = levels.get("level2");
+// double level3 = levels.get("level3");
+// //������������������������������������������
+// if(levels.get("enable")!=null&&levels.get("enable")==1) {
+// //������������������
+// Double arr[] = {0.0,level1,level2,level3};
+// alarmLevles.put(key, arr);
+// }
+// }
+// }
+
+ private Map<String,Double[]> getAlarmLevels() throws IOException {
+
+ Map<String,Map<String,Double>> alarmLevleMap = null;
+ Map<String,Double[]> alarmLevles = new HashMap<String, Double[]>();
+ if(RedisUtil.hasKey(redisTemplate, levelKey)) {
+ String levelConfigStr = RedisUtil.get(redisTemplate, levelKey);
+ alarmLevleMap = JSON.parseObject(levelConfigStr, new TypeReference<Map<String, Map<String,Double>>>() {});
+ } else {
+ org.springframework.core.io.Resource resource = new ClassPathResource("system/alarmLevels.json");
+ InputStreamReader reader = new InputStreamReader(resource.getInputStream());
+ JSONReader jsonReader = new JSONReader(reader);
+ //���������������������
+ alarmLevleMap= jsonReader.readObject(new TypeReference<Map<String,Map<String,Double>>>(){});
+ }
+
+ //���map���������������
+ for(String key:alarmLevleMap.keySet()) {
+ Map<String,Double> levels = alarmLevleMap.get(key);
+ double level1 = levels.get("level1");
+ double level2 = levels.get("level2");
+ double level3 = levels.get("level3");
+ //������������������������������������������
+ if(levels.get("enable")!=null&&levels.get("enable")==1) {
+ //������������������
+ Double arr[] = {0.0,level1,level2,level3};
+ alarmLevles.put(key, arr);
+ }
+ }
+ return alarmLevles;
}
+
//���������������������������������������������
- private int detEquState(Map<String,String> data) {
+ private int detEquState(Map<String,Object> data) throws IOException {
+
+ Map<String,Double[]> alarmLevles = getAlarmLevels();
+
int state = 0;
Map<String, Object> equMap = new HashMap<String, Object>();
- String mac = data.get("mac");
+ String mac = data.get("mac").toString();
equMap.putAll(data);
if(data!=null) {
for(String key:alarmLevles.keySet()) {
- String value = data.get(key);
+ String value = data.get(key).toString();
if(!StringUtils.isEmpty(value)) {
double val = Double.parseDouble(value);
//������������������������
--
Gitblit v1.8.0