Commit d627ece7 authored by 陈家荣's avatar 陈家荣

1

parent 2a10da11
......@@ -4,6 +4,50 @@ var ForumLimitActionRef = mongoose.model('ForumLimitActionRef');
var async = require('async');
var then = require('thenjs');
var moment = require('moment');
//格式化日期 (格式:年-月-日)
function date_format(date) {
return moment(date).format('YYYY-MM-DD');
}
//判断时间是否在指定范围
function compareTime(now, begin_time, end_time) { // 禁言中 true
now = date_format(now);
begin_time = date_format(begin_time);
end_time = date_format(end_time);
if (moment(now).isSame(begin_time) || moment(now).isSame(end_time)) { //如果等于开始时间或者结束时间
return true;
} else {
return moment(now).isBetween(begin_time, end_time);
}
}
//获取数量
function countAll(conditions,callback) {
ForumLimitActionRef.count(conditions, function (err, count) {
if(err){
console.error(err);
callback(err,null);
}else{
callback(null,count);
}
});
}
//获取单个行为限制
function getLimitActionRef(mid,callback){
ForumLimitActionRef.findOne({mid:mid}, function(err, role) {
if (err) {
console.error(err);
callback(err,null);
} else {
callback(null,role);
}
});
}
//创建或更新论坛行为限制
exports.createOrUpdateLimitActionRef=function(conditions,entity,callback){
......@@ -44,7 +88,8 @@ exports.createLimitActionRef=function(entity,callback){
}
});
};
//根据MID获取论坛角色
//根据MID和EntCode获取
exports.getLimitActionRefByMIdAndEntCode=function(mid,ent_code,callback){
ForumLimitActionRef.findOne({mid:mid,ent_code:ent_code}, function(err, role) {
if (err) {
......@@ -56,8 +101,9 @@ exports.getLimitActionRefByMIdAndEntCode=function(mid,ent_code,callback){
});
};
//根据MID获取
exports.getLimitActionRefByMid=function(mid,callback){
ForumLimitActionRef.findOne({mid:mid}, function(err, role) {
getLimitActionRef(mid, function(err, role) {
if (err) {
console.error(err);
callback(err,null);
......@@ -67,53 +113,32 @@ exports.getLimitActionRefByMid=function(mid,callback){
});
};
//根据ID获取论坛角色
exports.getLimitActionRefById=function(rid,callback){
ForumLimitActionRef.findById(rid, function(err, role) {
if (err) {
console.error(err);
callback(err,null);
} else {
callback(null,role);
}
});
};
//根据ID获取
// exports.getLimitActionRefById=function(rid,callback){
// ForumLimitActionRef.findById(rid, function(err, role) {
// if (err) {
// console.error(err);
// callback(err,null);
// } else {
// callback(null,role);
// }
// });
// };
//根据ID更新论坛角色
exports.updateLimitActionRefById=function(rid,entity,callback){
ForumLimitActionRef.update({ _id: rid}, entity,null,function(err,result){
if (err) {
console.error(err);
callback(err,null);
} else {
callback(null,null);
}
});
};
//根据ID更新论坛角色
exports.deleteLimitActionRefById=function(rid,callback){
ForumLimitActionRef.remove({ _id: rid},function(err,result){
if (err) {
console.error(err);
callback(err,null);
} else {
callback(null,null);
}
});
};
//根据ID删除
// exports.deleteLimitActionRefById=function(rid,callback){
// ForumLimitActionRef.remove({ _id: rid},function(err,result){
// if (err) {
// console.error(err);
// callback(err,null);
// } else {
// callback(null,null);
// }
// });
// };
//获取数量
function countAll(conditions,callback) {
ForumLimitActionRef.count(conditions, function (err, count) {
if(err){
console.error(err);
callback(err,null);
}else{
callback(null,count);
}
});
}
//获取全部列表数据
exports.getAllLimitActionRef= function(conditions,callback) {
......@@ -135,3 +160,67 @@ exports.getAllLimitActionRef= function(conditions,callback) {
}
});
};
//检查用户是否被禁言
exports.checkLimitActionProhibitionOfSpeech = function(mid,callback) {
if(mid){
var isProhibition = false;
getLimitActionRef(mid,function(err,forumLimitActionRef){
if (err) {
console.error(err);
callback(err, null);
} else {
// 获取到用户行为限制记录
if(forumLimitActionRef){
var limit_actions = forumLimitActionRef.limit_actions;
for (var i = 0; i < limit_actions.length; i += 1) {
var limit_action = limit_actions[i];
if(limit_action.limit_action_type == 'forum_prohibition_of_speech'){
isProhibition = compareTime(new Date(), limit_action.begin_time, limit_action.end_time);
break;
}
}
callback(null, isProhibition);
}else{
callback(null, isProhibition);
}
}
});
}else{
callback(null, isProhibition);
}
};
//检查用户是否被禁加积分
exports.checkLimitActionProhibitionAddIntegral = function(mid,callback) {
if(mid){
var isProhibition = false;
getLimitActionRef(mid,function(err,forumLimitActionRef){
if (err) {
console.error(err);
callback(err, null);
} else {
// 获取到用户行为限制记录
if(forumLimitActionRef){
var limit_actions = forumLimitActionRef.limit_actions;
for (var i = 0; i < limit_actions.length; i += 1) {
var limit_action = limit_actions[i];
if(limit_action.limit_action_type == 'forum_not_add_integral'){
isProhibition = compareTime(new Date(), limit_action.begin_time, limit_action.end_time);
break;
}
}
callback(null, isProhibition);
}else{
callback(null, isProhibition);
}
}
});
}else{
callback(null, isProhibition);
}
};
\ 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