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
e93dc73f
Commit
e93dc73f
authored
Jun 24, 2016
by
strong
Browse files
Options
Browse Files
Download
Plain Diff
Merge commit '
32dbf692
'
parents
c02906a1
32dbf692
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
531 additions
and
115 deletions
+531
-115
forumThread.js
app/controllers/mobile/forumThread.js
+284
-115
forumCommentService.js
app/service/forumCommentService.js
+96
-0
forumThreadService.js
app/service/forumThreadService.js
+147
-0
returnCode.js
app/utils/returnCode.js
+4
-0
No files found.
app/controllers/mobile/forumThread.js
View file @
e93dc73f
This diff is collapsed.
Click to expand it.
app/service/forumCommentService.js
View file @
e93dc73f
...
...
@@ -192,6 +192,44 @@ exports.getAllComment = function(conditions, pageNo, pageSize, callback) {
});
};
//获取一级评论列表,二级评论列表查询三条
exports
.
getAllCommentWithThreeeChildrenComment
=
function
(
conditions
,
pageNo
,
pageSize
,
callback
)
{
countAll
(
conditions
,
function
(
err
,
count
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
var
skip
=
(
pageNo
-
1
)
*
pageSize
;
var
limit
=
count
-
skip
>
pageSize
?
pageSize
:
(
count
-
skip
);
ForumComment
.
find
(
conditions
,
listCommentFields
).
populate
({
path
:
'from'
,
select
:
'uid mid nickName icon exp honorTitles'
}).
populate
(
'to'
,
'uid mid nickName icon exp'
)
.
populate
({
path
:
'comments'
,
options
:
{
limit
:
3
,
sort
:
'-_id'
,
populate
:
'from to'
}
}).
limit
(
limit
).
skip
(
skip
).
sort
(
'-created'
).
exec
(
function
(
err
,
docs
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
var
obj
=
{};
obj
.
total
=
count
;
obj
.
pageNo
=
pageNo
;
obj
.
pageSize
=
pageSize
;
obj
.
items
=
docs
;
callback
(
null
,
obj
);
}
});
}
});
};
//评论
function
populateComment
(
doc
,
callback
)
{
if
(
doc
&&
doc
.
comments
.
length
>
0
)
{
...
...
@@ -687,6 +725,39 @@ exports.getAllComment_allstatus = function(conditions, pageNo, pageSize, callbac
});
};
exports
.
getAllComment_allstatus_v2
=
function
(
conditions
,
pageNo
,
pageSize
,
callback
)
{
countAll
(
conditions
,
function
(
err
,
count
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
var
skip
=
(
pageNo
-
1
)
*
pageSize
;
var
limit
=
count
-
skip
>
pageSize
?
pageSize
:
(
count
-
skip
);
ForumComment
.
find
(
conditions
,
listCommentFields
).
populate
(
'from'
,
'uid mid nickName icon exp honorTitles'
).
populate
({
path
:
'comments'
,
options
:
{
limit
:
3
,
sort
:
'-_id'
,
populate
:
'from to'
}
}).
populate
(
'to'
,
'uid mid nickName icon exp'
).
limit
(
limit
).
skip
(
skip
).
sort
(
'-created'
).
exec
(
function
(
err
,
docs
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
var
obj
=
{};
obj
.
total
=
count
;
obj
.
pageNo
=
pageNo
;
obj
.
pageSize
=
pageSize
;
obj
.
items
=
docs
;
callback
(
null
,
obj
);
}
});
}
});
};
//评论
function
populateComment_allstatus
(
doc
,
callback
)
{
if
(
doc
&&
doc
.
comments
.
length
>
0
)
{
...
...
@@ -731,3 +802,28 @@ function populateComment_allstatus(doc, callback) {
callback
(
null
,
null
);
}
}
//获取单个评论和子评论
exports
.
getCommentByIdWhitChirdentComment
=
function
(
conditions
,
pageNo
,
pageSize
,
callback
)
{
var
skip
=
(
pageNo
-
1
)
*
pageSize
;
var
limit
=
pageSize
;
ForumComment
.
findOne
(
conditions
,
listCommentFields
).
populate
({
path
:
'from'
,
select
:
'uid mid nickName icon exp honorTitles'
}).
populate
(
'to'
,
'uid mid nickName icon exp'
).
populate
({
path
:
'comments'
,
options
:
{
skip
:
skip
,
limit
:
limit
,
sort
:
'-_id'
,
populate
:
'from to'
}
}).
exec
(
function
(
err
,
doc
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
doc
);
}
});
};
\ No newline at end of file
app/service/forumThreadService.js
View file @
e93dc73f
...
...
@@ -441,6 +441,153 @@ exports.getThreadById = function(tid, callback) {
}
});
};
//根据ID获取文章,二级评论只查询三条
exports
.
getThreadByIdWithThree2Comment
=
function
(
tid
,
callback
)
{
ForumThread
.
findOne
({
_id
:
tid
}).
populate
({
path
:
'from'
,
select
:
'uid mid nickName icon exp honorTitles'
}).
populate
(
'info'
,
'name icon'
).
populate
(
'share'
).
exec
(
function
(
err
,
doc
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
if
(
doc
)
{
async
.
parallel
([
function
(
cb
)
{
if
(
doc
.
type
!==
1
)
{
cb
(
null
,
null
);
return
;
}
var
conditions
=
{
thread
:
tid
,
level
:
'1'
};
forumCommentService
.
getAllCommentWithThreeeChildrenComment
(
conditions
,
1
,
10
,
function
(
err
,
results
)
{
if
(
err
)
{
console
.
log
(
err
);
cb
(
err
,
null
);
}
else
{
cb
(
null
,
results
);
}
});
},
function
(
cb
)
{
//获取话题子文章列表
if
(
doc
.
type
!==
2
)
{
cb
(
null
,
null
);
return
;
}
var
conditions
=
{
pid
:
tid
,
type
:
2
,
status
:
1
};
getAllThreadByFidHelp
(
conditions
,
1
,
10
,
null
,
function
(
err
,
threads
)
{
if
(
err
)
{
console
.
error
(
err
);
cb
(
err
,
null
);
}
else
{
// console.log(threads);
cb
(
null
,
threads
);
}
});
},
function
(
cb
)
{
//获取照片墙最新文章列表
if
(
doc
.
type
!==
3
)
{
cb
(
null
,
null
);
return
;
}
var
conditions
=
{
pid
:
tid
,
type
:
3
,
status
:
1
,
images
:
{
$exists
:
true
,
$not
:
{
$size
:
0
}}
};
getAllThreadByFidHelp
(
conditions
,
1
,
10
,
'-created'
,
function
(
err
,
threads
)
{
if
(
err
)
{
console
.
error
(
err
);
cb
(
err
,
null
);
}
else
{
cb
(
null
,
threads
);
}
});
},
function
(
cb
)
{
//获取照片墙最热文章列表
if
(
doc
.
type
!==
3
)
{
cb
(
null
,
null
);
return
;
}
var
conditions
=
{
pid
:
tid
,
type
:
3
,
status
:
1
,
images
:
{
$exists
:
true
,
$not
:
{
$size
:
0
}}
};
getAllThreadByFidHelp
(
conditions
,
1
,
10
,
'-praise_count'
,
function
(
err
,
threads
)
{
if
(
err
)
{
console
.
error
(
err
);
cb
(
err
,
null
);
}
else
{
cb
(
null
,
threads
);
}
});
},
function
(
cb
)
{
//获取发帖人数
ForumThread
.
aggregate
({
$match
:
{
pid
:
mongoose
.
Types
.
ObjectId
(
tid
)
}
},
{
$group
:
{
_id
:
{
from
:
'$from'
},
count
:
{
$sum
:
1
}
}
},
function
(
err
,
data
)
{
if
(
err
)
{
cb
(
err
,
null
);
}
else
{
cb
(
null
,
data
.
length
);
}
});
}
],
function
(
err
,
results
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
var
thread
=
doc
;
var
comments
=
results
[
0
]
||
[];
var
subThreads
=
results
[
1
]
||
[];
//话题子文章列表
var
latestPhotos
=
results
[
2
]
||
[];
//最新照片墙列表
var
hotPhotos
=
results
[
3
]
||
[];
//最热照片墙列表
var
canyuPeopleCount
=
results
[
4
]
||
0
;
//参与人数
var
threadObj
=
thread
&&
thread
.
toObject
()
||
{};
threadObj
.
comments
=
comments
;
threadObj
.
subThreads
=
subThreads
;
threadObj
.
latestPhotos
=
latestPhotos
;
threadObj
.
hotPhotos
=
hotPhotos
;
threadObj
.
canyuPeopleCount
=
canyuPeopleCount
;
callback
(
null
,
threadObj
);
}
});
}
else
{
callback
(
null
,
{});
}
}
});
};
//根据ID获取文章
exports
.
getThreadByIdSimple
=
function
(
conditions
,
callback
)
{
ForumThread
.
findOne
(
conditions
).
populate
(
'from info share pid'
).
exec
(
function
(
err
,
doc
)
{
...
...
app/utils/returnCode.js
View file @
e93dc73f
...
...
@@ -42,6 +42,10 @@ module.exports = {
errorcode
:
10007
,
errormsg
:
'已被禁言'
},
COMTENT_OVERSTEP
:
{
errorcode
:
10008
,
errormsg
:
'内容超出限制'
},
UNCHECK_ERROR
:
function
(
msg
){
return
{
errorcode
:
9999
,
...
...
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