From 91f9c379ab371ceed4f94cc6a8269af5e9d8955d Mon Sep 17 00:00:00 2001
From: 沈斌 <bluelazysb@hotmail.com>
Date: Tue, 27 Dec 2016 11:03:29 +0800
Subject: [PATCH] 环境数接口程序精简代码,返回值添加doc ID
---
method.js | 89 +++++++++++---------------------------------
server.js | 1
2 files changed, 22 insertions(+), 68 deletions(-)
diff --git a/method.js b/method.js
index 827b8f1..efb3934 100644
--- a/method.js
+++ b/method.js
@@ -181,13 +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: {
@@ -200,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) {
@@ -275,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._id;
+ sensor_data.level = level;
+ sensor_data.nitice = _config.notice;
+ sensor_data.address = _config.address;
+ queue.pushToMQ('ex_data_alarm', sensor_data);
+ }
+
+ callback(doc, rank);
});
};
@@ -386,39 +376,4 @@
}
});
});
-};
-
-/////////////////////////////////////////////////
-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
diff --git a/server.js b/server.js
index 921b518..ccbe491 100644
--- a/server.js
+++ b/server.js
@@ -41,7 +41,6 @@
if(value.startsWith('5a0000010003')) {
var output = [ 0x6A, 0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6B ];
method.insertData(db, value, function(data, rank) {
- //method.insertDocument2(db, value, rank, function(data) {});
var fields = method.padLeft(rank.toString(16), 8).match(/.{2}/g);
output[6] = method.toDec(fields[0]);
output[7] = method.toDec(fields[1]);
--
Gitblit v1.8.0