Commit eb2f3a3d authored by 陈家荣's avatar 陈家荣

更新文章点赞和评论点赞BUG

parent 8e11ac3b
...@@ -239,7 +239,148 @@ var raiseOrcancelRaise = function(req, ent_code, tid, userId, callback) { ...@@ -239,7 +239,148 @@ var raiseOrcancelRaise = function(req, ent_code, tid, userId, callback) {
} else { } else {
callback(returnCode.BUSY); 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);
}
}); });
} }
}); });
...@@ -770,6 +911,21 @@ router.post('/thread/:tid/cancelRaise', function(req, res, next) { ...@@ -770,6 +911,21 @@ router.post('/thread/:tid/cancelRaise', function(req, res, next) {
} }
}); });
//文章点赞和取消点赞
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);
}
});
//文章分享 //文章分享
router.post('/thread/:tid/share', function(req, res, next) { router.post('/thread/:tid/share', function(req, res, next) {
var tid = req.params.tid || null; var tid = req.params.tid || null;
...@@ -1490,112 +1646,9 @@ router.post('/thread/:tid/comment/:cid/raise', function(req, res, next) { ...@@ -1490,112 +1646,9 @@ router.post('/thread/:tid/comment/:cid/raise', function(req, res, next) {
var mid = req.session.openUser.mid; var mid = req.session.openUser.mid;
var ent_code = req.session.user.ent_code; var ent_code = req.session.user.ent_code;
if (tid && cid) { if (tid && cid) {
var integral = req.session.openUser.integral || 0; conmentRaiseOrcancelRaise(req, ent_code, tid, cid, userId, function(result){
var exp = req.session.openUser.exp || 0; res.json(result);
//判断是否已经点赞
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);
}
}
});
}
}); });
} else { } else {
res.json(returnCode.WRONG_PARAM); res.json(returnCode.WRONG_PARAM);
} }
...@@ -1609,87 +1662,25 @@ router.post('/thread/:tid/comment/:cid/cancelRaise', function(req, res, next) { ...@@ -1609,87 +1662,25 @@ router.post('/thread/:tid/comment/:cid/cancelRaise', function(req, res, next) {
var mid = req.session.openUser.mid; var mid = req.session.openUser.mid;
var ent_code = req.session.user.ent_code; var ent_code = req.session.user.ent_code;
if (tid && cid) { if (tid && cid) {
var integral = req.session.openUser.integral || 0; conmentRaiseOrcancelRaise(req, ent_code, tid, cid, userId,function(result){
var exp = req.session.openUser.exp || 0; res.json(result);
//判断是否已经点赞
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));
}
});
}
});
}
});
} else {
res.json(returnCode.ACTION_NOT_PERMISSION);
}
}
});
}
}
}); });
} else {
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 { } else {
res.json(returnCode.WRONG_PARAM); 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