Commit f918febb authored by 刘文胜's avatar 刘文胜

对推荐贴、置顶帖提供排序功能

parent f2da7fed
......@@ -404,6 +404,15 @@ router.get('/threads/list', function(req, res, next) {
var eventStatus = req.query.eventStatus;
var recommend_threads = req.query.recommend_threads;//推荐帖子
var top_threads = req.query.top_threads;//置顶帖子
var sortBy = {
top:-1,
top_order_idx:-1,
topTime:-1,
tag_top:-1,
tag_topTime:-1,
quality:-1,
created:-1
};
var conditions = {
ent_code: req.session.user.ent_code,
level: 1,
......@@ -444,6 +453,18 @@ router.get('/threads/list', function(req, res, next) {
}
if(recommend_threads){//推荐贴
conditions.new_recommend = 1;
sortBy = {
new_recommend:-1,
new_recommend_order_idx:-1,
new_recommend_time:-1,
top:-1,
top_order_idx:-1,
topTime:-1,
tag_top:-1,
tag_topTime:-1,
quality:-1,
created:-1
};
}
if(top_threads){//置顶帖
conditions.top = 1;
......@@ -462,7 +483,7 @@ router.get('/threads/list', function(req, res, next) {
}
}
if (mid) {
forumThreadService.getAllThreadByFidAndMid(mid, conditions, pageNo, pageSize, null, function(err, results) {
forumThreadService.getAllThreadByFidAndMid(mid, conditions, pageNo, pageSize, sortBy, function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
......@@ -479,7 +500,7 @@ router.get('/threads/list', function(req, res, next) {
}
});
} else if (nickName) {
forumThreadService.getAllThreadByFidAndNickName(nickName, conditions, pageNo, pageSize, null, function(err, results) {
forumThreadService.getAllThreadByFidAndNickName(nickName, conditions, pageNo, pageSize, sortBy, function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
......@@ -497,7 +518,6 @@ router.get('/threads/list', function(req, res, next) {
}
});
} else {
var sortBy = '-topTime -tag_topTime -created';
forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, sortBy, function(err, results) {
if (err) {
console.error(err);
......@@ -520,7 +540,57 @@ router.get('/threads/list', function(req, res, next) {
});
//直接修改序号
function updateThreadTopIdx(id,idx,callback){
ForumThread.update(
{_id:id},
{ top_order_idx: idx },
null,
function(err,result){
if(err){
console.error(err);
callback(err,null);
}else{
callback(null,true);
}
});
}
function updateThreadNewRecommendIdx(id,idx,callback){
ForumThread.update(
{_id:id},
{ new_recommend_order_idx: idx },
null,
function(err,result){
if(err){
console.error(err);
callback(err,null);
}else{
callback(null,true);
}
});
}
router.put('/top_threads/orderIDX/:id/:order', function(req, res, next) {
var id=req.params.id;
var idx=req.params.order;
updateThreadTopIdx(id,idx,function(err,result){
if(err || !result){
console.log(err);
return res.json(returnCode.BUSY);
}
return res.json(_.assign({data:true}, returnCode.SUCCESS));
});
});
router.put('/recommend_threads/orderIDX/:id/:order', function(req, res, next) {
var id=req.params.id;
var idx=req.params.order;
updateThreadNewRecommendIdx(id,idx,function(err,result){
if(err || !result){
console.log(err);
return res.json(returnCode.BUSY);
}
return res.json(_.assign({data:true}, returnCode.SUCCESS));
});
});
//评论列表
router.get('/thread/:tid/comment/list', function(req, res, next) {
......
......@@ -152,7 +152,15 @@ router.get('/info/:fid/threads', function(req, res, next) {
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var fid = req.params.fid;
var sort = '-top -topTime -quality -created';
var sort = {
top:-1,
top_order_idx:-1,
topTime:-1,
tag_top:-1,
tag_topTime:-1,
quality:-1,
created:-1
};
var ent_code = req.session.user.ent_code;
var today = new Date();
var conditions = {
......
......@@ -63,7 +63,15 @@ router.get('/tag/:tid/threads', function(req, res, next) {
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var tid=req.params.tid;
var sort = '-tag_top -tag_topTime -created';
var sort = {
top:-1,
top_order_idx:-1,
topTime:-1,
tag_top:-1,
tag_topTime:-1,
quality:-1,
created:-1
}
var ent_code = req.session.user.ent_code;
var today = new Date();
var conditions={
......
......@@ -1864,7 +1864,18 @@ router.get('/thread/getThreadWithEssence', function(req, res, next) {
var skip = (pageNo - 1) * pageSize;
var redis_type = '_thread_essence';
var sort = '-new_recommend_time';
var sort = {
new_recommend:-1,
new_recommend_order_idx:-1,
new_recommend_time:-1,
top:-1,
top_order_idx:-1,
topTime:-1,
tag_top:-1,
tag_topTime:-1,
quality:-1,
created:-1
};
var today = new Date();
var conditions = {
ent_code: ent_code,
......
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