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

Merge branch 'development' of git.wxpai.cn:scrmgroup/pisns-forum-api into development

parents aa3804ac 70599a82
......@@ -19,11 +19,10 @@ module.exports = function(app) {
};
var checkLimitAction = function(req) {
var ent_code = req.session.user.ent_code;
var mid = req.session.mobileForumUser.userId;
if(mid && ent_code){
if(mid){
req.session.mobileForumUser.limit_action = [];
forumLimitActionRefService.getLimitActionRefByMIdAndEntCode(mid,ent_code,function(err,forumLimitActionRef){
forumLimitActionRefService.getLimitActionRefByMid(mid,function(err,forumLimitActionRef){
if (err) {
console.error(err);
res.json('success');
......@@ -39,7 +38,6 @@ var checkLimitAction = function(req) {
code : limit_action.limit_action_type
}
req.session.mobileForumUser.limit_actions.push(obj);
console.log('---------checkLimitAction success--------------------');
res.json('success');
}
}
......
......@@ -53,7 +53,7 @@ router.post('/member/searchMembers', function(req, res, next) {
if (search.status) {
q.status = search.status;
}
forumUserService.searchMembers(pageNo, pageSize, q, function(err, results) {
forumUserService.searchMembersAndLimitActions(pageNo, pageSize, q, function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
......
......@@ -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