From 2c36fa5b1a9ebda1bfc049e71e376ee37916507a Mon Sep 17 00:00:00 2001 From: 沈斌 <bluelazysb@hotmail.com> Date: Fri, 20 Jan 2017 23:32:57 +0800 Subject: [PATCH] 错误修正 - 数组为null时直接返回level=0 --- method.js | 54 +++++++++++++++++++++++++++++++++++------------------- 1 files changed, 35 insertions(+), 19 deletions(-) diff --git a/method.js b/method.js index 4ef0589..7e89d44 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,25 +266,36 @@ }, 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; - } - sensor_data._id = doc.insertedId; - sensor_data.level = level; - sensor_data.notice = _config.notice; - sensor_data.address = _config.address; - queue.pushToMQ('ex_data_alarm', sensor_data); - } + 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]); + sensor_data._id = doc.insertedId; + sensor_data.level = Math.max(level1, level2, level3, level4, level5); + 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); callback(doc, rank); }); }; +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