Commit 3b72a460 authored by 陈家荣's avatar 陈家荣

社区行为限制改造

parent 2d9cb4e1
......@@ -9,8 +9,11 @@ var moment = require('moment');
var forumUserService=require('../../service/forumUserService');
var forumThreadService=require('../../service/forumThreadService');
var httpService=require('../../service/httpService');
var forumLimitActionRefService=require('../../service/forumLimitActionRefService');
var forumLimitActionConfigService=require('../../service/forumLimitActionConfigService');
// var forumLimitActionRefService=require('../../service/forumLimitActionRefService');
// var forumLimitActionConfigService=require('../../service/forumLimitActionConfigService');
var forumLimitOperationService=require('../../service/forumLimitOperationService');
var async=require('async');
......@@ -83,7 +86,7 @@ router.get('/user/from/share', function(req, res, next) {
action = req.query.action,
ent_code = req.query.ent_code;
forumLimitActionRefService.checkLimitActionProhibitionAddIntegral(userId, function(err, flag){
forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(userId, function(err, flag){
if(err){
console.error(err);
res.json(returnCode.PROHIBITION_OF_SPEECH);
......@@ -101,64 +104,129 @@ router.get('/user/from/share', function(req, res, next) {
// res.status(200).end();
});
//检查用户权限
//检查用户权限 旧版
router.post('/user/checkLimitAction', function(req, res, next) {
var entity=req.body;
var userId = entity.mid;
// var entity=req.body;
// var userId = entity.mid;
var userId = '55af5114658a348c14578987';
if(userId){
forumLimitActionConfigService.getAllLimitActionConfig(function(err,configs){
if(err){
var array = [];
forumLimitOperationService.getLimitOperationByUserId(userId,function(err,forumLimitOperation){
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
var array = [];
forumLimitActionRefService.getLimitActionRefByMid(userId,function(err,forumLimitActionRef){
if (err) {
console.error(err);
var returnObject = {
errcode:'success',
configs:configs,
data:array
}
res.json(returnObject);
} 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];
var flag = compareTime(new Date(), limit_action.begin_time, limit_action.end_time);
//把flag和limit_action_type 放进session
var obj = {
result : flag,
code : limit_action.limit_action_type
}
array.push(obj);
}
var returnObject = {
errcode:'success',
configs:configs,
data:array
}
res.json(returnObject);
}else{
var returnObject = {
errcode:'success',
configs:configs,
data:[]
}
res.json(returnObject);
var returnObject = {
errcode:'-1',
errmsg:err,
data:array
}
res.json(returnObject);
} else {
// 获取到用户行为限制记录
if(forumLimitOperation){
var limit_actions = forumLimitOperation.limit_actions;
for (var i = 0; i < limit_actions.length; i += 1) {
var limit_action = limit_actions[i];
var flag = compareTime(new Date(), limit_action.begin_time, limit_action.end_time);
//把flag和limit_action_type 放进session
var code = '';
switch(limit_action.limit_type)
{
case 1:
code = 'forum_prohibition_of_speech';
break;
case 2:
code = 'forum_not_add_integral';
break;
}
}
});
var obj = {
result : flag,
code : code
}
array.push(obj);
}
var returnObject = {
errcode:'success',
data:array
}
res.json(returnObject);
}else{
var returnObject = {
errcode:'success',
data:[]
}
res.json(returnObject);
}
}
});
}else{
var returnObject = {
errcode:'success',
configs:configs,
errcode:'-1',
errmsg:'参数错误',
data:[]
}
res.json(returnObject);
}
});
//检查用户权限
// router.post('/user/checkLimitAction', function(req, res, next) {
// var entity=req.body;
// var userId = entity.mid;
// if(userId){
// forumLimitActionConfigService.getAllLimitActionConfig(function(err,configs){
// if(err){
// console.error(err);
// res.json(returnCode.BUSY);
// }else{k
// var array = [];
// forumLimitActionRefService.getLimitActionRefByMid(userId,function(err,forumLimitActionRef){
// if (err) {
// console.error(err);
// var returnObject = {
// errcode:'success',
// configs:configs,
// data:array
// }
// res.json(returnObject);
// } 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];
// var flag = compareTime(new Date(), limit_action.begin_time, limit_action.end_time);
// //把flag和limit_action_type 放进session
// var obj = {
// result : flag,
// code : limit_action.limit_action_type
// }
// array.push(obj);
// }
// var returnObject = {
// errcode:'success',
// configs:configs,
// data:array
// }
// res.json(returnObject);
// }else{
// var returnObject = {
// errcode:'success',
// configs:configs,
// data:[]
// }
// res.json(returnObject);
// }
// }
// });
// }
// });
// }else{
// var returnObject = {
// errcode:'success',
// configs:configs,
// data:[]
// }
// res.json(returnObject);
// }
// });
'use strict';
var express = require('express'),
router = express.Router(),
returnCode = require('../../utils/returnCode'),
_ = require('lodash');
var mongoose = require('mongoose');
var moment = require('moment');
var async = require('async');
var then = require('thenjs');
var forumLimitOperationService = require('../../service/forumLimitOperationService');
var forumLimitOperationLogService = require('../../service/forumLimitOperationLogService');
module.exports = function(app) {
app.use('/admin/forum', router);
};
//新增或更新论坛行为限制
router.post('/limitOperation/createOrUpdate', function(req, res, next) {
var ent_code = req.session.user.ent_code;
var userId = req.body.userId;
var selects = req.body.selects;
var limit_actions = [];
if(selects){
// 封装操作
for(var i in selects){
var begin_time = moment(new Date()).format('YYYY-MM-DD');
var end_time = moment(new Date()).add(selects[i].days, 'days').format('YYYY-MM-DD');
var obj = {
limit_reason: selects[i].limit_reason,
limit_type: selects[i].limit_type,
begin_time: new Date(begin_time),
end_time: new Date(end_time),
days:selects[i].days
}
limit_actions.push(obj);
}
}
//封装实体
var forumLimiOperation = {
ent_code: ent_code,
userId: userId,
limit_actions: limit_actions
}
async.parallel([ function(callback) {
//创建或更新
forumLimitOperationService.createOrUpdateLimitOperation({
userId: userId,
ent_code: ent_code,
status: 1
}, forumLimiOperation, function(err, result) {
if (err) {
console.error(err);
callback(err,null);
} else {
callback(null,result);
}
});
}, function(callback) {
for(var i in limit_actions){
var obj = {
ent_code:ent_code,
userId: userId,
limit_reason: limit_actions[i].limit_reason,
limit_type: limit_actions[i].limit_type,
begin_time: limit_actions[i].begin_time,
end_time: limit_actions[i].end_time,
days: limit_actions[i].days,
}
forumLimitOperationLogService.createOperationLog(obj,function(err,doc){
// console.log('save log');
});
}
callback();
} ], function done(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
var rs = {
data: results[0]
}
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
});
//根据userId获取论坛行为限制
router.get('/limitOperation/get/:userId', function(req, res, next) {
var userId = req.params.userId;
if (userId) {
forumLimitOperationService.getLimitOperationByUserId(userId, function(err, forumLimitOperation) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
var rs = {};
rs.data = forumLimitOperation;
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
'use strict';
var express = require('express'),
router = express.Router(),
returnCode = require('../../utils/returnCode'),
_ = require('lodash');
var forumLimitOperationLogService = require('../../service/forumLimitOperationLogService');
module.exports = function(app) {
app.use('/admin/forum', router);
};
//根据userId获取论坛行为限制
router.get('/limitOperationLogs/get/:userId', function(req, res, next) {
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var userId = req.params.userId;
if (userId) {
forumLimitOperationLogService.getAllLimitAction(userId, pageNo, pageSize, function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
res.json(_.assign(results, returnCode.SUCCESS));
}
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
......@@ -14,7 +14,9 @@ var forumShareLogService = require('../../service/forumShareLogService');
var forumCommentService = require('../../service/forumCommentService');
var forumTagService = require('../../service/forumTagService');
var forumUserService = require('../../service/forumUserService');
var forumLimitActionRefService = require('../../service/forumLimitActionRefService');
// var forumLimitActionRefService = require('../../service/forumLimitActionRefService');
var forumLimitOperationService = require('../../service/forumLimitOperationService');
var httpService = require('../../service/httpService');
var userUtil = require('../../utils/user');
......@@ -264,7 +266,7 @@ router.post('/thread/:tid/:fid/recommend', function(req, res, next) {
res.json(returnCode.BUSY);
} else {
if(mid){
forumLimitActionRefService.checkLimitActionProhibitionAddIntegral(tid, function(err, flag){
forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(tid, function(err, flag){
if(err){
console.error(err);
res.json(returnCode.PROHIBITION_OF_SPEECH);
......
......@@ -12,7 +12,8 @@ var forumThreadService = require('../../service/forumThreadService'),
config = require('../../../config/config'),
httpService=require('../../service/httpService'),
forumInfoService = require('../../service/forumInfoService'),
forumLimitActionRefService = require('../../service/forumLimitActionRefService');
// forumLimitActionRefService = require('../../service/forumLimitActionRefService'),
forumLimitOperationService = require('../../service/forumLimitOperationService');
module.exports = function(app) {
app.use('/v1/forum', router);
......@@ -220,7 +221,7 @@ router.get('/:ent_code/share/timeline', function(req, res, next) {
var userId = req.session.mobileForumUser.userId;
forumLimitActionRefService.checkLimitActionProhibitionAddIntegral(userId, function(err, flag){
forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(userId, function(err, flag){
if(err){
console.error(err);
res.json(returnCode.PROHIBITION_OF_SPEECH);
......@@ -243,7 +244,7 @@ router.get('/:ent_code/share/singlemessage', function(req, res, next) {
ent_code = req.session.user.ent_code;
var userId = req.session.mobileForumUser.userId;
forumLimitActionRefService.checkLimitActionProhibitionAddIntegral(userId, function(err, flag){
forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(userId, function(err, flag){
if(err){
console.error(err);
res.json(returnCode.PROHIBITION_OF_SPEECH);
......
......@@ -13,7 +13,8 @@ var forumPraiseLogService = require('../../service/forumPraiseLogService');
var forumShareLogService = require('../../service/forumShareLogService');
var forumCommentService = require('../../service/forumCommentService');
var forumUserThreadControlService = require('../../service/forumUserThreadControlService');
var forumLimitActionRefService = require('../../service/forumLimitActionRefService');
// var forumLimitActionRefService = require('../../service/forumLimitActionRefService');
var forumLimitOperationService = require('../../service/forumLimitOperationService');
var httpService = require('../../service/httpService');
......@@ -132,7 +133,7 @@ router.get('/thread/searchComment', function(req, res, next) {
//新增论坛文章
router.post('/thread/create', function(req, res, next) {
var userId = req.session.mobileForumUser.userId;
forumLimitActionRefService.checkLimitActionProhibitionOfSpeech(userId, function(err, isProhibition){
forumLimitOperationService.checkLimitOperationProhibitionOfSpeech(userId, function(err, isProhibition){
if(err){
console.error(err);
res.json(returnCode.PROHIBITION_OF_SPEECH);
......@@ -152,7 +153,7 @@ router.post('/thread/create', function(req, res, next) {
if (err) {
res.json(returnCode.BUSY);
} else {
forumLimitActionRefService.checkLimitActionProhibitionAddIntegral(userId, function(err, flag){
forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(userId, function(err, flag){
if(err){
console.error(err);
}else{
......@@ -333,7 +334,7 @@ router.post('/thread/:tid/raise', function(req, res, next) {
res.json(returnCode.BUSY);
} else {
forumLimitActionRefService.checkLimitActionProhibitionAddIntegral(userId, function(err, flag){
forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(userId, function(err, flag){
if(err){
console.error(err);
}else{
......@@ -447,7 +448,7 @@ router.post('/thread/:tid/share', function(req, res, next) {
//新增文章评论
router.post('/thread/:tid/comment/create', function(req, res, next) {
var userId = req.session.mobileForumUser.userId;
forumLimitActionRefService.checkLimitActionProhibitionOfSpeech(userId, function(err, isProhibition){
forumLimitOperationService.checkLimitOperationProhibitionOfSpeech(userId, function(err, isProhibition){
if(err){
console.error(err);
res.json(returnCode.PROHIBITION_OF_SPEECH);
......@@ -548,7 +549,7 @@ router.post('/thread/:tid/comment/create', function(req, res, next) {
console.error(err);
res.json(returnCode.BUSY);
} else {
forumLimitActionRefService.checkLimitActionProhibitionAddIntegral(userId, function(err, flag){
forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(userId, function(err, flag){
if(err){
console.error(err);
}else{
......@@ -618,7 +619,7 @@ router.post('/thread/:tid/comment/create', function(req, res, next) {
//新建文章评论的子评论
router.post('/thread/:tid/comment/:cid/create', function(req, res, next) {
var userId = req.session.mobileForumUser.userId;
forumLimitActionRefService.checkLimitActionProhibitionOfSpeech(userId, function(err, isProhibition){
forumLimitOperationService.checkLimitOperationProhibitionOfSpeech(userId, function(err, isProhibition){
if(err){
console.error(err);
res.json(returnCode.PROHIBITION_OF_SPEECH);
......@@ -697,7 +698,7 @@ router.post('/thread/:tid/comment/:cid/create', function(req, res, next) {
console.error(err);
res.json(returnCode.BUSY);
} else {
forumLimitActionRefService.checkLimitActionProhibitionAddIntegral(userId, function(err, flag){
forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(userId, function(err, flag){
if(err){
console.error(err);
}else{
......@@ -918,7 +919,7 @@ router.post('/thread/:tid/comment/:cid/raise', function(req, res, next) {
res.json(returnCode.BUSY);
} else {
forumLimitActionRefService.checkLimitActionProhibitionAddIntegral(userId, function(err, flag){
forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(userId, function(err, flag){
if(err){
console.error(err);
}else{
......
'use strict';
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
//行为限制表
var ForumLimitOperationSchema = new Schema({
ent_code: {
type: Number,
index: true,
require: true
},
userId: { //forumUser id
type: String,
index: true,
unique:true,
require: true
},
uid: { //用户ID,这里直接存放用户的openId
type: String,
require: false
},
status: { //状态,1启用,0禁用
type: Number,
require: true,
default: 1
},
limit_actions: [{
limit_reason: { //原因
type: String,
default: ''
},
limit_type: { //限制类型, 1 禁言, 2 不加积分
type: Number,
default: 0
},
begin_time: { //开始时间
type: Date
},
end_time: { //结束时间
type: Date
},
days:{ //限制天数
type: Number,
require: false
}
}],
created: {
type: Date,
required: true,
default: Date.now
}
}, {
'collection': 'pisns_forum_limit_operation'
});
module.exports = mongoose.model('ForumLimitOperation', ForumLimitOperationSchema);
'use strict';
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
//行为限制日志
var ForumLimitOperationLogSchema = new Schema({
ent_code: {
type: Number,
require: true,
index: true
},
userId: { //forumUser id
type: String,
index: true,
require: true
},
mid: { //会员ID
type: Number,
require: true,
index: false
},
limit_reason: { //原因
type: String,
default: ''
},
limit_type: { //限制类型, 1 禁言, 2 不加积分
type: String,
default: ''
},
begin_time: { //开始时间
type: Date
},
end_time: { //结束时间
type: Date
},
days:{ //限制天数
type: Number,
require: false
},
created: {
type: Date,
required: true,
default: Date.now
}
}, {
'collection': 'pisns_forum_limit_operation_log'
});
module.exports = mongoose.model('ForumLimitOperationLog', ForumLimitOperationLogSchema);
\ No newline at end of file
'use strict';
var mongoose = require('mongoose');
var forumLimitOperationLog = mongoose.model('ForumLimitOperationLog');
var async = require('async');
var then = require('thenjs');
var moment = require('moment');
//获取数量
function countAll(conditions, callback) {
forumLimitOperationLog.count(conditions, function(err, count) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, count);
}
});
}
//创建行为限制log
exports.createOperationLog = function(entity, callback) {
var forum = new forumLimitOperationLog(entity);
forum.save(function(err, forum) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, forum);
}
});
};
//获取全部列表数据
exports.getAllLimitOperationLog= function(conditions,callback) {
forumLimitOperationLog.find(conditions).exec(function(err, docs) {
if (err) {
console.error(err);
callback(err,null);
} else {
callback(null,docs);
}
});
};
//分页获取全部列表数据
exports.getAllLimitAction = function(conditions, pageNo, pageSize, callback) {
countAll(conditions, function(err, count) {
if (err) {
console.error(err);
callback(err, null);
} else {
var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip);
forumLimitOperationLog.find(conditions).skip(skip).limit(limit).sort('-created').exec(function(err, docs) {
if (err) {
console.error(err);
callback(err, null);
} else {
var obj = {};
obj.total = count;
obj.pageNo = pageNo;
obj.pageSize = pageSize;
obj.data = docs;
callback(null, obj);
}
});
}
});
};
\ No newline at end of file
'use strict';
var mongoose = require('mongoose');
var forumLimitOperation = mongoose.model('ForumLimitOperation');
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 getLimitOperation(userId,callback){
forumLimitOperation.findOne({userId:
userId}, function(err, doc) {
if (err) {
console.error(err);
callback(err,null);
} else {
callback(null,doc);
}
});
}
//创建或更新论坛行为限制
exports.createOrUpdateLimitOperation=function(conditions,entity,callback){
forumLimitOperation.findOneAndUpdate(conditions, {
limit_actions: entity.limit_actions
}, function(err, doc) {
if (err) {
console.log(err);
callback(err, null);
} else {
if(!doc){
var forum = new forumLimitOperation(entity);
forum.save(function(err, forum) {
if (err) {
console.error(err);
callback(err,null);
} else {
callback(null,forum);
}
});
}else{
callback(null,doc);
}
}
});
};
//根据userId获取
exports.getLimitOperationByUserId=function(userId,callback){
getLimitOperation(userId, function(err, doc) {
if (err) {
console.error(err);
callback(err,null);
} else {
//判断是否在用,过期的赋为空
if(doc){
var limit_actions = doc.limit_actions;
for (var i = limit_actions.length - 1; i >= 0 ; i -= 1) {
var limit_action = limit_actions[i];
if(limit_action.begin_time && limit_action.end_time){
var begin_time = new Date(limit_action.begin_time).getTime(),
ent_time = new Date(limit_action.end_time).getTime(),
now = new Date().getTime();
if(now > ent_time){
limit_actions.splice(i,1);
}
}
}
}
callback(null,doc);
}
});
};
//检查用户是否被禁言
exports.checkLimitOperationProhibitionOfSpeech = function(userId,callback) {
if(userId){
var isProhibition = false;
getLimitOperation(userId,function(err,forumLimitOperation){
if (err) {
console.error(err);
callback(err, null);
} else {
// 获取到用户行为限制记录
if(forumLimitOperation){
var limit_actions = forumLimitOperation.limit_actions;
for (var i = 0; i < limit_actions.length; i += 1) {
var limit_action = limit_actions[i];
if(limit_action.limit_type === 1){
if(limit_action.begin_time && limit_action.end_time){
var begin_time = new Date(limit_action.begin_time).getTime(),
ent_time = new Date(limit_action.end_time).getTime(),
now = new Date().getTime();
if(now >= begin_time && now <=ent_time){
isProhibition = true;
break;
}
}
}
}
callback(null, isProhibition);
}else{
callback(null, isProhibition);
}
}
});
}else{
callback(null, isProhibition);
}
};
//检查用户是否被禁加积分
exports.checkLimitOperationProhibitionAddIntegral = function(userId,callback) {
var isProhibition = false;
if(userId){
getLimitOperation(userId,function(err,forumLimitOperation){
if (err) {
console.error(err);
callback(err, null);
} else {
// 获取到用户行为限制记录
if(forumLimitOperation){
var limit_actions = forumLimitOperation.limit_actions;
for (var i = 0; i < limit_actions.length; i += 1) {
var limit_action = limit_actions[i];
if(limit_action.limit_type === 2){
if(limit_action.begin_time && limit_action.end_time){
var begin_time = new Date(limit_action.begin_time).getTime(),
ent_time = new Date(limit_action.end_time).getTime(),
now = new Date().getTime();
if(now >= begin_time && now <=ent_time){
isProhibition = true;
break;
}
}
}
}
callback(null, isProhibition);
}else{
callback(null, isProhibition);
}
}
});
}else{
callback(null, isProhibition);
}
};
\ No newline at end of file
......@@ -3,8 +3,11 @@ var mongoose = require('mongoose');
var ForumUser = mongoose.model('ForumUser');
var then = require('thenjs');
var async = require('async');
var forumLimitActionRefService = require('../service/forumLimitActionRefService');
var forumLimitActionConfigService = require('../service/forumLimitActionConfigService');
// var forumLimitActionRefService = require('../service/forumLimitActionRefService');
// var forumLimitActionConfigService = require('../service/forumLimitActionConfigService');
var forumLimitOperationService = require('../service/forumLimitOperationService');
//创建用户
exports.createUser=function(entity,callback){
var forum = new ForumUser(entity);
......@@ -87,6 +90,23 @@ exports.searchMembers=function(pageNo, pageSize, q, callback){
});
};
//根据nickName查询用户
exports.searchMembersByNickName=function(nickName, callback){
var name = {
$or : [
{nickName : { $regex: nickName, $options: 'i' }},
{displayName : { $regex: nickName, $options: 'i' }}
]
};
ForumUser.find(name).exec(function(err,result){
if(err){
callback(err,null);
}else{
callback(null,result);
}
});
};
//查询用户和行为限制信息
exports.searchMembersAndLimitActions=function(pageNo, pageSize, q, callback){
then(function(cont) {
......@@ -98,30 +118,31 @@ exports.searchMembersAndLimitActions=function(pageNo, pageSize, q, callback){
cont(err, count, docs);
});
}).then(function(cont, count, members) {
forumLimitActionConfigService.getAllLimitActionConfig(function(err, configs) {
cont(err, count, members, configs);
});
}).then(function(cont, count, members, configs) {
if (count > 0 && configs.length > 0) {
if (count > 0) {
var asyncTasks = [];
members.forEach(function(member) {
asyncTasks.push(function(callback) {
forumLimitActionRefService.getLimitActionRefByMIdAndEntCode(member._id, member.ent_code, function(err, forumLimitActionRef) {
forumLimitOperationService.getLimitOperationByUserId(member._id, function(err, forumLimitOperation) {
if (err) {
console.error(err);
callback(null, null);
} else {
if(forumLimitActionRef){
var limit_actions = forumLimitActionRef.limit_actions;
if(forumLimitOperation){
var limit_actions = forumLimitOperation.limit_actions;
var array = [];
for (var i = 0; i < limit_actions.length; i += 1) {
var limit_action = limit_actions[i];
for(var k = 0; k < configs.length; k+=1){
if(limit_action.limit_action_type === configs[k].code){
array.push(configs[k].name);
break;
}
}
var name = '';
switch(limit_action.limit_type)
{
case 1:
name = '禁言';
break;
case 2:
name = '不加积分';
break;
}
array.push(name);
}
member = member.toObject();
member.limitActions = array;
......@@ -138,7 +159,6 @@ exports.searchMembersAndLimitActions=function(pageNo, pageSize, q, callback){
console.log(err);
callback(null, null);
} else {
// callback(null, results);
var rsJson = {
result: true,
total: count,
......@@ -166,21 +186,81 @@ exports.searchMembersAndLimitActions=function(pageNo, pageSize, q, callback){
});
};
//查询用户和行为限制信息
// exports.searchMembersAndLimitActions=function(pageNo, pageSize, q, callback){
// then(function(cont) {
// ForumUser.find(q).count(cont);
// }).then(function(cont, count) {
// var skip = (pageNo - 1) * pageSize;
// var limit = count - skip > pageSize ? pageSize : (count - skip);
// ForumUser.find(q).skip(skip).limit(limit).sort('-created').exec(function(err, docs) {
// cont(err, count, docs);
// });
// }).then(function(cont, count, members) {
// forumLimitActionConfigService.getAllLimitActionConfig(function(err, configs) {
// cont(err, count, members, configs);
// });
// }).then(function(cont, count, members, configs) {
// if (count > 0 && configs.length > 0) {
// var asyncTasks = [];
// members.forEach(function(member) {
// asyncTasks.push(function(callback) {
// forumLimitActionRefService.getLimitActionRefByMIdAndEntCode(member._id, member.ent_code, function(err, forumLimitActionRef) {
// if (err) {
// console.error(err);
// callback(null, null);
// } else {
// if(forumLimitActionRef){
// var limit_actions = forumLimitActionRef.limit_actions;
// var array = [];
// for (var i = 0; i < limit_actions.length; i += 1) {
// var limit_action = limit_actions[i];
// for(var k = 0; k < configs.length; k+=1){
// if(limit_action.limit_action_type === configs[k].code){
// array.push(configs[k].name);
// break;
// }
// }
// }
// member = member.toObject();
// member.limitActions = array;
// callback(null, member);
// }else{
// callback(null, member);
// }
// }
// });
// });
// });
// async.parallel(asyncTasks, function(err, results) {
// if (err) {
// console.log(err);
// callback(null, null);
// } else {
// // callback(null, results);
// var rsJson = {
// result: true,
// total: count,
// datas: results
// };
// callback(null, rsJson);
// }
// });
//根据nickName查询用户
exports.searchMembersByNickName=function(nickName, callback){
var name = {
$or : [
{nickName : { $regex: nickName, $options: 'i' }},
{displayName : { $regex: nickName, $options: 'i' }}
]
};
ForumUser.find(name).exec(function(err,result){
if(err){
callback(err,null);
}else{
callback(null,result);
}
});
};
\ No newline at end of file
// } else {
// var rsJson = {
// result: true,
// total: count,
// datas: members
// };
// callback(null, rsJson);
// }
// }).fail(function(cont, err) {
// console.error(err);
// var rsJson = {
// result: false,
// err: err
// };
// callback(err, rsJson);
// });
// };
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