Commit 1b50346c authored by strong's avatar strong

Merge commit 'fd749970' into SANDBOX

parents 720ed72c fd749970
...@@ -322,7 +322,7 @@ router.post('/thread/:tid/:fid/unTop', function(req, res, next) { ...@@ -322,7 +322,7 @@ router.post('/thread/:tid/:fid/unTop', function(req, res, next) {
} }
}); });
//文章推荐 //文章加精
router.post('/thread/:tid/:fid/recommend', function(req, res, next) { router.post('/thread/:tid/:fid/recommend', function(req, res, next) {
var tid = req.params.tid, var tid = req.params.tid,
fid = req.params.fid, fid = req.params.fid,
...@@ -364,7 +364,7 @@ router.post('/thread/:tid/:fid/recommend', function(req, res, next) { ...@@ -364,7 +364,7 @@ router.post('/thread/:tid/:fid/recommend', function(req, res, next) {
} }
}); });
//文章取消推荐 //文章取消加精
router.post('/thread/:tid/:fid/unRecommend', function(req, res, next) { router.post('/thread/:tid/:fid/unRecommend', function(req, res, next) {
var tid = req.params.tid; //文章ID var tid = req.params.tid; //文章ID
var fid = req.params.fid; //板块ID var fid = req.params.fid; //板块ID
...@@ -398,6 +398,9 @@ router.get('/threads/list', function(req, res, next) { ...@@ -398,6 +398,9 @@ router.get('/threads/list', function(req, res, next) {
var eventStatus = req.query.eventStatus; var eventStatus = req.query.eventStatus;
var recommend_threads = req.query.recommend_threads;//推荐帖子 var recommend_threads = req.query.recommend_threads;//推荐帖子
var top_threads = req.query.top_threads;//置顶帖子 var top_threads = req.query.top_threads;//置顶帖子
var begin_time=req.query.begin_time;
var end_time=req.query.end_time;
var title = req.query.title;
var sortBy = { var sortBy = {
top:-1, top:-1,
top_order_idx:-1, top_order_idx:-1,
...@@ -476,6 +479,22 @@ router.get('/threads/list', function(req, res, next) { ...@@ -476,6 +479,22 @@ router.get('/threads/list', function(req, res, next) {
conditions['event.eventEndTime'] = {$gt : today}; conditions['event.eventEndTime'] = {$gt : today};
} }
} }
if(begin_time && end_time){
conditions.created = {$gte : begin_time, $lte : end_time};
} else if(end_time){
conditions.created = {$lte : end_time};
} else if(begin_time){
conditions.created = {$gte : begin_time};
}
if (title) {
conditions.title = {
$regex: title,
$options: 'i'
}
}
if (mid) { if (mid) {
forumThreadService.getAllThreadByFidAndMid(mid, conditions, pageNo, pageSize, sortBy, function(err, results) { forumThreadService.getAllThreadByFidAndMid(mid, conditions, pageNo, pageSize, sortBy, function(err, results) {
if (err) { if (err) {
...@@ -536,32 +555,43 @@ router.get('/threads/list', function(req, res, next) { ...@@ -536,32 +555,43 @@ router.get('/threads/list', function(req, res, next) {
//直接修改序号 //直接修改序号
function updateThreadTopIdx(id,idx,callback){ function updateThreadTopIdx(id,idx,callback){
ForumThread.update( // ForumThread.update({_id:id},{ top_order_idx: idx },
{_id:id}, // null,
{ top_order_idx: idx }, // function(err,result){
null, // if(err){
function(err,result){ // console.error(err);
if(err){ // callback(err,null);
console.error(err); // }else{
callback(err,null); // callback(null,true);
}else{ // }
callback(null,true); // });
} forumThreadService.updateThread({_id:id}, { top_order_idx: idx }, function(err, doc) {
}); if(err){
console.error(err);
callback(err,null);
}else{
callback(null,true);
}
});
} }
function updateThreadNewRecommendIdx(id,idx,callback){ function updateThreadNewRecommendIdx(id,idx,callback){
ForumThread.update( // ForumThread.update({_id:id},{ new_recommend_order_idx: idx },null, function(err,result){
{_id:id}, // if(err){
{ new_recommend_order_idx: idx }, // console.error(err);
null, // callback(err,null);
function(err,result){ // }else{
if(err){ // callback(null,true);
console.error(err); // }
callback(err,null); // });
}else{
callback(null,true); forumThreadService.updateThread({_id:id}, { new_recommend_order_idx: idx }, function(err, doc) {
} if(err){
}); console.error(err);
callback(err,null);
}else{
callback(null,true);
}
});
} }
router.put('/top_threads/orderIDX/:id/:order', function(req, res, next) { router.put('/top_threads/orderIDX/:id/:order', function(req, res, next) {
var id=req.params.id; var id=req.params.id;
......
This diff is collapsed.
This diff is collapsed.
'use strict'; 'use strict';
var redis=global.redis; var redis=global.redis;
var expire = 60*10; var expire = 60*30;
//缓存数量 //缓存数量
var ThreadRedisCount = 50; var ThreadRedisCount = 50;
...@@ -12,6 +12,10 @@ var forumThreadService=require('../service/forumThreadService'); ...@@ -12,6 +12,10 @@ var forumThreadService=require('../service/forumThreadService');
var redisPraiseLog=require('./redisPraiseLog'); var redisPraiseLog=require('./redisPraiseLog');
var util=require('./util'); var util=require('./util');
var RefreshFlag = true;
var tyhread_redis_salt = '_tyhread_redis_salt';
var sort = { var sort = {
new_recommend:-1, new_recommend:-1,
new_recommend_order_idx:-1, new_recommend_order_idx:-1,
...@@ -25,13 +29,13 @@ var sort = { ...@@ -25,13 +29,13 @@ var sort = {
created:-1 created:-1
}; };
function getKey(ent_code,keyID,type){ function getKey(ent_code, salt){
var key = ent_code + keyID + type; var key = ent_code + salt;
return key; return key;
} }
function setToRedis(ent_code,keyID,type,value){ function setToRedis(ent_code,salt,value){
var key = getKey(ent_code,keyID,type); var key = getKey(ent_code,salt);
if(!redis){ if(!redis){
console.log('redis error'); console.log('redis error');
return 'error' return 'error'
...@@ -42,8 +46,37 @@ function setToRedis(ent_code,keyID,type,value){ ...@@ -42,8 +46,37 @@ function setToRedis(ent_code,keyID,type,value){
}); });
} }
exports.get=function(ent_code,keyID,type,callback){ function getEsenceThreads(ent_code, salt,callback){
var key = getKey(ent_code,keyID,type); var today = new Date();
var conditions = {
ent_code: ent_code,
level: 1,
status: 1,
new_recommend: 1,
$or: [{
isEvent: 0
}, {
isEvent: null
}, {
isEvent: 1,
'event.eventStartTime' : {$lte : today}
}]
};
forumThreadService.getThreadWithNotPopulateComment(conditions, 1, ThreadRedisCount, sort, function(err, results) {
if (err) {
console.error(err);
callback(err);
} else {
util.loadLevel(ent_code, results.items, function() {
setToRedis(ent_code, salt ,JSON.stringify(results));
callback(null);
});
}
});
};
exports.get=function(ent_code, callback){
var key = getKey(ent_code, tyhread_redis_salt);
if(!redis){ if(!redis){
console.log('redis error'); console.log('redis error');
return callback && callback('error'); return callback && callback('error');
...@@ -51,7 +84,7 @@ exports.get=function(ent_code,keyID,type,callback){ ...@@ -51,7 +84,7 @@ exports.get=function(ent_code,keyID,type,callback){
redis.get(key, function(error, res){ redis.get(key, function(error, res){
if(!res){ if(!res){
//不存在,先获取再返回 //不存在,先获取再返回
getEsenceThreads(ent_code, keyID, type,function(err){ getEsenceThreads(ent_code, tyhread_redis_salt,function(err){
redis.get(key, function(error, res){ redis.get(key, function(error, res){
return callback && callback(error, res.split(",")); return callback && callback(error, res.split(","));
}); });
...@@ -62,8 +95,8 @@ exports.get=function(ent_code,keyID,type,callback){ ...@@ -62,8 +95,8 @@ exports.get=function(ent_code,keyID,type,callback){
}); });
}; };
exports.set=function(ent_code,keyID,type,value,callback){ exports.set=function(ent_code, salt, value, callback){
var key = getKey(ent_code,keyID,type); var key = getKey(ent_code, salt);
if(!redis){ if(!redis){
console.log('redis error'); console.log('redis error');
return callback && callback('error'); return callback && callback('error');
...@@ -74,8 +107,8 @@ exports.set=function(ent_code,keyID,type,value,callback){ ...@@ -74,8 +107,8 @@ exports.set=function(ent_code,keyID,type,value,callback){
}); });
}; };
exports.clear = function(ent_code,keyID,type,callback){ exports.clear = function(ent_code,salt,callback){
var key = getKey(ent_code,keyID,type); var key = getKey(ent_code, salt);
if(!redis){ if(!redis){
console.log('redis error'); console.log('redis error');
return callback && callback('error'); return callback && callback('error');
...@@ -85,53 +118,24 @@ exports.clear = function(ent_code,keyID,type,callback){ ...@@ -85,53 +118,24 @@ exports.clear = function(ent_code,keyID,type,callback){
}); });
}; };
function getEsenceThreads(ent_code,keyID,type,callback){
var today = new Date();
var conditions = {
ent_code: ent_code,
level: 1,
status: 1,
new_recommend: 1,
$or: [{
isEvent: 0
}, {
isEvent: null
}, {
isEvent: 1,
'event.eventStartTime' : {$lte : today}
}]
};
forumThreadService.getThreadWithNotPopulateComment(conditions, 1, ThreadRedisCount, sort, function(err, results) {
if (err) {
console.error(err);
callback(err);
} else {
util.loadLevel(ent_code, results.items, function() {
setToRedis(ent_code,keyID,type,JSON.stringify(results));
callback(null);
});
}
});
};
//获取缓存列表 //获取缓存列表
exports.getRedisEsenceThreads = function(ent_code,keyID,type,callback){ exports.getRedisEsenceThreads = function(ent_code, callback){
var key = getKey(ent_code,keyID,type); var key = getKey(ent_code, tyhread_redis_salt);
getEsenceThreads(ent_code, keyID,type, function(err){ getEsenceThreads(ent_code, tyhread_redis_salt, function(err){
redis.get(key, function(error, res){ redis.get(key, function(error, res){
return callback && callback(error, res.split(",")); return callback && callback(error, res.split(","));
}); });
}); });
}; };
//更新缓存列表
/*exports.updateRedisEsenceThreads = function(ent_code,keyID,type,callback){
getEsenceThreads(ent_code, keyID,type, function(err){
callback();
});
};*/
//获取缓存数值 //获取缓存数值
exports.getThreadRedisCount = function(){ exports.getThreadRedisCount = function(){
return ThreadRedisCount; return ThreadRedisCount;
};
//更新缓存列表
exports.updateRedisEsenceThreads = function(ent_code){
if(RefreshFlag){
getEsenceThreads(ent_code, tyhread_redis_salt, function(err){});
}
}; };
\ 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