Commit 99b58dca authored by 陈家荣's avatar 陈家荣

1111

parent ef3b3e46
......@@ -2,6 +2,9 @@
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');
//创建用户
exports.createUser=function(entity,callback){
var forum = new ForumUser(entity);
......@@ -84,3 +87,81 @@ exports.searchMembers=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);
}
});
} 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