From faec027b63bb19d061098724754895ae801ad493 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Mon, 30 Oct 2017 14:03:30 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 src/main/java/com/moral/monitor/listener/TaskListener.java |   25 ++++++++++++++++++++-----
 1 files changed, 20 insertions(+), 5 deletions(-)

diff --git a/src/main/java/com/moral/monitor/listener/TaskListener.java b/src/main/java/com/moral/monitor/listener/TaskListener.java
index 046f0c0..e346459 100644
--- a/src/main/java/com/moral/monitor/listener/TaskListener.java
+++ b/src/main/java/com/moral/monitor/listener/TaskListener.java
@@ -4,6 +4,7 @@
 import com.alibaba.fastjson.TypeReference;
 import com.moral.monitor.dao.JobDao;
 import com.moral.monitor.dao.TaskDao;
+import com.moral.monitor.entity.History;
 import com.moral.monitor.entity.Sensor;
 import com.moral.monitor.util.RedisUtil;
 import org.slf4j.Logger;
@@ -15,6 +16,7 @@
 import org.springframework.amqp.rabbit.connection.Connection;
 import org.springframework.amqp.rabbit.core.RabbitTemplate;
 import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
 import java.io.UnsupportedEncodingException;
@@ -52,12 +54,17 @@
         String mac = msgData.get("mac");
         String ver = msgData.get("ver");
 
+        if(StringUtils.isEmpty(ver) || StringUtils.isEmpty(mac)) {
+            return;
+        }
+
         Map<String, Float> adjustMap;
-        if(RedisUtil.hasKey(redisTemplate, mac)) {
-            adjustMap = JSON.parseObject(RedisUtil.get(redisTemplate, mac), new TypeReference<Map<String, Float>>() {});
+        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, mac, JSON.toJSONString(adjustMap));
+            RedisUtil.set(redisTemplate, adjust_key, JSON.toJSONString(adjustMap));
         }
 
         if(!adjustMap.isEmpty()) {
@@ -74,7 +81,7 @@
 //        System.out.println(message);
 //        System.out.println(JSON.toJSONString(msgData));
 
-//        rabbitTemplate.convertAndSend("monitors_data", "", JSON.toJSONString(msgData).getBytes());
+        rabbitTemplate.convertAndSend("monitors_data2", "", JSON.toJSONString(msgData).getBytes());
 //        rabbitTemplate.send("monitors_data_3", "", new Message(JSON.toJSONString(msgData).getBytes(), new MessageProperties()));
 
         int state = (new Random()).nextInt(4) % 5; //TODO
@@ -87,13 +94,21 @@
         taskDao.insertTologger(mac, message, getDate());
 
         //������������������
+        List<History> histories = new ArrayList<History>();
         List<Sensor> sensorList = taskDao.selectFromsensorByver(ver);
         for (Sensor sensor : sensorList) {
             String key = sensor.getMac_key();
             if(msgData.containsKey(key)) {
-                taskDao.insertTohistory(mac, sensor.getSensor(), key, msgData.get(key));
+                //taskDao.insertTohistory(mac, sensor.getSensor(), key, msgData.get(key));
+                History history = new History();
+                history.setMac(mac);
+                history.setMac_key(key);
+                history.setSensor(sensor.getSensor());
+                history.setMac_value(Double.valueOf(msgData.get(key)));
+                histories.add(history);
             }
         }
+        jobDao.batchInsertHistory(histories);
     }
 
     private Map<String, Float> getAdjustData(String mac) {

--
Gitblit v1.8.0