Commit 0d847060 authored by strong's avatar strong

Merge branch 'bugfix_1125_praise_duplicate' into SANDBOX

parents a4000f20 eb2f3a3d
......@@ -98,6 +98,294 @@ function create(req, callback) {
}
}
//点赞和取消点赞
var raiseOrcancelRaise = function(req, ent_code, tid, userId, callback) {
//判断是否已经点赞
forumPraiseLogService.queryPraiseLog(tid, null, userId, 1, function(err, doc) {
if (err) {
res.json(returnCode.BUSY);
} else {
forumThreadService.getThreadById(tid, function(err, thread) {
if (err) {
callback(returnCode.BUSY);
} else if (!doc || doc.status == 1) {
//点赞
async.parallel([
function(callback) {
//3.更新文章统计数据(点赞数)
if (thread) {
forumThreadService.updateThreadRaiseCount(tid, function(err, cb) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
} else {
callback('cannot find thread by id', null);
}
},
function(callback) {
if (doc) { //如果已存在,更新为点赞日志
forumPraiseLogService.updatePraiseLog(doc._id, 0, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
} else { //不存在,创建点赞日志
var entity = {
ent_code: ent_code,
user: userId,
thread: tid,
ip: req.ip,
comment: null,
type: 1,
status: 0
};
//4.创建点赞日志
forumPraiseLogService.createPraiseLog(entity, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}
}
], function(err, results) {
if (err) {
console.error(err);
callback(returnCode.BUSY);
} else {
//更新点赞redis
redisPraiseLog.get(ent_code, userId, 'thread', function(error, docs) {
var list = docs;
list.push(tid);
redisPraiseLog.set(ent_code, userId, 'thread', list, function() {});
});
forumThreadService.getThreadById(tid, function(err, doc) {
if (err) {
console.error(err);
callback(returnCode.BUSY);
} else {
var rs = {};
rs.praise_count = doc.praise_count;
rs.isPraise = true;
callback(_.assign(rs, returnCode.SUCCESS));
}
});
}
});
} else if (doc && doc.status == 0) {
//取消点赞
async.parallel([
function(callback) {
//3.更新文章统计数据(点赞数)
if (thread && thread.praise_count > 0) {
forumThreadService.updateThreadRaiseCountDec(tid, function(err, cb) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
} else {
callback('cannot find thread by id', null);
}
},
function(callback) {
//4.更新点赞日志
forumPraiseLogService.updatePraiseLog(doc._id, 1, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}
], function(err, results) {
if (err) {
console.error(err);
callback(returnCode.BUSY);
} else {
//更新点赞redis
redisPraiseLog.get(ent_code, userId, 'thread', function(error, docs) {
var list = docs;
for (var i = 0; i < list.length; i++) {
if (list[i].toString() == tid) {
list.splice(i, 1);
break;
}
}
redisPraiseLog.set(ent_code, userId, 'thread', list, function() {});
});
forumThreadService.getThreadById(tid, function(err, doc) {
if (err) {
console.error(err);
callback(returnCode.BUSY);
} else {
var rs = {};
rs.praise_count = doc.praise_count;
rs.isPraise = false;
callback(_.assign(rs, returnCode.SUCCESS));
}
});
}
});
} else {
callback(returnCode.BUSY);
}
});
}
});
}
//评论点赞和取消点赞
var conmentRaiseOrcancelRaise = function(req, ent_code, tid, cid, userId, callback) {
forumPraiseLogService.queryPraiseLog(tid, cid, userId, 2, function(err, doc) {
if (err) {
console.error(err);
callback(returnCode.BUSY);
} else {
//2.获取论坛文章
forumThreadService.getThreadById(tid, function(err, thread) {
if (err) {
callback(returnCode.BUSY);
} else if(!doc || doc.status == 1){
//点赞
async.parallel([
function(callback) {
forumCommentService.updatePraiseCount(cid, function(err, results) {
if (err) {
console.log(err);
callback(err, null);
} else {
callback(null, null);
}
});
},
function(callback) {
if (doc) {
//4.更新点赞日志
forumPraiseLogService.updatePraiseLog(doc._id, 0, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
} else {
var entity = {
ent_code: ent_code,
user: userId,
thread: tid,
ip: req.ip,
comment: cid,
type: 2,
status: 0
};
//4.创建点赞日志
forumPraiseLogService.createPraiseLog(entity, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}
}
], function(err, results) {
if (err) {
console.error(err);
callback(returnCode.BUSY);
} else {
//更新点赞redis
redisPraiseLog.get(ent_code, userId, 'comment', function(error, docs) {
var list = docs;
list.push(cid);
redisPraiseLog.set(ent_code, userId, 'comment', list, function() {});
});
//返回点赞总数
forumCommentService.getCommentById(cid, function(err, doc) {
if (err) {
console.error(err);
callback(returnCode.BUSY);
} else {
var rs = {};
rs.praise_count = doc.praise_count;
rs.isPraise = true;
callback(_.assign(rs, returnCode.SUCCESS));
}
});
}
});
} else if(doc && doc.status == 0){
//取消点赞
async.parallel([
function(callback) {
forumCommentService.updatePraiseCountDec(cid, function(err, results) {
if (err) {
console.log(err);
callback(err, null);
} else {
callback(null, null);
}
});
},
function(callback) {
//4.更新点赞日志
forumPraiseLogService.updatePraiseLog(doc._id, 1, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}
], function(err, results) {
if (err) {
console.error(err);
callback(returnCode.BUSY);
} else {
//更新点赞redis
redisPraiseLog.get(ent_code, userId, 'comment', function(error, docs) {
var list = docs;
for (var i = 0; i < list.length; i++) {
if (list[i].toString() == cid) {
list.splice(i, 1);
break;
}
}
redisPraiseLog.set(ent_code, userId, 'comment', list, function() {});
});
//返回点赞总数
forumCommentService.getCommentById(cid, function(err, doc) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
var rs = {};
rs.praise_count = doc.praise_count;
rs.isPraise = false;
callback(_.assign(rs, returnCode.SUCCESS));
}
});
}
});
} else{
callback(returnCode.BUSY);
}
});
}
});
}
//根据发帖者分页查询话题列表
router.get('/thread/searchThread', function(req, res, next) {
......@@ -323,270 +611,316 @@ router.get('/thread/photo/:pid/get', function(req, res, next) {
forumThreadService.getByConditions({
type: 3,
level: '2',
pid: pid,
from: userId
}, function(err, thread) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
var rs = {};
rs.data = thread;
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//更新文章状态、如:屏蔽
router.post('/thread/:tid/update', function(req, res, next) {
var tid = req.params.tid;
if (tid) {
forumThreadService.updateThreadById(tid, req.body, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
} else {
if (!isNaN(req.body.status)) {
forumAboutMEService.updateThreadStatus(thread._id, thread.status)
}
res.json(returnCode.SUCCESS);
}
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//删除文章
router.post('/thread/:tid/delete', function(req, res, next) {
var tid = req.params.tid;
if (tid) {
forumThreadService.deleteThreadById(tid, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
} else {
res.json(returnCode.SUCCESS);
}
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//文章点赞
router.post('/thread/:tid/raise', function(req, res, next) {
var userId = req.session.mobileForumUser.userId;
var mid = req.session.openUser.mid;
var tid = req.params.tid || null;
var ent_code = req.session.user.ent_code;
if (tid) {
var integral = req.session.openUser.integral || 0;
var exp = req.session.openUser.exp || 0;
//判断是否已经点赞
forumPraiseLogService.queryPraiseLog(tid, null, user.getMobileUser(req), 1, function(err, doc) {
if (err) {
res.json(returnCode.BUSY);
} else {
//1.检查是否有权限
forumRolePermissionService.checkRolePermiss(ent_code, 'raise', integral, exp, function(err, result) {
if (err) {
res.json(returnCode.BUSY);
} else {
if (result) { //有操作权限
//2.获取论坛文章
forumThreadService.getThreadById(tid, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
} else {
async.parallel([
function(callback) {
//3.更新文章统计数据(点赞数)
if (thread) {
forumThreadService.updateThreadRaiseCount(tid, function(err, cb) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
} else {
callback('cannot find thread by id', null);
}
},
function(callback) {
if (doc) { //如果已存在,更新为点赞日志
forumPraiseLogService.updatePraiseLog(doc._id, 0, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
} else { //不存在,创建点赞日志
var entity = {
ent_code: ent_code,
user: user.getMobileUser(req),
thread: tid,
ip: req.ip,
comment: null,
type: 1,
status: 0
};
//4.创建点赞日志
forumPraiseLogService.createPraiseLog(entity, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}
}
], function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
// forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(userId, function(err, flag){
// if(err){
// console.error(err);
// }else{
// if(!flag){
// httpService.sendRequest(ent_code, req.session.openUser.mid, 'thread_praise');
// }
// }
// });
//更新点赞redis
redisPraiseLog.get(ent_code, userId, 'thread', function(error, docs) {
var list = docs;
list.push(tid);
redisPraiseLog.set(ent_code, userId, 'thread', list, function() {});
});
forumThreadService.getThreadById(tid, function(err, doc) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
var rs = {};
rs.praise_count = doc.praise_count;
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
}
});
}
});
} else {
res.json(returnCode.ACTION_NOT_PERMISSION);
}
}
});
}
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//文章取消点赞
router.post('/thread/:tid/cancelRaise', function(req, res, next) {
var userId = req.session.mobileForumUser.userId;
var mid = req.session.openUser.mid;
var tid = req.params.tid || null;
var ent_code = req.session.user.ent_code;
if (tid) {
var integral = req.session.openUser.integral || 0;
var exp = req.session.openUser.exp || 0;
//判断是否已经点赞
forumPraiseLogService.queryPraiseLog(tid, null, userId, 1, function(err, doc) {
if (err) {
res.json(returnCode.BUSY);
} else {
if (doc) {
var praiseId = doc._id;
//1.检查是否有权限
forumRolePermissionService.checkRolePermiss(ent_code, 'raise', integral, exp, function(err, result) {
if (err) {
res.json(returnCode.BUSY);
} else {
if (result) { //有操作权限
//2.获取论坛文章
forumThreadService.getThreadById(tid, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
} else {
async.parallel([
function(callback) {
//3.更新文章统计数据(点赞数)
if (thread && thread.praise_count > 0) {
forumThreadService.updateThreadRaiseCountDec(tid, function(err, cb) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
} else {
callback('cannot find thread by id', null);
}
},
function(callback) {
//4.更新点赞日志
forumPraiseLogService.updatePraiseLog(praiseId, 1, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}
], function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
//更新点赞redis
redisPraiseLog.get(ent_code, userId, 'thread', function(error, docs) {
var list = docs;
for (var i = 0; i < list.length; i++) {
if (list[i].toString() == tid) {
list.splice(i, 1);
break;
}
}
redisPraiseLog.set(ent_code, userId, 'thread', list, function() {});
});
forumThreadService.getThreadById(tid, function(err, doc) {
pid: pid,
from: userId
}, function(err, thread) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
var rs = {};
rs.praise_count = doc.praise_count;
rs.data = thread;
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
});
//更新文章状态、如:屏蔽
router.post('/thread/:tid/update', function(req, res, next) {
var tid = req.params.tid;
if (tid) {
forumThreadService.updateThreadById(tid, req.body, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
} else {
if (!isNaN(req.body.status)) {
forumAboutMEService.updateThreadStatus(thread._id, thread.status)
}
res.json(returnCode.SUCCESS);
}
});
} else {
res.json(returnCode.ACTION_NOT_PERMISSION);
res.json(returnCode.WRONG_PARAM);
}
});
//删除文章
router.post('/thread/:tid/delete', function(req, res, next) {
var tid = req.params.tid;
if (tid) {
forumThreadService.deleteThreadById(tid, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
} else {
res.json(returnCode.SUCCESS);
}
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
// //文章点赞
// router.post('/thread/:tid/raise', function(req, res, next) {
// var userId = req.session.mobileForumUser.userId;
// var mid = req.session.openUser.mid;
// var tid = req.params.tid || null;
// var ent_code = req.session.user.ent_code;
// if (tid) {
// var integral = req.session.openUser.integral || 0;
// var exp = req.session.openUser.exp || 0;
// //判断是否已经点赞
// forumPraiseLogService.queryPraiseLog(tid, null, user.getMobileUser(req), 1, function(err, doc) {
// if (err) {
// res.json(returnCode.BUSY);
// } else {
// //1.检查是否有权限
// forumRolePermissionService.checkRolePermiss(ent_code, 'raise', integral, exp, function(err, result) {
// if (err) {
// res.json(returnCode.BUSY);
// } else {
// if (result) { //有操作权限
// //2.获取论坛文章
// forumThreadService.getThreadById(tid, function(err, thread) {
// if (err) {
// res.json(returnCode.BUSY);
// } else {
// async.parallel([
// function(callback) {
// //3.更新文章统计数据(点赞数)
// if (thread) {
// forumThreadService.updateThreadRaiseCount(tid, function(err, cb) {
// if (err) {
// callback(err, null);
// } else {
// callback(null, null);
// }
// });
// } else {
// callback('cannot find thread by id', null);
// }
// },
// function(callback) {
// if (doc) { //如果已存在,更新为点赞日志
// forumPraiseLogService.updatePraiseLog(doc._id, 0, function(err, result) {
// if (err) {
// callback(err, null);
// } else {
// callback(null, null);
// }
// });
// } else { //不存在,创建点赞日志
// var entity = {
// ent_code: ent_code,
// user: user.getMobileUser(req),
// thread: tid,
// ip: req.ip,
// comment: null,
// type: 1,
// status: 0
// };
// //4.创建点赞日志
// forumPraiseLogService.createPraiseLog(entity, function(err, result) {
// if (err) {
// callback(err, null);
// } else {
// callback(null, null);
// }
// });
// }
// }
// ], function(err, results) {
// if (err) {
// console.error(err);
// res.json(returnCode.BUSY);
// } else {
// // forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(userId, function(err, flag){
// // if(err){
// // console.error(err);
// // }else{
// // if(!flag){
// // httpService.sendRequest(ent_code, req.session.openUser.mid, 'thread_praise');
// // }
// // }
// // });
// //更新点赞redis
// redisPraiseLog.get(ent_code, userId, 'thread', function(error, docs) {
// var list = docs;
// list.push(tid);
// redisPraiseLog.set(ent_code, userId, 'thread', list, function() {});
// });
// forumThreadService.getThreadById(tid, function(err, doc) {
// if (err) {
// console.error(err);
// res.json(returnCode.BUSY);
// } else {
// var rs = {};
// rs.praise_count = doc.praise_count;
// res.json(_.assign(rs, returnCode.SUCCESS));
// }
// });
// }
// });
// }
// });
// } else {
// res.json(returnCode.ACTION_NOT_PERMISSION);
// }
// }
// });
// }
// });
// } else {
// res.json(returnCode.WRONG_PARAM);
// }
// });
// //文章取消点赞
// router.post('/thread/:tid/cancelRaise', function(req, res, next) {
// var userId = req.session.mobileForumUser.userId;
// var mid = req.session.openUser.mid;
// var tid = req.params.tid || null;
// var ent_code = req.session.user.ent_code;
// if (tid) {
// var integral = req.session.openUser.integral || 0;
// var exp = req.session.openUser.exp || 0;
// //判断是否已经点赞
// forumPraiseLogService.queryPraiseLog(tid, null, userId, 1, function(err, doc) {
// if (err) {
// res.json(returnCode.BUSY);
// } else {
// if (doc) {
// var praiseId = doc._id;
// //1.检查是否有权限
// forumRolePermissionService.checkRolePermiss(ent_code, 'raise', integral, exp, function(err, result) {
// if (err) {
// res.json(returnCode.BUSY);
// } else {
// if (result) { //有操作权限
// //2.获取论坛文章
// forumThreadService.getThreadById(tid, function(err, thread) {
// if (err) {
// res.json(returnCode.BUSY);
// } else {
// async.parallel([
// function(callback) {
// //3.更新文章统计数据(点赞数)
// if (thread && thread.praise_count > 0) {
// forumThreadService.updateThreadRaiseCountDec(tid, function(err, cb) {
// if (err) {
// callback(err, null);
// } else {
// callback(null, null);
// }
// });
// } else {
// callback('cannot find thread by id', null);
// }
// },
// function(callback) {
// //4.更新点赞日志
// forumPraiseLogService.updatePraiseLog(praiseId, 1, function(err, result) {
// if (err) {
// callback(err, null);
// } else {
// callback(null, null);
// }
// });
// }
// ], function(err, results) {
// if (err) {
// console.error(err);
// res.json(returnCode.BUSY);
// } else {
// //更新点赞redis
// redisPraiseLog.get(ent_code, userId, 'thread', function(error, docs) {
// var list = docs;
// for (var i = 0; i < list.length; i++) {
// if (list[i].toString() == tid) {
// list.splice(i, 1);
// break;
// }
// }
// redisPraiseLog.set(ent_code, userId, 'thread', list, function() {});
// });
// forumThreadService.getThreadById(tid, function(err, doc) {
// if (err) {
// console.error(err);
// res.json(returnCode.BUSY);
// } else {
// var rs = {};
// rs.praise_count = doc.praise_count;
// res.json(_.assign(rs, returnCode.SUCCESS));
// }
// });
// }
// });
// }
// });
// } else {
// res.json(returnCode.ACTION_NOT_PERMISSION);
// }
// }
// });
// }
// }
// });
// } else {
// res.json(returnCode.WRONG_PARAM);
// }
// });
//文章点赞
router.post('/thread/:tid/raise', function(req, res, next) {
var userId = req.session.mobileForumUser.userId;
var mid = req.session.openUser.mid;
var tid = req.params.tid || null;
var ent_code = req.session.user.ent_code;
if (tid) {
raiseOrcancelRaise(req, ent_code, tid, userId,function(result){
res.json(result);
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//文章取消点赞
router.post('/thread/:tid/cancelRaise', function(req, res, next) {
var userId = req.session.mobileForumUser.userId;
var mid = req.session.openUser.mid;
var tid = req.params.tid || null;
var ent_code = req.session.user.ent_code;
if (tid) {
raiseOrcancelRaise(req, ent_code, tid, userId,function(result){
res.json(result);
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//文章点赞和取消点赞
router.post('/thread/:tid/praiseOrCancelPraise', function(req, res, next) {
var userId = req.session.mobileForumUser.userId;
var mid = req.session.openUser.mid;
var tid = req.params.tid || null;
var ent_code = req.session.user.ent_code;
if (tid) {
raiseOrcancelRaise(req, ent_code, tid, userId,function(result){
res.json(result);
});
} else {
res.json(returnCode.WRONG_PARAM);
}
......@@ -1312,112 +1646,9 @@ router.post('/thread/:tid/comment/:cid/raise', function(req, res, next) {
var mid = req.session.openUser.mid;
var ent_code = req.session.user.ent_code;
if (tid && cid) {
var integral = req.session.openUser.integral || 0;
var exp = req.session.openUser.exp || 0;
//判断是否已经点赞
forumPraiseLogService.queryPraiseLog(tid, cid, user.getMobileUser(req), 2, function(err, doc) {
if (err) {
res.json(returnCode.BUSY);
} else {
//1.检查是否有权限
forumRolePermissionService.checkRolePermiss(req.session.user.ent_code, 'raise', integral, exp, function(err, result) {
if (err) {
res.json(returnCode.BUSY);
} else {
if (result) { //有操作权限
//2.获取论坛文章
forumThreadService.getThreadById(tid, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
} else {
async.parallel([
function(callback) {
forumCommentService.updatePraiseCount(cid, function(err, results) {
if (err) {
console.log(err);
callback(err, null);
} else {
callback(null, null);
}
});
},
function(callback) {
if (doc) {
//4.更新点赞日志
forumPraiseLogService.updatePraiseLog(doc._id, 0, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
} else {
var entity = {
ent_code: req.session.user.ent_code,
user: user.getMobileUser(req),
thread: tid,
ip: req.ip,
comment: cid,
type: 2,
status: 0
};
//4.创建点赞日志
forumPraiseLogService.createPraiseLog(entity, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}
}
], function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
// forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(userId, function(err, flag){
// if(err){
// console.error(err);
// }else{
// if(!flag){
// httpService.sendRequest(req.session.user.ent_code, req.session.openUser.mid, 'comment_praise');
// }
// }
// });
//更新点赞redis
redisPraiseLog.get(ent_code, userId, 'comment', function(error, docs) {
var list = docs;
list.push(cid);
redisPraiseLog.set(ent_code, userId, 'comment', list, function() {});
});
//返回点赞总数
forumCommentService.getCommentById(cid, function(err, doc) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
var rs = {};
rs.praise_count = doc.praise_count;
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
}
});
}
});
} else {
res.json(returnCode.ACTION_NOT_PERMISSION);
}
}
});
}
conmentRaiseOrcancelRaise(req, ent_code, tid, cid, userId, function(result){
res.json(result);
});
} else {
res.json(returnCode.WRONG_PARAM);
}
......@@ -1431,87 +1662,25 @@ router.post('/thread/:tid/comment/:cid/cancelRaise', function(req, res, next) {
var mid = req.session.openUser.mid;
var ent_code = req.session.user.ent_code;
if (tid && cid) {
var integral = req.session.openUser.integral || 0;
var exp = req.session.openUser.exp || 0;
//判断是否已经点赞
forumPraiseLogService.queryPraiseLog(tid, cid, user.getMobileUser(req), 2, function(err, doc) {
if (err) {
res.json(returnCode.BUSY);
} else {
if (doc) {
var praiseId = doc._id;
//1.检查是否有权限
forumRolePermissionService.checkRolePermiss(ent_code, 'raise', integral, exp, function(err, result) {
if (err) {
res.json(returnCode.BUSY);
} else {
if (result) { //有操作权限
//2.获取论坛文章
forumThreadService.getThreadById(tid, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
} else {
async.parallel([
function(callback) {
forumCommentService.updatePraiseCountDec(cid, function(err, results) {
if (err) {
console.log(err);
callback(err, null);
} else {
callback(null, null);
}
});
},
function(callback) {
//4.更新点赞日志
forumPraiseLogService.updatePraiseLog(praiseId, 1, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}
], function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
//更新点赞redis
redisPraiseLog.get(ent_code, userId, 'comment', function(error, docs) {
var list = docs;
for (var i = 0; i < list.length; i++) {
if (list[i].toString() == cid) {
list.splice(i, 1);
break;
}
}
redisPraiseLog.set(ent_code, userId, 'comment', list, function() {});
});
//返回点赞总数
forumCommentService.getCommentById(cid, function(err, doc) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
var rs = {};
rs.praise_count = doc.praise_count;
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
}
});
}
conmentRaiseOrcancelRaise(req, ent_code, tid, cid, userId,function(result){
res.json(result);
});
} else {
res.json(returnCode.ACTION_NOT_PERMISSION);
}
}
});
}
res.json(returnCode.WRONG_PARAM);
}
});
});
//评论点赞和取消点赞
router.post('/thread/:tid/comment/:cid/praiseOrCancelPraise', function(req, res, next) {
var userId = req.session.mobileForumUser.userId;
var tid = req.params.tid || null;
var cid = req.params.cid || null;
var mid = req.session.openUser.mid;
var ent_code = req.session.user.ent_code;
if (tid && cid) {
conmentRaiseOrcancelRaise(req, ent_code, tid, cid, userId, function(result){
res.json(result);
});
} else {
res.json(returnCode.WRONG_PARAM);
}
......
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