From c3e285c9b9e162006da2446e3bed116e4546e8af Mon Sep 17 00:00:00 2001 From: 沈斌 <bluelazysb@hotmail.com> Date: Sun, 29 Oct 2017 16:32:25 +0800 Subject: [PATCH] 代码更新 --- src/main/java/com/moral/monitor/listener/TaskListener.java | 56 ++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 48 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/moral/monitor/listener/TaskListener.java b/src/main/java/com/moral/monitor/listener/TaskListener.java index 8417a65..69c101c 100644 --- a/src/main/java/com/moral/monitor/listener/TaskListener.java +++ b/src/main/java/com/moral/monitor/listener/TaskListener.java @@ -3,6 +3,9 @@ import com.alibaba.fastjson.JSON; 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; import org.slf4j.LoggerFactory; @@ -13,13 +16,13 @@ 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; import java.math.BigDecimal; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.text.SimpleDateFormat; +import java.util.*; public class TaskListener implements MessageListener { @@ -27,10 +30,10 @@ RabbitTemplate rabbitTemplate; @Resource - CachingConnectionFactory rabbitConnectionFactory; + JobDao jobDao; @Resource - JobDao jobDao; + TaskDao taskDao; @Resource RedisTemplate<String, String> redisTemplate; @@ -49,6 +52,11 @@ Map<String, String> msgData = JSON.parseObject(message, new TypeReference<Map<String, String>>() {}); 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)) { @@ -69,11 +77,37 @@ } } - System.out.println(message); - System.out.println(JSON.toJSONString(msgData)); +// System.out.println(message); +// System.out.println(JSON.toJSONString(msgData)); - rabbitTemplate.convertAndSend("monitors_data_2", "", 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 +// rabbitTemplate.convertAndSend("monitors_alarm", "", "{\"mac\": \"" + mac + "\", \"state\": " + state + "}"); + + //������������������ + jobDao.updateStateByMac(mac, state); + + //������������������ + 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)); + 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) { @@ -91,4 +125,10 @@ } return dataMap; } + + 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