* @param ipAnswerLog {Schema or dict}
* @param callback
*/
var newAndSave = function(ipAnswerLog, callback){
if(ipAnswerLog instanceof IpAnswerLog){
ipAnswerLog.save(callback);
}else{
var m = new IpAnswerLog(ipAnswerLog);
m.save(callback);
}
}
/**
* 一分钟内回复数
* @param ip
* @param callback
*/
var countOneMinuteAnswer = function(ip, callback){
var endTime = Date.now();
var beginTime = endTime – 1000*60*1;
countIpAnswerByTime(beginTime, endTime, ip, callback);
}
/**
* 一小时内回复数字
* @param ip
* @param callback
*/
var countOneHourAnswer = function(ip, callback){
var endTime = Date.now();
var beginTime = endTime – 1000*60*60*1;
countIpAnswerByTime(beginTime, endTime, ip, callback);
}
/**
* 一天内回复
* @param ip
* @param callback
*/
var countOneDayAnswer = function(ip, callback){
var endTime = Date.now();
var beginTime = endTime – 1000*60*60*24;
countIpAnswerByTime(beginTime, endTime, ip, callback);
}
/**
* 计算某段时间内回复数
* @param beginTime {Number} 开始时间 时间戳
* @param endTime {Number} 结束时间 如果为null,使用当前时间 时间戳
* @param ip {String} Ip地址
* @param callback
*/
var countIpAnswerByTime = function(beginTime, endTime, ip, callback){
if(!endTime){
endTime = Date.now();
}
IpAnswerLog.count({ip:ip, ‘$and’:{$lt:beginTime, $gt:endTime}}, callback);
}
exports.countIpAnswerByTime =countIpAnswerByTime;
exports.countOneDayAnswer = countOneDayAnswer;
exports.countOneHourAnswer = countOneHourAnswer;
exports.countOneMinuteAnswer = countOneMinuteAnswer;
exports.newAndSave = newAndSave;
黑名单Proxy:
/**
* Created by YCXJ-wanglihui on 2014/5/28.
*/
‘use strict’;
var BlackList = require(‘../models’).BlackList;
/**
* 新建并保存
* @param backList {BlackList} or {dict} 黑名单数据
* @param callback
*/
var newAndSave = function(backList, callback){
if(backList instanceof BlackList){
backList.save(callback);
}else{
var m = new BlackList(backList);









