Commit c0645f67 authored by strong's avatar strong

Merge branch 'bugfix_0118_info_delete' into SANDBOX

parents 2fae26c3 8ad7baff
...@@ -26,7 +26,7 @@ var forumThreadService = require('../../service/forumThreadService'), ...@@ -26,7 +26,7 @@ var forumThreadService = require('../../service/forumThreadService'),
httpService = require('../../service/httpService'); httpService = require('../../service/httpService');
var userUtil = require('../../utils/user'); var userUtil = require('../../utils/user');
var floorGenerator = require('../../utils/floorGenerator');
module.exports = function(app) { module.exports = function(app) {
app.use('/admin/forum', router); app.use('/admin/forum', router);
}; };
...@@ -939,19 +939,11 @@ router.post('/thread/comment/add', function(req, res, next) { ...@@ -939,19 +939,11 @@ router.post('/thread/comment/add', function(req, res, next) {
function(callback) { function(callback) {
//获取楼层 //获取楼层
if (entity.level == 1) { if (entity.level == 1) {
var conditions = { floorGenerator.getCommentFloor(entity.ent_code,tid,function(err,floor){
thread: entity.thread,
level: '1'
}
forumCommentService.count(conditions, function(err, count) {
if (err) { if (err) {
callback(err); callback(err);
} else { } else {
if (count) { entity.floor = floor;
entity.floor = count + 1;
} else {
entity.floor = 1;
}
callback(); callback();
} }
}); });
......
...@@ -21,6 +21,7 @@ var redisPraiseLog = require('../../utils/redisPraiseLog'); ...@@ -21,6 +21,7 @@ var redisPraiseLog = require('../../utils/redisPraiseLog');
var httpService = require('../../service/httpService'); var httpService = require('../../service/httpService');
var forumAboutMEService = require('../../service/forumAboutMEService'); var forumAboutMEService = require('../../service/forumAboutMEService');
var user = require('../../utils/user'); var user = require('../../utils/user');
var floorGenerator = require('../../utils/floorGenerator');
var async = require('async'); var async = require('async');
var ForumModeratorApply = mongoose.model('ForumModeratorApply'); var ForumModeratorApply = mongoose.model('ForumModeratorApply');
module.exports = function(app) { module.exports = function(app) {
...@@ -833,18 +834,11 @@ router.post('/thread/:tid/comment/add', function(req, res, next) { ...@@ -833,18 +834,11 @@ router.post('/thread/:tid/comment/add', function(req, res, next) {
floor: floor floor: floor
}; };
var conditions = { floorGenerator.getCommentFloor(entity.ent_code,tid,function(err,floor){
thread: thread._id,
level: '1'
};
forumCommentService.count(conditions, function(err, count) {
if (err) { if (err) {
callback(err, null); callback(err,null);
} else { } else {
// callback(null, count); entity.floor = floor;
if (count) {
entity.floor = count + 1;
}
//4.创建文章评论 //4.创建文章评论
forumCommentService.createComment(entity, function(err, newComment) { forumCommentService.createComment(entity, function(err, newComment) {
if (err) { if (err) {
...@@ -979,19 +973,11 @@ router.post('/thread/:tid/comment/create', function(req, res, next) { ...@@ -979,19 +973,11 @@ router.post('/thread/:tid/comment/create', function(req, res, next) {
floor: floor floor: floor
}; };
var conditions = { floorGenerator.getCommentFloor(entity.ent_code,tid,function(err,floor){
thread: thread._id,
level: '1'
};
forumCommentService.count(conditions, function(err, count) {
if (err) { if (err) {
console.log(err); callback(err);
callback(err, null);
} else { } else {
// callback(null, count); entity.floor = floor;
if (count) {
entity.floor = count + 1;
}
//4.创建文章评论 //4.创建文章评论
forumCommentService.createComment(entity, function(err, newComment) { forumCommentService.createComment(entity, function(err, newComment) {
if (err) { if (err) {
......
'use strict';
var redis=global.redis;
var prefix = '_forum_floor_generator_';
var expire =60 * 30;//半个小时
var forumCommentService = require('../service/forumCommentService');
function getKey(entcode,id){
return entcode + prefix + id;
}
/*
获取帖子的评论的楼层
tid:帖子id
*/
exports.getCommentFloor=function(entcode,tid,callback){
var key = getKey(entcode,tid);
if(!redis){
console.log('redis error');
return callback && callback('redis error');
}
redis.get(key, function(error, floor){//先判断楼层计数器是否存在
if(error){
return callback && callback(error);
}
if(floor){//存在,就直接累加
redis.incr(key, function(error, newfloor){
if(error){
return callback && callback(error);
}
redis.expire(key, expire);
return callback && callback(error, newfloor || 1);
});
}else{//不存在
redis.set(key,0);
redis.watch(key);
var multi = redis.multi();
//获取评论的最新楼层
forumCommentService.count({
thread: tid,
level: '1'
}, function(err, count) {
if (err) {
return callback && callback(err);
}
var newfloor = (count || 0) + 1;
multi.set(key,newfloor);
multi.exec(function(err,replies){
if (err) {
return callback && callback(err);
}
redis.expire(key, expire);
return callback && callback(null,newfloor);
})
});
}
});
};
\ No newline at end of file
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