-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcloud.js
92 lines (82 loc) · 2.41 KB
/
cloud.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
var AV = require('leanengine');
/**
* 一个简单的云代码方法
*/
AV.Cloud.define('hello', function(req, res) {
res.success('Hello world!');
});
AV.Cloud.define('test', function(req, res) {
var r = {};
r.valume = 1000;
r.now = new Date();
var query = new AV.Query('Record');
query.lessThan("recordedAt", r.now);
query.descending('recordedAt');
query.limit(1);
query.find({
success: function(results) {
//console.log(results)
if (results.length > 0)
r.lastRecord = results[0];
res.success(r);
},
error: function(error) {
console.error('Error finding last record ' + error.code + ': ' + error.message);
}
});
});
AV.Cloud.define('getLastIrr', function(req, res) {
var r = {};
r.now = new Date();
//r.now = Date.now();
var query = new AV.Query('Record');
var date = req.params.date;
if (!date)
date = r.now;
console.log(date)
query.lessThan("recordedAt", date);
query.descending('recordedAt');
query.limit(1);
query.find({
success: function(results) {
//console.log(results)
if (results.length > 0) {
var lastRecord = results[0];
r.lastIrr = lastRecord.get('irrigationVolume');
}
res.success(r);
},
error: function(error) {
console.error('Error finding last record ' + error.code + ': ' + error.message);
}
});
});
AV.Cloud.beforeSave('Record', function(request, response) {
var record = request.object;
var query = new AV.Query('Record');
//console.log("recordedAt:" + record.get('recordedAt'))
query.equalTo("userId", record.get('userId'));
query.lessThanOrEqualTo("recordedAt", record.get('recordedAt'));
query.descending('recordedAt');
query.limit(1);
query.find({
success: function(results) {
//console.log(results)
var lastIrr = 0;
if (results.length > 0)
lastIrr = results[0].get('irrigationVolume');
else
lastIrr = request.object.get('irrigationVolume')
//console.log(" " + results[0].id + " lastIrr:" + lastIrr);
var dra = record.get('drainageVolume');
var ult = dra - lastIrr;
//console.log(" " + dra + " lastIrr:" + lastIrr + " ult:" + ult);
request.object.set('ultrafiltrationVolume', ult);
response.success();
},
error: function(error) {
console.error('Error finding last record ' + error.code + ': ' + error.message);
}
});
});
module.exports = AV.Cloud;