Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
pisns-forum-api
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
scrmGroup
pisns-forum-api
Commits
1b50346c
Commit
1b50346c
authored
Mar 10, 2016
by
strong
Browse files
Options
Browse Files
Download
Plain Diff
Merge commit '
fd749970
' into SANDBOX
parents
720ed72c
fd749970
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
543 additions
and
355 deletions
+543
-355
forumThread.js
app/controllers/admin/forumThread.js
+56
-26
forumThread.js
app/controllers/mobile/forumThread.js
+115
-94
forumThreadService.js
app/service/forumThreadService.js
+317
-184
redisThreadList.js
app/utils/redisThreadList.js
+55
-51
No files found.
app/controllers/admin/forumThread.js
View file @
1b50346c
...
@@ -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
;
...
...
app/controllers/mobile/forumThread.js
View file @
1b50346c
This diff is collapsed.
Click to expand it.
app/service/forumThreadService.js
View file @
1b50346c
This diff is collapsed.
Click to expand it.
app/utils/redisThreadList.js
View file @
1b50346c
'use strict'
;
'use strict'
;
var
redis
=
global
.
redis
;
var
redis
=
global
.
redis
;
var
expire
=
60
*
1
0
;
var
expire
=
60
*
3
0
;
//缓存数量
//缓存数量
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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment