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
bed73829
Commit
bed73829
authored
Jul 28, 2016
by
陈志良
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'remould_0727_topic_cache' into SANDBOX
Conflicts: app/service/forumThreadService.js
parents
65530044
31a1ed77
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1874 additions
and
1786 deletions
+1874
-1786
forumThread.js
app/controllers/mobile/forumThread.js
+149
-56
forumThreadService.js
app/service/forumThreadService.js
+1725
-1730
No files found.
app/controllers/mobile/forumThread.js
View file @
bed73829
...
...
@@ -579,9 +579,7 @@ router.get('/thread/:tid/get', function(req, res, next) {
}
var
threads
=
[];
threads
.
push
(
thread
);
var
firstLoadLevelBegin
=
new
Date
();
util
.
loadLevel
(
req
.
session
.
user
.
ent_code
,
threads
,
function
()
{
console
.
log
(
"获取帖子相关用户的经验(一个OpenId拿一次)总耗时:"
+
Math
.
abs
(
new
Date
()
-
firstLoadLevelBegin
));
if
(
threads
&&
threads
.
length
>
0
)
{
thread
=
threads
[
0
];
}
...
...
@@ -607,7 +605,6 @@ router.get('/thread/:tid/get', function(req, res, next) {
// rs.data = thread;
// res.json(_.assign(rs, returnCode.SUCCESS));
}
else
{
var
redisPraiseLogBegin
=
new
Date
();
redisPraiseLog
.
get
(
ent_code
,
user
.
getMobileUser
(
req
),
'thread'
,
function
(
error
,
docs
)
{
if
(
thread
.
toObject
)
{
thread
=
thread
.
toObject
();
...
...
@@ -619,7 +616,6 @@ router.get('/thread/:tid/get', function(req, res, next) {
break
;
}
};
console
.
log
(
"redisPraiseLogTime:"
+
Math
.
abs
(
new
Date
()
-
redisPraiseLogBegin
));
var
rs
=
{};
rs
.
data
=
thread
;
res
.
json
(
_
.
assign
(
rs
,
returnCode
.
SUCCESS
));
...
...
@@ -2279,7 +2275,97 @@ router.get('/thread/getThreadWithNotPopulateComment/hot', function(req, res, nex
});
//获取话题下子文章
// router.get('/thread/:tid/get/subThreads/:type', function(req, res, next) {
// var tid = req.params.tid || null;
// var type = req.params.type || null;
// var pageNo = req.query.pageNo || 1;
// var pageSize = req.query.pageSize || 10;
// var ent_code = req.session.user.ent_code;
// var rs = {};
// var conditions = {
// ent_code: ent_code,
// pid: tid,
// // type: 2,
// status: 1
// };
// var sort = null; //排序条件
// if(type == 1){ //最新
// sort = '-created';
// }else if(type == 2){ //最热
// sort = '-praise_count -comment_count -created';
// }
// if (tid) {
// async.waterfall([
// function(callback) {
// forumThreadService.getByConditionsSelectyField({_id:tid}, 'type', function(err, thread) {
// if (err) {
// console.error(err);
// callback(err, null);
// } else {
// callback(null, thread);
// }
// });
// },
// function(thread, callback) {
// forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req), function(err, doc) {
// if (err) {
// console.error(err);
// callback(err, null, null);
// } else {
// if (doc) {
// callback(null, thread, doc);
// } else {
// callback(null, thread, null);
// }
// }
// });
// },
// function(thread, doc, callback) {
// if (thread.type == 2) { //查询子列表
// if (doc) {
// conditions._id = {
// $nin: doc.thread
// };
// }
// //获取子话题数据
// forumThreadService.getThreadWithNotPopulateComment(conditions, pageNo, pageSize, sort, function(err, results) {
// if (err) {
// console.error(err);
// callback(err, null);
// } else {
// callback(null, results);
// }
// });
// } else {
// callback(null, null);
// }
// }
// ], function(err, results) {
// if (err) {
// console.error(err);
// res.json(returnCode.BUSY);
// } else {
// if(results){
// util.loadLevel(ent_code, results.items, function() {
// handleThreadList(req, results, ent_code, function(result){
// res.json(_.assign(result, returnCode.SUCCESS));
// });
// });
// }else{
// res.json(returnCode.SUCCESS);
// }
// }
// });
// } else {
// res.json(returnCode.WRONG_PARAM);
// }
// });
//(缓存)获取话题下子文章
router
.
get
(
'/thread/:tid/get/subThreads/:type'
,
function
(
req
,
res
,
next
)
{
var
tid
=
req
.
params
.
tid
||
null
;
var
type
=
req
.
params
.
type
||
null
;
...
...
@@ -2302,9 +2388,16 @@ router.get('/thread/:tid/get/subThreads/:type', function(req, res, next) {
}
if
(
tid
)
{
var
key
=
'pisns-forum-thread:'
+
ent_code
+
':'
+
tid
+
':subThreads:type='
+
type
+
'&pageNo='
+
pageNo
+
'&pageSize='
+
pageSize
;
redis
.
get
(
key
,
function
(
err
,
value
){
if
(
value
)
{
res
.
json
(
_
.
assign
(
value
,
returnCode
.
SUCCESS
));
}
else
{
async
.
waterfall
([
function
(
callback
)
{
var
getByConditionsSelectyFieldBegin
=
new
Date
();
forumThreadService
.
getByConditionsSelectyField
({
_id
:
tid
},
'type'
,
function
(
err
,
thread
)
{
console
.
log
(
"获取父帖子耗时:"
+
Math
.
asb
(
new
Date
()
-
getByConditionsSelectyFieldBegin
));
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
...
...
@@ -2314,18 +2407,7 @@ router.get('/thread/:tid/get/subThreads/:type', function(req, res, next) {
});
},
function
(
thread
,
callback
)
{
forumUserThreadControlService
.
getUserThreadControlById
(
user
.
getMobileUser
(
req
),
function
(
err
,
doc
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
,
null
);
}
else
{
if
(
doc
)
{
callback
(
null
,
thread
,
doc
);
}
else
{
callback
(
null
,
thread
,
null
);
}
}
});
},
function
(
thread
,
doc
,
callback
)
{
if
(
thread
.
type
==
2
)
{
//查询子列表
...
...
@@ -2334,8 +2416,10 @@ router.get('/thread/:tid/get/subThreads/:type', function(req, res, next) {
$nin
:
doc
.
thread
};
}
var
getThreadWithNotPopulateCommentBegin
=
new
Date
();
//获取子话题数据
forumThreadService
.
getThreadWithNotPopulateComment
(
conditions
,
pageNo
,
pageSize
,
sort
,
function
(
err
,
results
)
{
console
.
log
(
"查询子帖子列表耗时:"
+
Math
.
asb
(
new
Date
()
-
getThreadWithNotPopulateCommentBegin
));
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
...
...
@@ -2353,8 +2437,14 @@ router.get('/thread/:tid/get/subThreads/:type', function(req, res, next) {
res
.
json
(
returnCode
.
BUSY
);
}
else
{
if
(
results
){
var
loadLevelBegin
=
new
Date
();
util
.
loadLevel
(
ent_code
,
results
.
items
,
function
()
{
console
.
log
(
"查询用户经验耗时:"
+
Math
.
asb
(
new
Date
()
-
loadLevelBegin
));
var
handleThreadListBegin
=
new
Date
();
handleThreadList
(
req
,
results
,
ent_code
,
function
(
result
){
console
.
log
(
"查询用户对帖子点赞耗时:"
+
Math
.
asb
(
new
Date
()
-
handleThreadListBegin
));
redis
.
set
(
key
,
_
.
assign
(
result
,
returnCode
.
SUCCESS
));
redis
.
expire
(
key
,
2
);
res
.
json
(
_
.
assign
(
result
,
returnCode
.
SUCCESS
));
});
});
...
...
@@ -2363,6 +2453,9 @@ router.get('/thread/:tid/get/subThreads/:type', function(req, res, next) {
}
}
});
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
...
...
app/service/forumThreadService.js
View file @
bed73829
...
...
@@ -299,7 +299,6 @@ exports.getByConditions = function(conditions, callback) {
}
//根据ID获取文章
exports
.
getThreadById
=
function
(
tid
,
callback
)
{
var
begin
=
new
Date
().
getTime
();
ForumThread
.
findOne
({
_id
:
tid
}).
populate
({
path
:
'from'
,
select
:
'uid mid nickName icon exp honorTitles'
...
...
@@ -322,7 +321,6 @@ exports.getThreadById = function(tid, callback) {
};
//获取最新10条评论
forumCommentService
.
getAllComment
(
conditions
,
1
,
10
,
function
(
err
,
results
)
{
console
.
log
(
"获取最新10条评论耗时:"
+
Math
.
abs
(
new
Date
()
-
getAllCommentBegin
));
if
(
err
)
{
console
.
log
(
err
);
cb
(
err
,
null
);
...
...
@@ -406,7 +404,6 @@ exports.getThreadById = function(tid, callback) {
// });
// },
function
(
cb
)
{
var
canyuPeopleCountBegin
=
new
Date
();
//获取发帖人数
var
key
=
'pisns-forum-thread:'
+
tid
+
':amount'
;
redis
.
get
(
key
,
function
(
err
,
value
){
...
...
@@ -436,7 +433,6 @@ exports.getThreadById = function(tid, callback) {
}
});
}
console
.
log
(
"获取发帖人数耗时:"
+
Math
.
abs
(
new
Date
()
-
begin
));
});
// ForumThread.aggregate({
...
...
@@ -477,7 +473,6 @@ exports.getThreadById = function(tid, callback) {
// threadObj.latestPhotos = latestPhotos;
// threadObj.hotPhotos = hotPhotos;
threadObj
.
canyuPeopleCount
=
canyuPeopleCount
;
console
.
log
(
"获取帖子内容总耗时:"
+
Math
.
abs
(
new
Date
()
-
begin
));
callback
(
null
,
threadObj
);
}
});
...
...
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