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
a5d369b4
Commit
a5d369b4
authored
Mar 31, 2015
by
张淼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1
parent
da9fb3fb
Changes
9
Show whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
511 additions
and
75 deletions
+511
-75
forumThread.js
app/controllers/admin/forumThread.js
+24
-21
forumInfo.js
app/controllers/mobile/forumInfo.js
+211
-0
forumTag.js
app/controllers/mobile/forumTag.js
+1
-1
forumThread.js
app/controllers/mobile/forumThread.js
+120
-36
forumUser.js
app/controllers/mobile/forumUser.js
+56
-0
forumThread.js
app/models/forumThread.js
+3
-0
forumUser.js
app/models/forumUser.js
+1
-0
forumThreadService.js
app/service/forumThreadService.js
+80
-17
forumUserService.js
app/service/forumUserService.js
+15
-0
No files found.
app/controllers/admin/forumThread.js
View file @
a5d369b4
...
...
@@ -30,21 +30,9 @@ router.post('/thread/create', function(req, res, next) {
var
rs
=
{};
req
.
body
.
ent_code
=
req
.
session
.
user
.
ent_code
;
//
var uid=req.session.user.id;
var
uid
=
'12345'
;
var
uid
=
req
.
session
.
user
.
id
;
//
var uid='12345';
if
(
userUtil
.
getUserSession
(
req
)){
req
.
body
.
from
=
userUtil
.
getUserSession
.
_id
;
forumThreadService
.
createThread
(
req
.
body
,
function
(
err
,
entity
){
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
rs
.
data
=
{
'id'
:
entity
.
_id
};
res
.
json
(
_
.
assign
(
rs
,
returnCode
.
SUCCESS
));
}
});
}
else
{
async
.
waterfall
([
function
(
callback
){
forumUserService
.
getUserByUid
(
uid
,
callback
);
...
...
@@ -76,8 +64,6 @@ router.post('/thread/create', function(req, res, next) {
if
(
err
){
res
.
json
(
returnCode
.
BUSY
);
}
else
{
//put forumUser to session
userUtil
.
setUserSession
(
req
,
doc
);
req
.
body
.
from
=
doc
.
_id
;
forumThreadService
.
createThread
(
req
.
body
,
function
(
err
,
entity
){
...
...
@@ -94,7 +80,6 @@ router.post('/thread/create', function(req, res, next) {
}
}
});
}
});
//获取目标论坛文章
...
...
@@ -169,8 +154,8 @@ router.post('/thread/:tid/delete', function(req, res, next) {
//文章置顶
router
.
post
(
'/thread/:tid/:fid/top'
,
function
(
req
,
res
,
next
)
{
var
tid
=
req
.
params
.
tid
;
var
fid
=
req
.
params
.
fid
;
var
tid
=
req
.
params
.
tid
;
//文章ID
var
fid
=
req
.
params
.
fid
;
//板块ID
if
(
tid
&&
fid
){
forumThreadService
.
updateTopByThreadId
(
fid
,
tid
,
function
(
err
,
thread
){
if
(
err
){
...
...
@@ -184,6 +169,23 @@ router.post('/thread/:tid/:fid/top', function(req, res, next) {
}
});
//文章取消置顶
router
.
post
(
'/thread/:tid/:fid/unTop'
,
function
(
req
,
res
,
next
)
{
var
tid
=
req
.
params
.
tid
;
//文章ID
var
fid
=
req
.
params
.
fid
;
//板块ID
if
(
tid
&&
fid
){
forumThreadService
.
updateUnTopByThreadId
(
fid
,
tid
,
function
(
err
,
thread
){
if
(
err
){
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
returnCode
.
SUCCESS
);
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
/**
* [description]
* @param {[type]}
...
...
@@ -198,6 +200,7 @@ router.get('/threads/list', function(req, res, next) {
var
tagId
=
req
.
query
.
tagId
;
var
conditions
=
{
ent_code
:
req
.
session
.
user
.
ent_code
,
level
:
1
};
if
(
infoId
){
conditions
.
info
=
infoId
;
...
...
@@ -205,7 +208,7 @@ router.get('/threads/list', function(req, res, next) {
if
(
tagId
){
conditions
.
tag
=
{
$in
:[
tagId
]};
}
forumThreadService
.
getAllThreadByFid
(
conditions
,
pageNo
,
pageSize
,
function
(
err
,
results
){
forumThreadService
.
getAllThreadByFid
(
conditions
,
pageNo
,
pageSize
,
null
,
function
(
err
,
results
){
if
(
err
){
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
...
...
app/controllers/mobile/forumInfo.js
View file @
a5d369b4
...
...
@@ -172,3 +172,214 @@ router.get('/info/:fid/threads', function(req, res, next) {
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
//获取论坛最热文章列表
router
.
get
(
'/info/:fid/hotThreads'
,
function
(
req
,
res
,
next
)
{
var
fid
=
req
.
params
.
fid
||
null
;
var
pageNo
=
req
.
query
.
pageNo
||
1
;
var
pageSize
=
req
.
query
.
pageSize
||
10
;
var
conditions
=
{
ent_code
:
req
.
session
.
user
.
ent_code
,
level
:
1
,
info
:
fid
};
if
(
fid
){
async
.
waterfall
([
function
(
callback
){
forumUserThreadControlService
.
getUserThreadControlById
(
user
.
getMobileUser
(
req
),
function
(
err
,
doc
){
if
(
err
){
callback
(
err
,
null
);
}
else
{
if
(
doc
){
callback
(
null
,
doc
);
}
else
{
callback
(
null
,
null
);
}
}
});
}
],
function
(
err
,
result
){
if
(
err
){
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
if
(
result
){
conditions
.
_id
=
{
$nin
:
result
.
thread
};
}
forumThreadService
.
getAllThreadByFid
(
conditions
,
pageNo
,
pageSize
,
'-comment_count -praise_count'
,
function
(
err
,
results
){
if
(
err
){
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
_
.
assign
(
results
,
returnCode
.
SUCCESS
));
}
});
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
//获取论坛晒图文章列表
router
.
get
(
'/info/:fid/photoThreads'
,
function
(
req
,
res
,
next
)
{
var
fid
=
req
.
params
.
fid
||
null
;
var
pageNo
=
req
.
query
.
pageNo
||
1
;
var
pageSize
=
req
.
query
.
pageSize
||
10
;
var
conditions
=
{
ent_code
:
req
.
session
.
user
.
ent_code
,
level
:
1
,
info
:
fid
,
type
:
3
};
if
(
fid
){
async
.
waterfall
([
function
(
callback
){
forumUserThreadControlService
.
getUserThreadControlById
(
user
.
getMobileUser
(
req
),
function
(
err
,
doc
){
if
(
err
){
callback
(
err
,
null
);
}
else
{
if
(
doc
){
callback
(
null
,
doc
);
}
else
{
callback
(
null
,
null
);
}
}
});
}
],
function
(
err
,
result
){
if
(
err
){
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
if
(
result
){
conditions
.
_id
=
{
$nin
:
result
.
thread
};
}
forumThreadService
.
getAllThreadByFid
(
conditions
,
pageNo
,
pageSize
,
null
,
function
(
err
,
results
){
if
(
err
){
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
_
.
assign
(
results
,
returnCode
.
SUCCESS
));
}
});
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
//获取我的文章列表
router
.
get
(
'/info/:fid/myThreads'
,
function
(
req
,
res
,
next
)
{
var
fid
=
req
.
params
.
fid
||
null
;
var
pageNo
=
req
.
query
.
pageNo
||
1
;
var
pageSize
=
req
.
query
.
pageSize
||
10
;
var
conditions
=
{
ent_code
:
req
.
session
.
user
.
ent_code
,
from
:
user
.
getMobileUser
(
req
),
info
:
fid
};
if
(
fid
){
async
.
waterfall
([
function
(
callback
){
forumUserThreadControlService
.
getUserThreadControlById
(
user
.
getMobileUser
(
req
),
function
(
err
,
doc
){
if
(
err
){
callback
(
err
,
null
);
}
else
{
if
(
doc
){
callback
(
null
,
doc
);
}
else
{
callback
(
null
,
null
);
}
}
});
}
],
function
(
err
,
result
){
if
(
err
){
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
if
(
result
){
conditions
.
_id
=
{
$nin
:
result
.
thread
};
}
//获取子话题数据
forumThreadService
.
getAllThreadByFid
(
conditions
,
pageNo
,
pageSize
,
'-praise_count'
,
function
(
err
,
results
){
if
(
err
){
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
_
.
assign
(
results
,
returnCode
.
SUCCESS
));
}
});
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
//搜索文章列表
router
.
get
(
'/info/:fid/serachThreads'
,
function
(
req
,
res
,
next
)
{
var
fid
=
req
.
params
.
fid
||
null
;
var
pageNo
=
req
.
query
.
pageNo
||
1
;
var
pageSize
=
req
.
query
.
pageSize
||
10
;
var
content
=
req
.
query
.
content
;
var
conditions
=
{
ent_code
:
req
.
session
.
user
.
ent_code
,
info
:
fid
};
if
(
content
){
conditions
.
content
=
{
$regex
:
content
,
$options
:
'i'
};
}
if
(
fid
){
async
.
waterfall
([
function
(
callback
){
forumUserThreadControlService
.
getUserThreadControlById
(
user
.
getMobileUser
(
req
),
function
(
err
,
doc
){
if
(
err
){
callback
(
err
,
null
);
}
else
{
if
(
doc
){
callback
(
null
,
doc
);
}
else
{
callback
(
null
,
null
);
}
}
});
}
],
function
(
err
,
result
){
if
(
err
){
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
if
(
result
){
conditions
.
_id
=
{
$nin
:
result
.
thread
};
}
//获取子话题数据
forumThreadService
.
getAllThreadByFid
(
conditions
,
pageNo
,
pageSize
,
'-praise_count'
,
function
(
err
,
results
){
if
(
err
){
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
_
.
assign
(
results
,
returnCode
.
SUCCESS
));
}
});
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
app/controllers/mobile/forumTag.js
View file @
a5d369b4
...
...
@@ -84,7 +84,7 @@ router.get('/tag/:tid/threads', function(req, res, next) {
if
(
result
){
conditions
.
_id
=
{
$nin
:
result
.
thread
};
}
forumThreadService
.
getAllThreadByFid
(
conditions
,
pageNo
,
pageSize
,
function
(
err
,
results
){
forumThreadService
.
getAllThreadByFid
(
conditions
,
pageNo
,
pageSize
,
null
,
function
(
err
,
results
){
if
(
err
){
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
...
...
app/controllers/mobile/forumThread.js
View file @
a5d369b4
...
...
@@ -24,13 +24,19 @@ module.exports = function(app) {
function
create
(
req
,
callback
){
req
.
body
.
ent_code
=
req
.
session
.
user
.
ent_code
;
req
.
body
.
from
=
user
.
getMobileUser
(
req
);
var
entity
=
req
.
body
;
if
(
entity
.
pid
==
''
){
entity
.
pid
=
null
;
}
entity
.
ent_code
=
req
.
session
.
user
.
ent_code
;
entity
.
from
=
user
.
getMobileUser
(
req
);
//-----------处理前端上传图片开始
//格式为['http://imageurl','http://imageurl'],
//转换为[{urlFileName:'http://imageUrL'},{urlFileName:'http://imageUrL'}]
var
images
=
req
.
bod
y
.
images
;
var
images
=
entit
y
.
images
;
if
(
images
){
var
array
=
[];
for
(
var
i
=
0
;
i
<
images
.
length
;
i
=
i
+
1
){
...
...
@@ -38,11 +44,11 @@ function create(req,callback){
urlFileName
:
images
[
i
]
});
}
req
.
bod
y
.
images
=
array
;
entit
y
.
images
=
array
;
}
//-----------处理前端上传图片结束
forumThreadService
.
createThread
(
req
.
bod
y
,
function
(
err
,
entity
){
forumThreadService
.
createThread
(
entit
y
,
function
(
err
,
entity
){
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
...
...
@@ -590,6 +596,7 @@ router.get('/thread/:tid/comment/list', function(req, res, next) {
var
pageSize
=
req
.
query
.
pageSize
||
10
;
var
conditions
=
{
ent_code
:
req
.
session
.
user
.
ent_code
,
thread
:
tid
,
level
:
'1'
};
...
...
@@ -748,20 +755,45 @@ router.get('/thread/:tid/topics', function(req, res, next) {
var
pageSize
=
req
.
query
.
pageSize
||
10
;
var
conditions
=
{
ent_code
:
req
.
session
.
user
.
ent_code
,
pid
:
tid
,
type
:
3
type
:
2
};
if
(
tid
){
//获取最新5条评论
async
.
waterfall
([
function
(
callback
){
forumUserThreadControlService
.
getUserThreadControlById
(
user
.
getMobileUser
(
req
),
function
(
err
,
doc
){
if
(
err
){
callback
(
err
,
null
);
}
else
{
if
(
doc
){
callback
(
null
,
doc
);
}
else
{
callback
(
null
,
null
);
}
}
});
}
],
function
(
err
,
result
){
if
(
err
){
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
if
(
result
){
conditions
.
_id
=
{
$nin
:
result
.
thread
};
}
//获取子话题数据
forumThreadService
.
getAllThreadByFid
(
conditions
,
pageNo
,
pageSize
,
null
,
function
(
err
,
results
){
if
(
err
){
console
.
log
(
err
);
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
_
.
assign
(
results
,
returnCode
.
SUCCESS
));
}
});
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
...
...
@@ -774,20 +806,45 @@ router.get('/thread/:tid/latestPhotos', function(req, res, next) {
var
pageSize
=
req
.
query
.
pageSize
||
10
;
var
conditions
=
{
ent_code
:
req
.
session
.
user
.
ent_code
,
pid
:
tid
,
type
:
3
};
if
(
tid
){
//获取最新5条评论
async
.
waterfall
([
function
(
callback
){
forumUserThreadControlService
.
getUserThreadControlById
(
user
.
getMobileUser
(
req
),
function
(
err
,
doc
){
if
(
err
){
callback
(
err
,
null
);
}
else
{
if
(
doc
){
callback
(
null
,
doc
);
}
else
{
callback
(
null
,
null
);
}
}
});
}
],
function
(
err
,
result
){
if
(
err
){
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
if
(
result
){
conditions
.
_id
=
{
$nin
:
result
.
thread
};
}
//获取子话题数据
forumThreadService
.
getAllThreadByFid
(
conditions
,
pageNo
,
pageSize
,
'-created'
,
function
(
err
,
results
){
if
(
err
){
console
.
log
(
err
);
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
_
.
assign
(
results
,
returnCode
.
SUCCESS
));
}
});
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
...
...
@@ -800,22 +857,49 @@ router.get('/thread/:tid/hotPhotos', function(req, res, next) {
var
pageSize
=
req
.
query
.
pageSize
||
10
;
var
conditions
=
{
ent_code
:
req
.
session
.
user
.
ent_code
,
pid
:
tid
,
type
:
3
};
if
(
tid
){
//获取最新5条评论
async
.
waterfall
([
function
(
callback
){
forumUserThreadControlService
.
getUserThreadControlById
(
user
.
getMobileUser
(
req
),
function
(
err
,
doc
){
if
(
err
){
callback
(
err
,
null
);
}
else
{
if
(
doc
){
callback
(
null
,
doc
);
}
else
{
callback
(
null
,
null
);
}
}
});
}
],
function
(
err
,
result
){
if
(
err
){
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
if
(
result
){
conditions
.
_id
=
{
$nin
:
result
.
thread
};
}
//获取子话题数据
forumThreadService
.
getAllThreadByFid
(
conditions
,
pageNo
,
pageSize
,
'-praise_count'
,
function
(
err
,
results
){
if
(
err
){
console
.
log
(
err
);
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
_
.
assign
(
results
,
returnCode
.
SUCCESS
));
}
});
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
app/controllers/mobile/forumUser.js
0 → 100644
View file @
a5d369b4
'use strict'
;
var
express
=
require
(
'express'
),
router
=
express
.
Router
(),
returnCode
=
require
(
'../../utils/returnCode'
),
_
=
require
(
'lodash'
);
var
mongoose
=
require
(
'mongoose'
);
var
forumUserService
=
require
(
'../../service/forumUserService'
);
var
forumThreadService
=
require
(
'../../service/forumThreadService'
);
var
async
=
require
(
'async'
);
var
user
=
require
(
'../../utils/user'
);
module
.
exports
=
function
(
app
)
{
app
.
use
(
'/v1/forum'
,
router
);
};
//获取用户信息
router
.
get
(
'/user/get'
,
function
(
req
,
res
,
next
)
{
var
rs
=
{};
async
.
parallel
([
function
(
cb
){
forumUserService
.
getUserById
(
user
.
getMobileUser
(),
function
(
err
,
entity
){
if
(
err
)
{
cb
(
err
,
null
);
}
else
{
cb
(
null
,
entity
);
}
});
},
function
(
cb
){
var
conditions
=
{
ent_code
:
req
.
session
.
user
.
ent_code
,
from
:
user
.
getMobileUser
()
};
forumThreadService
.
getAllCountByFid
(
conditions
,
function
(
err
,
count
){
if
(
err
)
{
cb
(
err
,
null
);
}
else
{
cb
(
null
,
count
);
}
});
}
],
function
(
err
,
results
){
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
rs
.
data
=
results
[
0
]
||
{};
rs
.
myThreadCount
=
results
[
1
]
||
0
;
res
.
json
(
_
.
assign
(
rs
,
returnCode
.
SUCCESS
));
}
});
});
\ No newline at end of file
app/models/forumThread.js
View file @
a5d369b4
...
...
@@ -53,6 +53,9 @@ var ForumThreadSchema = new Schema({
require
:
true
,
default
:
0
},
topTime
:{
//置顶时间
type
:
Date
},
tag
:
[{
type
:
Schema
.
Types
.
ObjectId
,
ref
:
'ForumTag'
}],
//话题归属标签,
comments
:
[{
type
:
Schema
.
Types
.
ObjectId
,
ref
:
'ForumComment'
}],
//评论内容列表
images
:
{
//文章图片列表
...
...
app/models/forumUser.js
View file @
a5d369b4
...
...
@@ -12,6 +12,7 @@ var ForumUserSchema = new Schema({
uid
:
{
//用户ID,这里直接存放用户的openId
type
:
String
,
index
:
true
,
unique
:
true
,
require
:
true
},
nickName
:
{
//用户昵称,这里直接存放用户的nickname
...
...
app/service/forumThreadService.js
View file @
a5d369b4
...
...
@@ -169,7 +169,7 @@ function populateComment(doc, callback){
}
});
}
else
{
callback
(
null
,
null
);
callback
(
null
,
doc
);
}
}
});
...
...
@@ -180,13 +180,16 @@ function populateComment(doc, callback){
console
.
log
(
err
);
callback
(
null
,
null
);
}
else
{
// console.log(results);
callback
(
null
,
results
);
if
(
results
&&
results
.
length
>
0
){
callback
(
null
,
results
[
0
]);
}
else
{
callback
(
null
,{});
}
// callback(null, results);
}
});
}
else
{
callback
(
null
,
null
);
callback
(
null
,
doc
);
}
}
...
...
@@ -237,6 +240,39 @@ exports.getAllCountByFid=function(conditions,callback){
countAllByFid
(
conditions
,
callback
);
}
//获取话题、照片墙子文章数据
function
getSubThreads
(
doc
,
sort
,
callback
){
var
conditions
=
{
pid
:
doc
.
_id
};
countAllByFid
(
conditions
,
function
(
err
,
count
){
if
(
err
){
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
var
sortBy
=
'-top -created'
;
if
(
sort
){
sortBy
=
sort
;
}
ForumThread
.
find
(
conditions
).
populate
(
'from'
).
sort
(
sortBy
).
exec
(
function
(
err
,
docs
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
var
obj
=
{};
obj
.
total
=
count
;
obj
.
items
=
docs
;
var
newDoc
=
doc
.
toObject
();
newDoc
.
subThreads
=
obj
;
callback
(
null
,
newDoc
);
}
});
}
});
}
function
getAllThreadByFidHelp
(
conditions
,
pageNo
,
pageSize
,
sort
,
callback
){
countAllByFid
(
conditions
,
function
(
err
,
count
){
if
(
err
){
...
...
@@ -245,7 +281,7 @@ function getAllThreadByFidHelp(conditions,pageNo,pageSize,sort,callback){
}
else
{
var
skip
=
(
pageNo
-
1
)
*
pageSize
;
var
limit
=
count
-
skip
>
pageSize
?
pageSize
:
(
count
-
skip
);
var
sortBy
=
'-top -created'
;
var
sortBy
=
'-top
Time
-created'
;
if
(
sort
){
sortBy
=
sort
;
}
...
...
@@ -262,16 +298,25 @@ function getAllThreadByFidHelp(conditions,pageNo,pageSize,sort,callback){
if
(
docs
&&
docs
.
length
>
0
)
{
var
asyncTasks
=
[];
docs
.
forEach
(
function
(
doc
){
if
(
doc
.
type
===
1
){
asyncTasks
.
push
(
function
(
callback
)
{
populateComment
(
doc
,
callback
);
});
}
else
{
asyncTasks
.
push
(
function
(
callback
)
{
getSubThreads
(
doc
,
null
,
callback
);
});
}
});
async
.
parallel
(
asyncTasks
,
function
(
err
,
results
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
null
,
null
);
}
else
{
obj
.
items
=
results
;
callback
(
null
,
obj
);
}
});
...
...
@@ -292,19 +337,37 @@ exports.getAllThreadByFid= function(conditions,pageNo,pageSize,sort,callback) {
//根据板块ID更新板块下的top为0,并把当前文章的top设为1(置顶)
exports
.
updateTopByThreadId
=
function
(
infoId
,
threadId
,
callback
){
ForumThread
.
update
({
info
:
infoId
},
{
top
:
0
},{
multi
:
true
},
function
(
err
,
doc
)
{
// ForumThread.update({info:infoId}, {top:0},{multi:true}, function(err, doc) {
// if(err){
// callback(err,null);
// }else{
// ForumThread.findOneAndUpdate({_id:threadId}, {top:1}, function(err, doc) {
// if(err){
// callback(err,null);
// }else{
// callback(null,null);
// }
// });
// }
// });
ForumThread
.
findOneAndUpdate
({
_id
:
threadId
},
{
top
:
1
,
topTime
:
new
Date
()},
function
(
err
,
doc
)
{
if
(
err
){
callback
(
err
,
null
);
}
else
{
ForumThread
.
findOneAndUpdate
({
_id
:
threadId
},
{
top
:
1
},
function
(
err
,
doc
)
{
callback
(
null
,
null
);
}
});
};
//根据板块ID更新板块下的top为0,并把当前文章的top设为1(置顶)
exports
.
updateUnTopByThreadId
=
function
(
infoId
,
threadId
,
callback
){
ForumThread
.
findOneAndUpdate
({
_id
:
threadId
},
{
top
:
0
,
topTime
:
null
},
function
(
err
,
doc
)
{
if
(
err
){
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
});
};
//更新文章点赞数
...
...
app/service/forumUserService.js
View file @
a5d369b4
...
...
@@ -29,3 +29,18 @@ exports.getUserByUid=function(uid,callback){
}
});
};
//根据id获取用户
exports
.
getUserById
=
function
(
id
,
callback
){
ForumUser
.
findOne
({
_id
:
id
}).
exec
(
function
(
err
,
result
){
if
(
err
){
callback
(
err
,
null
);
}
else
{
if
(
result
){
callback
(
null
,
result
);
}
else
{
callback
(
null
,
null
);
}
}
});
};
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