From dbc28ad9f10a7e4ae3d1c837f721b168343e961e Mon Sep 17 00:00:00 2001
From: fengxiang <fengxiang@blit.7drlb>
Date: Wed, 25 Oct 2017 14:41:31 +0800
Subject: [PATCH] 修正

---
 src/main/java/com/moral/monitor/listener/Listener.java |  277 +-----------------------------------------------------
 1 files changed, 9 insertions(+), 268 deletions(-)

diff --git a/src/main/java/com/moral/monitor/listener/Listener.java b/src/main/java/com/moral/monitor/listener/Listener.java
index 70dcf96..b1ed5cb 100644
--- a/src/main/java/com/moral/monitor/listener/Listener.java
+++ b/src/main/java/com/moral/monitor/listener/Listener.java
@@ -1,287 +1,28 @@
 package com.moral.monitor.listener;
 
-import com.moral.monitor.dao.TaskDao;
-import com.moral.monitor.entity.*;
-import com.moral.monitor.listener.message.Tomq;
-import net.sf.json.JSONObject;
-import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.amqp.core.Message;
 import org.springframework.amqp.core.MessageListener;
 import org.springframework.amqp.rabbit.core.RabbitTemplate;
-import javax.annotation.Resource;
-import java.io.UnsupportedEncodingException;
-import java.math.BigDecimal;
-import java.text.SimpleDateFormat;
-import java.util.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import com.moral.monitor.dao.TaskDao;
 
 /*���������������*/
+@Component
 public class Listener implements MessageListener {
-    @Resource
+    @Autowired
     RabbitTemplate rabbitTemplate;
-    @Resource
-    TaskDao taskDao;
+//    @Autowired
+//    Lo
     private Logger logger = LoggerFactory.getLogger(Listener.class);
     public void onMessage(Message message) {
-
         logger.warn("���������������������������=" + Thread.currentThread().getName());
-
-        String receiveMsg = null;
-        try {
-            receiveMsg = new String(message.getBody(), "utf-8");
-        } catch (UnsupportedEncodingException e) {
-            logger.warn(e.getMessage());
-        }
-
-        logger.warn(receiveMsg);
-        Map<String, String> receiveMsgMap = toMap(receiveMsg);
-        String mac = receiveMsgMap.remove("mac");
-        String ver = receiveMsgMap.remove("ver");
-        String rtime = receiveMsgMap.remove("time");
-        String win = receiveMsgMap.remove("win");
-        removeNotNumber(receiveMsgMap);
-        String date = getDate(); //logger���noticelog������
-        Equipment equipment = taskDao.selectFromequipment(mac);
-        if (equipment==null) {
-            logger.warn("������" + mac + "������������������");
-            return;
-        }
-        //������������������������4
-        if (equipment.getState()==0) {
-            taskDao.updateequipmentstate(4, mac);
-        }
-        //eX���������������������������,���������������������������������
-        Map<String, String> exsensorMap = exSensortoMap(ver);
-        taskDao.insertTologger(mac, receiveMsg, date);
-        //���������������������������������
-        Map<String, String> bindsensor = macBindSensor(mac);
-        if (bindsensor.size()<=0) {
-            logger.warn("������" + mac + "���������������������������");
-            return;
-        }else {
-            removeNotBind(receiveMsgMap,exsensorMap,bindsensor);
-        }
-
-
-        //���������������������������������������������
-        List<State> states = taskDao.findstateBymac(mac);
-        updateOrinsertstate(receiveMsgMap, mac, exsensorMap);
-        if (states.size()==0){
-            insertTohistory(receiveMsgMap, mac, exsensorMap);
-        } else {
-            insertTohistoryDistinct(receiveMsgMap,mac,exsensorMap,states);
-        }
-
-
-        //������������������
-        List<Critical> criticals = taskDao.findcritical();
-        LinkedHashMap<String, Critical> sensor_criticals = new LinkedHashMap<String, Critical>();
-        for (Critical c:criticals){
-            String sensor = c.getSensor();
-            sensor_criticals.put(sensor,c);
-        }
-
-        //���������������������������������������������������
-        //������������������������
-        List<Integer> level = new ArrayList<Integer>();
-        Set<Map.Entry<String, String>> entries = receiveMsgMap.entrySet();
-        Iterator<Map.Entry<String, String>> iterator = entries.iterator();
-        while (iterator.hasNext()){
-            Map.Entry<String, String> next = iterator.next();
-            String mac_key = next.getKey();
-            String mac_value = next.getValue();
-            String sensor = exsensorMap.get(mac_key);
-            double value =Double.parseDouble(mac_value);
-            //��������������������� ���������������
-            Critical critical = sensor_criticals.get(sensor);
-
-            int sensor_level = 0;
-            if (value >= critical.getFirst()) {
-                level.add(1);
-                sensor_level =1;
-            } else if (value >= critical.getSecond()) {
-                level.add(2);
-                sensor_level = 2;
-            } else if (value >= critical.getThird()) {
-                level.add(3);
-                sensor_level = 3;
-            }
-
-            if(sensor_level!=0){
-                String alarmMsg = "{\"mac\":\"" + mac + "\",\"" +mac_key + "\":" + value + ",\"level\":" + sensor_level + "}";
-                Tomq tomq = new Tomq(rabbitTemplate, alarmMsg);
-                tomq.run();
-            }
-
-        }
-
-        //������������������
-        if (!(level.size() > 0)) {
-            taskDao.updateequipmentstate(4, mac);//������������������������������������
-            return;
-        }
-
-        Integer maxlevel = Collections.max(level);
-        taskDao.updateequipmentstate(maxlevel, mac);
+        
     }
 
 
-
-
-    private String getDate() {
-        Date d = new Date();
-        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        return formatter.format(d);
-    }
-
-    private void saveNotice(Equipment equipment, User u, AlarmSensor sensor, String alarm_content, String noticetype, int sensor_level, String date) {
-        taskDao.insertTonoticelog(u.getId(), u.getName(), noticetype, equipment.getMac(), equipment.getName(), alarm_content, sensor.getSensor(), equipment.getAddress(), sensor_level, date);
-    }
-
-    public String digit(double num, int digit) {
-        BigDecimal y = new BigDecimal(num);
-        double b = y.setScale(digit, BigDecimal.ROUND_HALF_UP).doubleValue();
-        double c = b - (int) b;
-        if (c == 0) {
-            return String.valueOf((int) b);
-        } else {
-            return String.valueOf(b);
-        }
-    }
-
-    private void updateOrinsertstate(Map<String, String> receiveMsgMap, String mac, Map<String, String> exsensorMap) {
-        Set<Map.Entry<String, String>> entries = receiveMsgMap.entrySet();
-        Iterator<Map.Entry<String, String>> iterator = entries.iterator();
-        while (iterator.hasNext()) {
-            Map.Entry<String, String> next = iterator.next();
-            String mac_key = next.getKey();
-            String mac_value = next.getValue();
-            String sensor = exsensorMap.get(mac_key);
-                List<State> states = taskDao.selectFromstate(mac, mac_key);//������������������������������������������
-                if (states.size() == 0) {
-                    taskDao.insertTostate(mac, sensor, mac_key, mac_value);
-                } else if (states.size() == 1) {
-                    taskDao.updatestate(mac_value, mac, mac_key);
-                } else if (states.size() >= 2) {
-                    taskDao.deleteFromstateBymacandmackey(mac, mac_key);
-                    taskDao.insertTostate(mac, sensor, mac_key, mac_value);
-                }
-
-        }
-    }
-
-
-
-    private void insertTohistoryDistinct(Map<String, String> receiveMsgMap, String mac, Map<String, String> exsensorMap,List<State> states){
-        LinkedHashMap<String, Double> state_kv = new LinkedHashMap<String, Double>();
-        for(State s:states){
-            state_kv.put(s.getMac_key(),s.getMac_value());
-        }
-        Set<Map.Entry<String, String>> entries = receiveMsgMap.entrySet();
-        Iterator<Map.Entry<String, String>> iterator = entries.iterator();
-        while(iterator.hasNext()){
-            Map.Entry<String, String> next = iterator.next();
-            String  mac_key = next.getKey();
-            String  mac_value = next.getValue();
-            double value =Double.parseDouble(mac_value);
-            String  sensor = exsensorMap.get(mac_key);
-            Double statevalue = state_kv.get(mac_key);
-                if(value!=statevalue){
-                    taskDao.insertTohistory(mac, sensor, mac_key,mac_value);
-                }
-        }
-
-
-    }
-
-
-
-    private void insertTohistory(Map<String, String> receiveMsgMap, String mac, Map<String, String> exsensorMap) {
-        Set<Map.Entry<String, String>> entries = receiveMsgMap.entrySet();
-        Iterator<Map.Entry<String, String>> iterator = entries.iterator();
-        while (iterator.hasNext()) {
-            Map.Entry<String, String> next = iterator.next();
-            String mac_key = next.getKey();
-            String mac_value = next.getValue();
-            String sensor = exsensorMap.get(mac_key);
-            taskDao.insertTohistory(mac, sensor, mac_key, mac_value);
-
-        }
-    }
-
-    private Map<String, String> macBindSensor(String mac) {
-        Map<String, String> bindsensor = new LinkedHashMap<String, String>();
-        List<AlarmSensor> alarmSensors = taskDao.selectFrommacBymac(mac);
-        for (AlarmSensor sensor : alarmSensors) {
-            String sensorname = sensor.getSensor();
-            if (StringUtils.isNotBlank(sensorname)) {
-                bindsensor.put(sensorname, sensorname);//value���������
-            }
-        }
-        return bindsensor;
-    }
-
-    private Map<String, String> exSensortoMap(String ver) {
-        List<Sensor> sensors = taskDao.selectFromsensorByver(ver);
-        Map<String, String> ex_sensorMap = new LinkedHashMap<String, String>();
-        for (Sensor sensor : sensors) {
-            ex_sensorMap.put(sensor.getMac_key(), sensor.getSensor());
-        }
-        return ex_sensorMap;
-    }
-
-
-
-
-    private  void removeNotBind(Map<String, String> receiveMsgMap,Map<String, String> exsensorMap,Map<String, String> bindsensor){
-        Set<Map.Entry<String, String>> entries = receiveMsgMap.entrySet();
-        Iterator<Map.Entry<String, String>> iterator = entries.iterator();
-        while (iterator.hasNext()) {
-            Map.Entry<String, String> next = iterator.next();
-            String mac_key = next.getKey();
-            String sensor = exsensorMap.get(mac_key);
-            if(!bindsensor.containsKey(sensor)){
-                iterator.remove();
-            }
-        }
-    }
-
-
-      private  void removeNotNumber(Map<String, String> receiveMsgMap){
-          Set<Map.Entry<String, String>> entries = receiveMsgMap.entrySet();
-          Iterator<Map.Entry<String, String>> iterator = entries.iterator();
-          while (iterator.hasNext()) {
-              Map.Entry<String, String> next = iterator.next();
-              String mac_value = next.getValue();
-              boolean str2Num = isStr2Num(mac_value);
-              if (!str2Num) {
-                  iterator.remove();
-              }
-          }
-      }
-
-
-    private boolean  isStr2Num(String str) {
-        try {
-            Double.parseDouble(str);
-            return true;
-        } catch (NumberFormatException e) {
-            return false;
-        }
-    }
-
-
-    private Map<String, String> toMap(String receiveMsg) {
-        Map<String, String> receiveMsgMap = new LinkedHashMap<String, String>();
-        JSONObject jsonObject = JSONObject.fromObject(receiveMsg);
-        Iterator it = jsonObject.keys();
-        while (it.hasNext()) {
-            String key = it.next().toString();
-            String value = jsonObject.get(key).toString();
-            receiveMsgMap.put(key, value);
-        }
-        return receiveMsgMap;
-    }
 
 }
\ No newline at end of file

--
Gitblit v1.8.0