Commit 9d6180a8 authored by 陈家荣's avatar 陈家荣

添加社区情况(首页_第二版)接口

parent 064eadc3
...@@ -577,3 +577,129 @@ router.post('/getThreadSexStatistic', function(req, res, next) { ...@@ -577,3 +577,129 @@ router.post('/getThreadSexStatistic', function(req, res, next) {
}); });
} }
}); });
//社区情况(首页_第二版)
router.get('/statistic_v2', function(req, res, next) {
var yesterday = moment(new Date().getTime() - 24 * 3600 * 1000).format('YYYY-MM-DD'),
before_yesterday = moment(new Date().getTime() - 2 * 24 * 3600 * 1000).format('YYYY-MM-DD');
var ent_code = req.query.ent_code,
y_begin = new Date(yesterday), //昨天开始时间
y_end = new Date(yesterday + ' 23:59:59'), //昨天结束时间
by_begin = new Date(before_yesterday), //前天开始时间
by_end = new Date(before_yesterday + ' 23:59:59'); //前天结束时间
then.parallel([
function(cont) {
//昨天访问用户
var match = {
ent_code: ent_code,
created: {
$gte: y_begin,
$lte: y_end
}
};
aggregate(ForumUvLog, match, {
mid: '$mid'
}, {
'count': -1
}, function(err, docs) {
cont(err, docs.length);
});
},
function(cont) {
//前天访问用户
var match = {
ent_code: ent_code,
created: {
$gte: by_begin,
$lte: by_end
}
};
aggregate(ForumUvLog, match, {
mid: '$mid'
}, {
'count': -1
}, function(err, docs) {
cont(err, docs.length);
});
},
function(cont) {
//昨天发帖数
var match = {
ent_code: ent_code,
created: {
$gte: y_begin,
$lte: y_end
}
};
ForumThread.count(match, function(err, count) {
cont(err, count);
});
},
function(cont) {
//前天发帖数
var match = {
ent_code: ent_code,
created: {
$gte: by_begin,
$lte: by_end
}
};
ForumThread.count(match, function(err, count) {
cont(err, count);
});
},
function(cont) {
//总访问用户
var match = {
ent_code: ent_code
};
aggregate(ForumUvLog, match, {
mid: '$mid'
}, {
'count': -1
}, function(err, docs) {
cont(err, docs.length);
});
},
function(cont) {
//总发帖数
var match = {
ent_code: ent_code
};
ForumThread.count(match, function(err, count) {
cont(err, count);
});
}
]).then(function(cont, datas) {
var y_user = datas[0],
by_user = datas[1],
y_thread = datas[2],
by_thread = datas[3],
all_user = datas[4],
all_thread = datas[5];
//计算昨天比前天多 多少 的百分比
var user_rate = (by_user === 0) ? y_user : (y_user / by_user).toFixed(4) - 1,
thread_rate = (by_thread === 0) ? y_thread : (y_thread / by_thread).toFixed(4) - 1;
cont(null, y_user, user_rate, y_thread, thread_rate, all_user, all_thread);
}).then(function(cont, y_user, user_rate, y_thread, thread_rate, all_user, all_thread) {
//返回数据
res.json({
result: true,
data: {
user: y_user,
user_rate: Math.round(user_rate > 1 ? 100 : user_rate < 0 ? 0 : user_rate * 100),
thread: y_thread,
thread_rate: Math.round(thread_rate > 1 ? 100 : thread_rate < 0 ? 0 : thread_rate * 100),
all_user: all_user,
all_thread: all_thread
}
})
}).fail(function(cont, err) {
console.error(err);
res.json({
result: false,
err: err
});
});
});
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment