From 565c4f00094c6894911b47fae031c4777539b616 Mon Sep 17 00:00:00 2001 From: 沈斌 <bluelazysb@hotmail.com> Date: Mon, 26 Dec 2016 15:48:25 +0800 Subject: [PATCH] 服务端代码优化与测试 --- method.js | 79 +++++++++++++++++++++++++++++++-------- 1 files changed, 62 insertions(+), 17 deletions(-) diff --git a/method.js b/method.js index f888085..48aea6b 100644 --- a/method.js +++ b/method.js @@ -167,14 +167,29 @@ var ddv = this.toDec(fields[62]) * 256 + this.toDec(fields[63]); var mcu = this.toDec(fields[64]) + this.toDec(fields[65]) / 100; + 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" + } + configs[mac] = _config; + } + } + var current = moment(); queue.pushToMQ('ex_data_screen', { mac: mac, - location: { - lat: 31.430616, - lng: 120.988327 - }, + location: _config.location, data: { x0: ferval, x1: x1, //PM2.5 - (������:ppm) @@ -189,18 +204,15 @@ if(x1 > 250) { var level = 1; - if(x1 > 500) { - level = 2; - } else if(x1 > 750) { + if(x1 > 750) { level = 3; + } else if(x1 > 500) { + level = 2; } queue.pushToMQ('ex_data_alarm', { mac: mac, - address: "���������������������������������", - location: { - lat:31.430616, - lng:120.988327 - }, + address: _config.address, + location: _config.location, data:{ x0: ferval, x1: x1, //PM2.5 @@ -211,11 +223,7 @@ x6: x14 //������������ }, level: level, - notice: { - tel: "15950198162", - email: "it01@moral.org.cn", - open_id: "o-RTuwvMHWotyirPHLmdSB_dKoQU" - }, + notice: _config.notice, time: moment.valueOf() }); } @@ -343,6 +351,43 @@ } }; +module.exports.initConfigs = function(db) { + db.collection("devices").find().toArray(function(err, docs) { + docs.forEach(function(doc) { + var mac = doc.mac; + 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: notice + } + } + } + }); + }); +}; + ///////////////////////////////////////////////// module.exports.insertDocument2 = function(db, data, rank, callback) { var fields = data.match(/.{2}/g); -- Gitblit v1.8.0