From a54c0b4d0b675d201ec640557c245aa5d00724a7 Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Sat, 21 Jan 2017 00:04:48 +0800
Subject: [PATCH] 修正错误 - 只有在警报等级在1级以上才发布通知

---
 method.js |   45 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 32 insertions(+), 13 deletions(-)

diff --git a/method.js b/method.js
index 4ef0589..d3f34e9 100644
--- a/method.js
+++ b/method.js
@@ -176,17 +176,21 @@
         _config = {
             mac: mac,
             address: "���������������������������������",
-            location: {���
+            location: {
                 lat:31.430616,
-                lng:120.988327���
+                lng:120.988327
             },
             notice: {
-                tel: "15950198162",���
-                email: "it01@moral.org.cn",���
+                tel: "15950198162",
+                email: "it01@moral.org.cn",
                 open_id: "o-RTuwvMHWotyirPHLmdSB_dKoQU"
             },
             options: {
-                1: [500, 700, 900]
+                1: [1000, 2000, 3000],
+                2: [1000, 2000, 3000],
+                3: [1000, 2000, 3000],
+                4: [1000, 2000, 3000],
+                5: [1000, 2000, 3000]
             }
         };
         configs[mac] = _config;
@@ -229,6 +233,7 @@
         }, function(err, result) { });
     }
 
+    var _this = this;
     db.collection("data").insertOne({
         mac: mac,
         x1: x1,
@@ -261,18 +266,18 @@
     }, function(err, doc) {
         if (err) return;
 
-        var opt1 = _config['options'][1];
-        if(x1 > opt1[0]) {
-            var level = 1;
-            if(x1 > opt1[2]) {
-                level = 3;
-            } else if(x1 > opt1[1]) {
-                level = 2;
-            }
+        var level1 = _this.getLevel(x1,  _config['options'][1]);
+        var level2 = _this.getLevel(x9,  _config['options'][2]);
+        var level3 = _this.getLevel(x11, _config['options'][3]);
+        var level4 = _this.getLevel(x10, _config['options'][4]);
+        var level5 = _this.getLevel(x14, _config['options'][5]);
+        var level = Math.max(level1, level2, level3, level4, level5);
+        if(level > 0) {
             sensor_data._id = doc.insertedId;
             sensor_data.level = level;
             sensor_data.notice = _config.notice;
             sensor_data.address = _config.address;
+            sensor_data.data = { 1: [x1, level1], 2: [x9, level2], 3: [x11, level3], 4: [x10, level4], 5: [x14, level5] };
             queue.pushToMQ('ex_data_alarm', sensor_data);
         }
 
@@ -280,6 +285,20 @@
     });
 };
 
+module.exports.getLevel = function(val, option) {
+    var level = 0;
+    if(option == null || option.length < 3) return level;
+    if(val > option[0]) {
+        var level = 1;
+        if(val > option[2]) {
+            level = 3;
+        } else if(val > option[1]) {
+            level = 2;
+        }
+    }
+    return level;
+};
+
 module.exports.updateDeviceSleep = function(db, data, callback) {
     var mac = this.getMac(data);
     var collection = db.collection("devices");

--
Gitblit v1.8.0