Commit 52ef817b authored by strong's avatar strong

Merge commit 'daa1a662' into SANDBOX

parents f291758c daa1a662
......@@ -24,6 +24,7 @@ var user = require('../../utils/user');
var floorGenerator = require('../../utils/floorGenerator');
var async = require('async');
var ForumModeratorApply = mongoose.model('ForumModeratorApply');
var forumModeratorApplyService = require('../../service/forumModeratorApplyService');
var redisThreadList = require('../../utils/redisThreadList');
module.exports = function(app) {
app.use('/v1/forum', router);
......@@ -1210,7 +1211,7 @@ router.post('/thread/:tid/comment/:cid/create', function(req, res, next) {
}
});
});
//更改评论状态为3(删除)
//更改评论状态为2(删除)
router.post('/thread/:tid/comment/:cid/disable', function(req, res, next) {
var user_id = user.getMobileUser(req),
tid = req.params.tid,
......@@ -1259,44 +1260,75 @@ router.post('/thread/:tid/comment/:cid/slash', function(req, res, next) {
}, {
recommend: null
}];
ForumThread.findOne(q1).populate('from').exec(function(err, t) {
if (err || !t) {
return res.json(returnCode.BUSY);
}
if(!t.info){//没有板块id直接返回
return res.json(returnCode.BUSY);
}
var q2 = {};//查询当前用户是不是这篇文章的版主
q2.status=1;
q2.ent_code = entCode;
q2.forumUser=userid;
q2.infoIds={$all:[t.info]};
ForumModeratorApply.findOne(q2).populate('forumUser').exec(function(err,result){
if(err){
return res.json(returnCode.BUSY);
}
if(!result){//不是该版主
return res.json(returnCode.ACTION_NOT_PERMISSION);
}
//
async.waterfall([
function(callback) {
forumThreadService.getByConditions(q1, function(err, doc) { //查询文章
if (err || !doc || !doc.info) {
callback(err, null);
} else {
callback(null, doc);
}
});
},
function(thread, callback) {
var q2 = {};//查询当前用户是不是这篇文章的版主
q2.status=1;
q2.ent_code = entCode;
q2.forumUser=userid;
q2.infoIds={$all:[thread.info]};
forumModeratorApplyService.getForumModeratorApplyByConditions(q2, function(err, doc) {
if (err) {
callback(err, null);
} else {
callback(null, doc);
}
});
},
function(forumModerator, callback) { //查询评论
forumCommentService.getCommentById(cid, function(err, comment) {
if (comment && userid) {
//屏蔽
forumCommentService.changeStatus(cid, 0, function(err, update) {
if (err) {
res.json(returnCode.BUSY);
} else {
if (comment && comment.level == 1) {
forumAboutMEService.updateCommentLevel1Status(comment._id, 0);
}
res.json(returnCode.SUCCESS);
}
});
}else{
res.json(returnCode.WRONG_PARAM);
if (err) {
callback(err, null, null);
} else {
callback(null, forumModerator, comment);
}
});
});
}
], function(err, forumModerator, comment) {
if(err){
res.json(returnCode.BUSY);
} else if(forumModerator && comment){ //版主屏蔽
forumCommentService.changeStatus(cid, 0, function(err, update) {
if (err) {
res.json(returnCode.BUSY);
} else {
if (comment && comment.level == 1) {
forumAboutMEService.updateCommentLevel1Status(comment._id, 0);
}
res.json(returnCode.SUCCESS);
}
});
}else if(comment && userid){ //用户自己屏蔽
if (comment.from.toString() == userid.toString()) {
forumCommentService.changeStatus(cid, 0, function(err, update) {
if (err) {
res.json(returnCode.BUSY);
} else {
if (comment && comment.level == 1) {
forumAboutMEService.updateCommentLevel1Status(comment._id, 2);
}
if (comment && comment.level == 2) {
forumAboutMEService.updateCommentLevel2Status(comment._id, 2);
}
res.json(returnCode.SUCCESS);
}
});
} else {
res.json(returnCode.ACTION_NOT_PERMISSION);
}
}else{
res.json(returnCode.BUSY);
}
});
});
......@@ -2101,7 +2133,7 @@ router.get('/thread/:tid/get/subThreads/:type', function(req, res, next) {
if (tid) {
async.waterfall([
function(callback) {
forumThreadService.getByIdSelectyField(tid, 'type', function(err, thread) {
forumThreadService.getByConditionsSelectyField({_id:tid}, 'type', function(err, thread) {
if (err) {
console.error(err);
callback(err, null);
......
......@@ -112,4 +112,16 @@ exports.getForumModeratorApplys = function(conditions, pageNo, pageSize, sort, c
});
};
//获取条件获取
exports.getForumModeratorApplyByConditions = function(conditions, callback) {
forumModeratorApply.findOne(conditions, function(err, doc) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, doc);
}
});
};
......@@ -248,8 +248,8 @@ exports.createThread = function(entity, callback) {
};
//根据ID获取文章,选择字段
exports.getByIdSelectyField = function(id, fields, callback) {
ForumThread.findOne({_id: id}).select(fields).exec(function(err,result){
exports.getByConditionsSelectyField = function(conditions, fields, callback) {
ForumThread.findOne(conditions).select(fields).exec(function(err,result){
if (err) {
console.error(err);
callback(err, null);
......
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