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

1

parent 2a10da11
...@@ -4,6 +4,50 @@ var ForumLimitActionRef = mongoose.model('ForumLimitActionRef'); ...@@ -4,6 +4,50 @@ var ForumLimitActionRef = mongoose.model('ForumLimitActionRef');
var async = require('async'); var async = require('async');
var then = require('thenjs'); 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){ exports.createOrUpdateLimitActionRef=function(conditions,entity,callback){
...@@ -44,7 +88,8 @@ exports.createLimitActionRef=function(entity,callback){ ...@@ -44,7 +88,8 @@ exports.createLimitActionRef=function(entity,callback){
} }
}); });
}; };
//根据MID获取论坛角色
//根据MID和EntCode获取
exports.getLimitActionRefByMIdAndEntCode=function(mid,ent_code,callback){ exports.getLimitActionRefByMIdAndEntCode=function(mid,ent_code,callback){
ForumLimitActionRef.findOne({mid:mid,ent_code:ent_code}, function(err, role) { ForumLimitActionRef.findOne({mid:mid,ent_code:ent_code}, function(err, role) {
if (err) { if (err) {
...@@ -56,8 +101,9 @@ exports.getLimitActionRefByMIdAndEntCode=function(mid,ent_code,callback){ ...@@ -56,8 +101,9 @@ exports.getLimitActionRefByMIdAndEntCode=function(mid,ent_code,callback){
}); });
}; };
//根据MID获取
exports.getLimitActionRefByMid=function(mid,callback){ exports.getLimitActionRefByMid=function(mid,callback){
ForumLimitActionRef.findOne({mid:mid}, function(err, role) { getLimitActionRef(mid, function(err, role) {
if (err) { if (err) {
console.error(err); console.error(err);
callback(err,null); callback(err,null);
...@@ -67,71 +113,114 @@ exports.getLimitActionRefByMid=function(mid,callback){ ...@@ -67,71 +113,114 @@ exports.getLimitActionRefByMid=function(mid,callback){
}); });
}; };
//根据ID获取论坛角色 //根据ID获取
exports.getLimitActionRefById=function(rid,callback){ // exports.getLimitActionRefById=function(rid,callback){
ForumLimitActionRef.findById(rid, function(err, role) { // ForumLimitActionRef.findById(rid, function(err, role) {
if (err) { // if (err) {
// console.error(err);
// callback(err,null);
// } else {
// callback(null,role);
// }
// });
// };
//根据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);
// }
// });
// };
//获取全部列表数据
exports.getAllLimitActionRef= function(conditions,callback) {
countAll(conditions,function(err,count){
if(err){
console.error(err); console.error(err);
callback(err,null); callback(err,null);
} else { }else{
callback(null,role); ForumLimitActionRef.find(conditions).exec(function(err, docs) {
}
});
};
//根据ID更新论坛角色
exports.updateLimitActionRefById=function(rid,entity,callback){
ForumLimitActionRef.update({ _id: rid}, entity,null,function(err,result){
if (err) { if (err) {
console.error(err); console.error(err);
callback(err,null); callback(err,null);
} else { } else {
callback(null,null); var obj={};
obj.items=docs;
callback(null,obj);
}
});
} }
}); });
}; };
//根据ID更新论坛角色
exports.deleteLimitActionRefById=function(rid,callback){
ForumLimitActionRef.remove({ _id: rid},function(err,result){
//检查用户是否被禁言
exports.checkLimitActionProhibitionOfSpeech = function(mid,callback) {
if(mid){
var isProhibition = false;
getLimitActionRef(mid,function(err,forumLimitActionRef){
if (err) { if (err) {
console.error(err); console.error(err);
callback(err,null); callback(err, null);
} else { } else {
callback(null,null); // 获取到用户行为限制记录
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);
//获取数量
function countAll(conditions,callback) {
ForumLimitActionRef.count(conditions, function (err, count) {
if(err){
console.error(err);
callback(err,null);
}else{ }else{
callback(null,count); callback(null, isProhibition);
}
} }
}); });
}
//获取全部列表数据
exports.getAllLimitActionRef= function(conditions,callback) {
countAll(conditions,function(err,count){
if(err){
console.error(err);
callback(err,null);
}else{ }else{
ForumLimitActionRef.find(conditions).exec(function(err, docs) { callback(null, isProhibition);
}
};
//检查用户是否被禁加积分
exports.checkLimitActionProhibitionAddIntegral = function(mid,callback) {
if(mid){
var isProhibition = false;
getLimitActionRef(mid,function(err,forumLimitActionRef){
if (err) { if (err) {
console.error(err); console.error(err);
callback(err,null); callback(err, null);
} else { } else {
var obj={}; // 获取到用户行为限制记录
obj.items=docs; if(forumLimitActionRef){
callback(null,obj); 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