From 99e92a5304ec93d5fd0b9d739215bbc73945f005 Mon Sep 17 00:00:00 2001 From: 沈斌 <23420800@qq.com> Date: Tue, 31 Jan 2017 15:22:51 +0800 Subject: [PATCH] 环境数云端接口程序代码优化,三级警报配置信息移至配置文件中 --- method.js | 53 +++++++++++++++++++++++++++++------------------------ 1 files changed, 29 insertions(+), 24 deletions(-) diff --git a/method.js b/method.js index ded9b19..cdbe1e8 100644 --- a/method.js +++ b/method.js @@ -131,6 +131,10 @@ mac = mac.toLowerCase(); this.updateDeviceLastUpdated(db, mac, function(data) {}); + //������������������������������������������������������ + //var ver = this.toDec(fields[18]) * 256 + this.toDec(fields[19]); //��������� + + var x1 = this.toDec(fields[20]) * 256 + this.toDec(fields[21]); //PM2.5������ var x2 = this.toDec(fields[22]) * 256 + this.toDec(fields[23]); //PM10 var x3 = this.toDec(fields[24]) * 256 + this.toDec(fields[25]); //0.1���0.3um��� @@ -169,22 +173,8 @@ 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] - } - }; + _config = config.ALARM_DEFAULTS; + _config.mac = mac; configs[mac] = _config; } @@ -225,6 +215,7 @@ }, function(err, result) { }); } + var _this = this; db.collection("data").insertOne({ mac: mac, x1: x1, @@ -257,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); } @@ -276,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