From 7a225abb600bea02ed1125f0798e6694d9da788a Mon Sep 17 00:00:00 2001
From: fengxiang <fengxiang@blit.7drlb>
Date: Fri, 10 Nov 2017 10:43:18 +0800
Subject: [PATCH] 标准更改
---
src/main/java/com/moral/monitor/listener/TaskListener.java | 67 ++++++++++++---------------------
1 files changed, 24 insertions(+), 43 deletions(-)
diff --git a/src/main/java/com/moral/monitor/listener/TaskListener.java b/src/main/java/com/moral/monitor/listener/TaskListener.java
index b269e0a..93462e8 100644
--- a/src/main/java/com/moral/monitor/listener/TaskListener.java
+++ b/src/main/java/com/moral/monitor/listener/TaskListener.java
@@ -17,7 +17,6 @@
import org.slf4j.LoggerFactory;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageListener;
-import org.springframework.amqp.core.MessageProperties;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.core.io.ClassPathResource;
@@ -32,6 +31,7 @@
import com.moral.monitor.dao.TaskDao;
import com.moral.monitor.entity.History;
import com.moral.monitor.entity.Sensor;
+import com.moral.monitor.service.RedisService;
import com.moral.monitor.util.RedisUtil;
public class TaskListener implements MessageListener {
@@ -52,7 +52,8 @@
protected MongoTemplate mongoTemplate;
private Logger logger = LoggerFactory.getLogger(TaskListener.class);
-
+ @Resource
+ RedisService redisService;
@Override
public void onMessage(Message msg) {
@@ -70,17 +71,9 @@
if(StringUtils.isEmpty(ver) || StringUtils.isEmpty(mac)) {
return;
}
-
- Map<String, Float> adjustMap;
- String adjust_key = "adjust_" + mac;
- if(RedisUtil.hasKey(redisTemplate, adjust_key)) {
- adjustMap = JSON.parseObject(RedisUtil.get(redisTemplate, adjust_key), new TypeReference<Map<String, Float>>() {});
- } else {
- adjustMap = getAdjustData(mac);
- RedisUtil.set(redisTemplate, adjust_key, JSON.toJSONString(adjustMap));
- }
-
- if(!adjustMap.isEmpty()) {
+ //���������������������������map
+ Map<String, Float> adjustMap = redisService.getAdjustsByMac(mac);
+ if(adjustMap!=null&&!adjustMap.isEmpty()) {
for (Map.Entry<String, Float> entry : adjustMap.entrySet()) {
String key = entry.getKey();
if(msgData.containsKey(key)) {
@@ -90,11 +83,11 @@
}
}
}
-
// System.out.println(message);
// System.out.println(JSON.toJSONString(msgData));
- rabbitTemplate.convertAndSend("monitors_data2", "", JSON.toJSONString(msgData).getBytes());
+ String new_message = JSON.toJSONString(msgData);
+ rabbitTemplate.convertAndSend("monitors_data2", "", new_message.getBytes());
// rabbitTemplate.send("monitors_data2", "", new Message(JSON.toJSONString(msgData).getBytes(), new MessageProperties()));
// int state = (new Random()).nextInt(4) % 5; //TODO
@@ -122,29 +115,12 @@
history.setSensor(sensor.getSensor());
history.setMac_value(Double.valueOf(msgData.get(key)));
histories.add(history);
-
- mongoTemplate.insert(JSON.toJSONString(history), "data");
}
}
jobDao.batchInsertHistory(histories);
//mongoTemplate.insert(JSON.toJSONString(histories), "data");
- }
-
- private Map<String, Float> getAdjustData(String mac) {
- List<Map<String, String>> adjusts = jobDao.findAdjustByMac(mac);
- Map<String, Float> dataMap = new HashMap<String, Float>();
- for (int i = 0; i < adjusts.size(); i++) {
- Map adjust = adjusts.get(i);
- if(adjust.get("value") != null) {
- String key = String.valueOf(adjust.get("key"));
- String data = String.valueOf(adjust.get("value"));
- BigDecimal value = new BigDecimal(data);
- value.setScale(3, BigDecimal.ROUND_HALF_UP);
- dataMap.put(key, value.floatValue());
- }
- }
- return dataMap;
+ mongoTemplate.insert(new_message, "data");
}
//���������������������
private static Map<String,Double[]> alarmLevles =new HashMap<String, Double[]>();
@@ -175,6 +151,7 @@
//���������������������������������������������
private int detEquState(Map<String,String> data) {
int state = 0;
+ Map<String, Object> equMap = new HashMap<String, Object>();
if(data!=null) {
for(String key:alarmLevles.keySet()) {
String value = data.get(key);
@@ -186,21 +163,25 @@
if(val>=arr[index]) {
//���������������������������������������������������������������������������
state = (index>state)?index:state;
- break;
+ String e_key = "level"+Integer.toString(index);
+ Object e_States = equMap.get(e_key);
+ if(e_States!=null&&e_States instanceof List) {
+ ((List)e_States).add(key);
+ }else {
+ e_States = new ArrayList<String>();
+ equMap.put(e_key, e_States);
+ ((List)e_States).add(key);
+
+ }
+ equMap.put(e_key, e_States);
+ break;
}
- }
- //���������������������������������������������������������
- if(state == (arr.length-1)) {
- break;
}
}
}
}
+ equMap.put("state", state);//������������
+ redisService.setEquState(data.get("mac"),equMap);
return state;
- }
- private String getDate() {
- Date d = new Date();
- SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- return formatter.format(d);
}
}
--
Gitblit v1.8.0