工业级运维app手机api
沈斌
2017-10-29 c3e285c9b9e162006da2446e3bed116e4546e8af
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,6 +54,10 @@
        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>>() {});
@@ -74,7 +80,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 +93,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) {