Commit e93dc73f authored by strong's avatar strong

Merge commit '32dbf692'

parents c02906a1 32dbf692
This diff is collapsed.
......@@ -192,6 +192,44 @@ exports.getAllComment = function(conditions, pageNo, pageSize, callback) {
});
};
//获取一级评论列表,二级评论列表查询三条
exports.getAllCommentWithThreeeChildrenComment = function(conditions, pageNo, pageSize, callback) {
countAll(conditions, function(err, count) {
if (err) {
console.error(err);
callback(err, null);
} else {
var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip);
ForumComment.find(conditions,listCommentFields).populate({
path: 'from',
select: 'uid mid nickName icon exp honorTitles'
}).populate('to','uid mid nickName icon exp')
.populate({
path: 'comments',
options: {
limit: 3,
sort: '-_id',
populate:'from to'
}
}).limit(limit).skip(skip).sort('-created').exec(function(err, docs) {
if (err) {
console.error(err);
callback(err, null);
} else {
var obj = {};
obj.total = count;
obj.pageNo = pageNo;
obj.pageSize = pageSize;
obj.items = docs;
callback(null, obj);
}
});
}
});
};
//评论
function populateComment(doc, callback) {
if (doc && doc.comments.length > 0) {
......@@ -687,6 +725,39 @@ exports.getAllComment_allstatus = function(conditions, pageNo, pageSize, callbac
});
};
exports.getAllComment_allstatus_v2 = function(conditions, pageNo, pageSize, callback) {
countAll(conditions, function(err, count) {
if (err) {
console.error(err);
callback(err, null);
} else {
var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip);
ForumComment.find(conditions,listCommentFields).populate('from','uid mid nickName icon exp honorTitles').populate({
path: 'comments',
options: {
limit: 3,
sort: '-_id',
populate:'from to'
}
}).populate('to','uid mid nickName icon exp').limit(limit).skip(skip).sort('-created').exec(function(err, docs) {
if (err) {
console.error(err);
callback(err, null);
} else {
var obj = {};
obj.total = count;
obj.pageNo = pageNo;
obj.pageSize = pageSize;
obj.items = docs;
callback(null, obj);
}
});
}
});
};
//评论
function populateComment_allstatus(doc, callback) {
if (doc && doc.comments.length > 0) {
......@@ -731,3 +802,28 @@ function populateComment_allstatus(doc, callback) {
callback(null, null);
}
}
//获取单个评论和子评论
exports.getCommentByIdWhitChirdentComment = function(conditions, pageNo, pageSize, callback) {
var skip = (pageNo - 1) * pageSize;
var limit = pageSize;
ForumComment.findOne(conditions,listCommentFields).populate({
path: 'from',
select: 'uid mid nickName icon exp honorTitles'
}).populate('to','uid mid nickName icon exp').populate({
path: 'comments',
options: {
skip: skip,
limit: limit,
sort: '-_id',
populate:'from to'
}
}).exec(function(err, doc) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, doc);
}
});
};
\ No newline at end of file
......@@ -441,6 +441,153 @@ exports.getThreadById = function(tid, callback) {
}
});
};
//根据ID获取文章,二级评论只查询三条
exports.getThreadByIdWithThree2Comment = function(tid, callback) {
ForumThread.findOne({_id: tid}).populate({
path: 'from',
select: 'uid mid nickName icon exp honorTitles'
}).populate('info','name icon').populate('share').exec(function(err, doc) {
if (err) {
console.error(err);
callback(err, null);
} else {
if (doc) {
async.parallel([
function(cb) {
if (doc.type !== 1) {
cb(null, null);
return;
}
var conditions = {
thread: tid,
level: '1'
};
forumCommentService.getAllCommentWithThreeeChildrenComment(conditions, 1, 10, function(err, results) {
if (err) {
console.log(err);
cb(err, null);
} else {
cb(null, results);
}
});
},
function(cb) {
//获取话题子文章列表
if (doc.type !== 2) {
cb(null, null);
return;
}
var conditions = {
pid: tid,
type: 2,
status:1
};
getAllThreadByFidHelp(conditions, 1, 10, null, function(err, threads) {
if (err) {
console.error(err);
cb(err, null);
} else {
// console.log(threads);
cb(null, threads);
}
});
},
function(cb) {
//获取照片墙最新文章列表
if (doc.type !== 3) {
cb(null, null);
return;
}
var conditions = {
pid: tid,
type: 3,
status:1,
images: {$exists: true, $not: {$size: 0}}
};
getAllThreadByFidHelp(conditions, 1, 10, '-created', function(err, threads) {
if (err) {
console.error(err);
cb(err, null);
} else {
cb(null, threads);
}
});
},
function(cb) {
//获取照片墙最热文章列表
if (doc.type !== 3) {
cb(null, null);
return;
}
var conditions = {
pid: tid,
type: 3,
status:1,
images: {$exists: true, $not: {$size: 0}}
};
getAllThreadByFidHelp(conditions, 1, 10, '-praise_count', function(err, threads) {
if (err) {
console.error(err);
cb(err, null);
} else {
cb(null, threads);
}
});
},
function(cb) {
//获取发帖人数
ForumThread.aggregate({
$match: {
pid: mongoose.Types.ObjectId(tid)
}
}, {
$group: {
_id: {
from: '$from'
},
count: {
$sum: 1
}
}
}, function(err, data) {
if (err) {
cb(err, null);
} else {
cb(null, data.length);
}
});
}
], function(err, results) {
if (err) {
callback(err, null);
} else {
var thread = doc;
var comments = results[0] || [];
var subThreads = results[1] || []; //话题子文章列表
var latestPhotos = results[2] || []; //最新照片墙列表
var hotPhotos = results[3] || []; //最热照片墙列表
var canyuPeopleCount = results[4] || 0; //参与人数
var threadObj = thread && thread.toObject() || {};
threadObj.comments = comments;
threadObj.subThreads = subThreads;
threadObj.latestPhotos = latestPhotos;
threadObj.hotPhotos = hotPhotos;
threadObj.canyuPeopleCount = canyuPeopleCount;
callback(null, threadObj);
}
});
} else {
callback(null, {});
}
}
});
};
//根据ID获取文章
exports.getThreadByIdSimple = function(conditions, callback) {
ForumThread.findOne(conditions).populate('from info share pid').exec(function(err, doc) {
......
......@@ -42,6 +42,10 @@ module.exports = {
errorcode: 10007,
errormsg: '已被禁言'
},
COMTENT_OVERSTEP: {
errorcode: 10008,
errormsg: '内容超出限制'
},
UNCHECK_ERROR:function(msg){
return {
errorcode:9999,
......
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