From a7d7cf19e99f50b5af79cacd6ff4f193c0d44761 Mon Sep 17 00:00:00 2001 From: 沈斌 <bluelazysb@hotmail.com> Date: Tue, 27 Dec 2016 11:33:12 +0800 Subject: [PATCH] 修复insertedId错误 --- method.js | 131 +++++++++++++++---------------------------- 1 files changed, 47 insertions(+), 84 deletions(-) diff --git a/method.js b/method.js index 7ba59d9..2eb056f 100644 --- a/method.js +++ b/method.js @@ -170,6 +170,7 @@ var _config = global.configs[mac]; if(_config == null) { _config = { + mac: mac, address: "���������������������������������", location: {��� lat:31.430616, @@ -180,12 +181,13 @@ email: "it01@moral.org.cn",��� open_id: "o-RTuwvMHWotyirPHLmdSB_dKoQU" } - } + }; + configs[mac] = _config; } var current = moment(); - queue.pushToMQ('ex_data_screen', { + var sensor_data = { mac: mac, location: _config.location, data: { @@ -198,33 +200,8 @@ x6: x14 //������������ }, time: current.valueOf() - }); - - if(x1 > 250) { - var level = 1; - if(x1 > 750) { - level = 3; - } else if(x1 > 500) { - level = 2; - } - queue.pushToMQ('ex_data_alarm', { - mac: mac, - address: _config.address, - location: _config.location, - data:{ - x0: ferval, - x1: x1, //PM2.5 - x2: x3, //PM2.5 - x3: x9, //������ - x4: x11, //������ - x5: x10, //������ - x6: x14 //������������ - }, - level: level, - notice: _config.notice, - time: moment.valueOf() - }); - } + }; + queue.pushToMQ('ex_data_screen', sensor_data); var rank = 0; if(s > 0) { @@ -273,9 +250,24 @@ mcu: mcu, day: current.format('YYYYMMDD'), created: current.valueOf() - }, function(err, result) { + }, function(err, doc) { if (err) return; - callback(result, rank); + + if(x1 > 250) { + var level = 1; + if(x1 > 750) { + level = 3; + } else if(x1 > 500) { + 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); + } + + callback(doc, rank); }); }; @@ -353,64 +345,35 @@ db.collection("devices").find().toArray(function(err, docs) { docs.forEach(function(doc) { var mac = doc.mac; - var address = doc.address; - var location = doc.location; - var notice = doc.notice; - if(notice == null) { - var userID = doc.userID; - db.collection("users").find({"_id": userID}).limit(1).next(function(err, user){ + if(mac != null) { + var address = doc.address || ""; + var location = doc.location || {}; + var notice = doc.notice; + if(notice == null || notice == {}) { + var userID = doc.userID; + db.collection("users").find({"_id": userID}).limit(1).next(function(err, user){ + if(user) { + global.configs[mac] = { + mac: mac, + address: address, + location: location, + notice: { + tel: user.username, + email: user.email, + open_id: user.open_id + } + } + } + }); + } else { global.configs[mac] = { + mac: mac, address: address, location: location, - notice: { - tel: user.username, - email: user.email, - open_id: user.open_id - } + notice: notice } - }); - } else { - global.configs[mac] = { - address: address, - location: location, - notice: notice } } }); }); -}; - -///////////////////////////////////////////////// -module.exports.insertDocument2 = function(db, data, rank, callback) { - var fields = data.match(/.{2}/g); - var mac = fields[6] + fields[7] + fields[8] + fields[9] + fields[10] + fields[11]; //Mac - - var x01 = this.toDec(fields[20]) * 256 + this.toDec(fields[21]); //PM2.5������ - var x02 = this.toDec(fields[24]) * 256 + this.toDec(fields[25]); //PM2.5������ - var x09 = this.toDec(fields[32]) * 256 + this.toDec(fields[33]); //������ - var x10 = this.toDec(fields[34]) * 256 + this.toDec(fields[35]); //������ - var x11 = this.toDec(fields[36]) * 256 + this.toDec(fields[37]); //������ - var x14 = this.toDec(fields[42]) * 256 + this.toDec(fields[43]); //������������ - - var fei = this.toDec(fields[58]); - var ferval = this.toDec(fields[59]); - var aqi = this.toDec(fields[60]) * 256 + this.toDec(fields[61]); - var ddv = this.toDec(fields[62]) * 256 + this.toDec(fields[63]); - var mcu = this.toDec(fields[64]) + this.toDec(fields[65]) / 100; - - db.collection("devices").find({ mac: mac }).limit(1).next(function(err, doc){ - if (err) return; - - var app = 0; - var app_status = doc.app_status; - var app_last_updated = doc.app_last_updated; - if(app_status == 1 && app_last_updated != null && Date.now() - app_last_updated <= 30000) { - app = 1; - } - db.collection(config.COLLECTION).insertOne({ mac: mac.toLowerCase(), data: data + ' - PM2.5:' + x01 + ', ������:' + x09 + ', ������:' + x10 + ', ������:' + x11 + ', ������:' + x02 + ', FEI:' + ferval + ', ������:' + fei + ', ������:' + x14 + ', AQI:' + aqi + ', ������������:' + ddv + ', MCU������:' + mcu + ', APP:' + app, date: Date.now() }, function(err, doc) { - if (err) return; - callback(doc); - }); - }); -}; - +}; \ No newline at end of file -- Gitblit v1.8.0