-
Notifications
You must be signed in to change notification settings - Fork 0
/
endvote.js
110 lines (96 loc) · 3.81 KB
/
endvote.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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
#! /app/bin/node
var async = require('async');
var moment = require('moment');
process.chdir(__dirname);
(function() {
var sails;
try {
sails = require('sails');
} catch (e) {
console.error('To run an app using `node app.js`, you usually need to have a version of `sails` installed in the same directory as your app.');
console.error('To do that, run `npm install sails`');
console.error('');
console.error('Alternatively, if you have sails installed globally (i.e. you did `npm install -g sails`), you can use `sails lift`.');
console.error('When you run `sails lift`, your app will still use a local `./node_modules/sails` dependency if it exists,');
console.error('but if it doesn\'t, the app will run with the global sails instead!');
return;
}
var rc;
try {
rc = require('rc');
} catch (e0) {
try {
rc = require('sails/node_modules/rc');
} catch (e1) {
console.error('Could not find dependency: `rc`.');
console.error('Your `.sailsrc` file(s) will be ignored.');
console.error('To resolve this, run:');
console.error('npm install rc --save');
rc = function () { return {}; };
}
}
// Start server
sails.lift(rc('sails'), function(){
function endvote() {
var nowMinus3d = moment().subtract(3, 'days').format('YYYY-MM-DD HH:mm:ss');
var nowMinus4d = moment().subtract(4, 'days').format('YYYY-MM-DD HH:mm:ss');
var finish = 0;
// On sélectionne les chevres et hommes des foots qui ont plus de 3 jours
Vote.query("select max(nbVotes) as maxVotes, chevre, foot from (select count(*) as nbVotes, v.chevre, v.foot from vote v inner join foot f on f.id = v.foot WHERE v.chevre IS NOT NULL and f.date < '"+nowMinus3d+"' and f.date > '"+nowMinus4d+"' group by v.chevre, v.foot) x group by foot, chevre",function(err,results){
if(results){
var results = results.rows;
console.log(results);
async.each(results, function(result, callback){
Trophe.create({foot:result.foot, trophe:0, user:result.chevre}).exec(function(err,tr){
console.log(err);
});
Actu.create({user:result.chevre, related_user:result.chevre, typ:'chevreDuMatch', related_stuff:result.foot}).exec(function(err,actu){
if(err)
console.log(err);
Connexion.findOne({user:result.chevre}).exec(function(err, connexion){
if(connexion){
sails.sockets.emit(connexion.socket_id,'notif',actu);
callback();
}
else{
callback();
}
});
});
}, function(err){
finish++;
if(finish==2)
process.exit();
});
}
});
Vote.query("select max(nbVotes) as maxVotes, homme, foot from (select count(*) as nbVotes, v.homme, v.foot from vote v inner join foot f on f.id = v.foot WHERE v.homme IS NOT NULL and f.date < '"+nowMinus3d+"' and f.date > '"+nowMinus4d+"' group by v.homme, v.foot) x group by foot, homme",function(err,results){
if(results){
var results = results.rows;
console.log(results);
async.each(results, function(result, callback){
Trophe.create({foot:result.foot, trophe:1, user:result.homme});
Actu.create({user:result.homme, related_user:result.homme, typ:'hommeDuMatch', related_stuff:result.foot}).exec(function(err,actu){
if(err)
console.log(err);
Connexion.findOne({user:result.homme}).exec(function(err, connexion){
if(connexion){
sails.sockets.emit(connexion.socket_id,'notif',actu);
callback();
}
else
callback();
});
});
}, function(err){
finish++;
if(finish==2)
process.exit();
});
}
});
}
endvote();
});
})();
// process.exit();