From c0378660fd4af2280e5d08594f0ad85f8cd73e12 Mon Sep 17 00:00:00 2001
From: 沈斌 <23420800@qq.com>
Date: Tue, 31 Jan 2017 15:35:55 +0800
Subject: [PATCH] 环境数就接口程序后台修复一处小错误

---
 method.js |   51 ++++++++++++++++++++++++++-------------------------
 1 files changed, 26 insertions(+), 25 deletions(-)

diff --git a/method.js b/method.js
index 4ef0589..032d7ab 100644
--- a/method.js
+++ b/method.js
@@ -173,23 +173,9 @@
 
     var _config = global.configs[mac];
     if(_config == null) {
-        _config = {
-            mac: mac,
-            address: "���������������������������������",
-            location: {���
-                lat:31.430616,
-                lng:120.988327���
-            },
-            notice: {
-                tel: "15950198162",���
-                email: "it01@moral.org.cn",���
-                open_id: "o-RTuwvMHWotyirPHLmdSB_dKoQU"
-            },
-            options: {
-                1: [500, 700, 900]
-            }
-        };
-        configs[mac] = _config;
+        _config = config.ALARM_DEFAULTS;
+        _config.mac = mac;
+        global.configs[mac] = _config;
     }
 
     var current = moment();
@@ -229,6 +215,7 @@
         }, function(err, result) { });
     }
 
+    var _this = this;
     db.collection("data").insertOne({
         mac: mac,
         x1: x1,
@@ -261,18 +248,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.levels = [level1, level2, level3, level4, level5];
             queue.pushToMQ('ex_data_alarm', sensor_data);
         }
 
@@ -280,6 +267,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