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
8efcbaec
Commit
8efcbaec
authored
Jan 08, 2016
by
strong
Browse files
Options
Browse Files
Download
Plain Diff
Merge commit '
b30b1406
'
# Conflicts: # app/models/forumThread.js
parents
2741cdb0
b30b1406
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
681 additions
and
214 deletions
+681
-214
forumMember.js
app/controllers/admin/forumMember.js
+27
-0
forumUser.js
app/controllers/mobile/forumUser.js
+346
-56
forumInfo.js
app/models/forumInfo.js
+4
-0
forumThread.js
app/models/forumThread.js
+4
-0
forumUser.js
app/models/forumUser.js
+16
-0
forumInfoService.js
app/service/forumInfoService.js
+12
-0
forumThreadService.js
app/service/forumThreadService.js
+12
-0
forumUserService.js
app/service/forumUserService.js
+260
-158
No files found.
app/controllers/admin/forumMember.js
View file @
8efcbaec
...
...
@@ -159,3 +159,30 @@ router.post('/member/:mid/update', function(req, res, next) {
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
//获取用户收藏记录
router
.
get
(
'/member/:uid/favors'
,
function
(
req
,
res
,
next
)
{
var
uid
=
req
.
params
.
uid
||
null
;
var
ent_code
=
req
.
session
.
user
.
ent_code
;
if
(
uid
)
{
var
condition
=
{
_id
:
uid
,
ent_code
:
ent_code
}
forumUserService
.
getFavors
(
condition
,
function
(
err
,
result
){
if
(
err
){
console
.
log
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
var
rs
=
{
data
:
result
};
res
.
json
(
_
.
assign
(
rs
,
returnCode
.
SUCCESS
));
}
});
}
else
{
console
.
error
(
'params error'
);
res
.
json
({
result
:
false
,
err
:
'params error'
});
}
});
\ No newline at end of file
app/controllers/mobile/forumUser.js
View file @
8efcbaec
...
...
@@ -5,70 +5,360 @@ var express = require('express'),
_
=
require
(
'lodash'
);
var
mongoose
=
require
(
'mongoose'
);
var
forumUserService
=
require
(
'../../service/forumUserService'
);
var
forumThreadService
=
require
(
'../../service/forumThreadService'
);
var
forumUserService
=
require
(
'../../service/forumUserService'
);
var
forumThreadService
=
require
(
'../../service/forumThreadService'
);
var
forumInfoService
=
require
(
'../../service/forumInfoService'
);
var
async
=
require
(
'async'
);
var
async
=
require
(
'async'
);
var
user
=
require
(
'../../utils/user'
);
var
user
=
require
(
'../../utils/user'
);
module
.
exports
=
function
(
app
)
{
app
.
use
(
'/v1/forum'
,
router
);
};
//更新用户收藏信息
var
updateuser
=
function
(
condition
,
entity
,
callback
){
forumUserService
.
updateByIdWithOptions
(
condition
,
entity
,
{
upsert
:
false
},
function
(
err
,
user_id
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
user_id
);
}
});
};
//查询用户是否已收藏(板块/文章/用户)
var
queryIsFavor
=
function
(
userID
,
field
,
condition
,
callback
){
forumUserService
.
getUserById
(
userID
,
function
(
err
,
doc
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
if
(
doc
){
var
list
=
doc
[
field
];
if
(
list
.
indexOf
(
condition
)
>
-
1
)
{
callback
(
1
);
}
else
{
callback
(
null
);
}
}
else
{
callback
(
'查询用户信息错误'
);
}
}
});
};
//获取用户信息
router
.
get
(
'/user/:fid/get'
,
function
(
req
,
res
,
next
)
{
var
fid
=
req
.
params
.
fid
||
null
;
var
rs
=
{};
async
.
parallel
([
function
(
cb
)
{
forumUserService
.
getUserById
(
user
.
getMobileUser
(
req
),
function
(
err
,
entity
)
{
function
(
cb
)
{
forumUserService
.
getUserById
(
user
.
getMobileUser
(
req
),
function
(
err
,
entity
)
{
if
(
err
)
{
cb
(
err
,
null
);
cb
(
err
,
null
);
}
else
{
cb
(
null
,
entity
);
cb
(
null
,
entity
);
}
});
},
function
(
cb
)
{
var
conditions
=
{
ent_code
:
req
.
session
.
user
.
ent_code
,
from
:
user
.
getMobileUser
(
req
),
status
:
1
,
info
:
fid
function
(
cb
)
{
var
conditions
=
{
ent_code
:
req
.
session
.
user
.
ent_code
,
from
:
user
.
getMobileUser
(
req
),
status
:
1
,
info
:
fid
};
forumThreadService
.
getAllCountByFid
(
conditions
,
function
(
err
,
count
)
{
forumThreadService
.
getAllCountByFid
(
conditions
,
function
(
err
,
count
)
{
if
(
err
)
{
cb
(
err
,
null
);
cb
(
err
,
null
);
}
else
{
cb
(
null
,
count
);
cb
(
null
,
count
);
}
});
}
],
function
(
err
,
results
)
{
],
function
(
err
,
results
)
{
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
rs
.
data
=
results
[
0
]
||
{};
rs
.
myThreadCount
=
results
[
1
]
||
0
;
rs
.
myThreadCount
=
results
[
1
]
||
0
;
res
.
json
(
_
.
assign
(
rs
,
returnCode
.
SUCCESS
));
}
});
});
//
获取
用户信息
//
更新
用户信息
router
.
post
(
'/user/:uid/update'
,
function
(
req
,
res
,
next
)
{
var
uid
=
req
.
params
.
uid
;
if
(
uid
)
{
forumUserService
.
updateUserById
(
uid
,
req
.
body
,
function
(
err
,
result
)
{
if
(
err
)
{
var
uid
=
req
.
params
.
uid
;
if
(
uid
)
{
forumUserService
.
updateUserById
(
uid
,
req
.
body
,
function
(
err
,
result
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
returnCode
.
SUCCESS
);
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
//收藏板块
router
.
post
(
'/user/favorInfo/:infoID'
,
function
(
req
,
res
,
next
)
{
var
userID
=
user
.
getMobileUser
(
req
);
var
ent_code
=
req
.
session
.
user
.
ent_code
;
var
infoID
=
req
.
params
.
infoID
;
if
(
userID
&&
infoID
)
{
async
.
waterfall
([
function
(
callback
)
{
queryIsFavor
(
userID
,
'favor_infos'
,
infoID
,
callback
);
},
function
(
callback
)
{
//更新用户
var
user_condition
=
{
_id
:
userID
,
ent_code
:
ent_code
};
var
user_entity
=
{
$push
:
{
"favor_infos"
:
infoID
}
};
updateuser
(
user_condition
,
user_entity
,
callback
);
},
function
(
user_id
,
callback
)
{
//更新板块
var
info_condition
=
{
_id
:
infoID
,
ent_code
:
ent_code
};
var
info_entity
=
{
$push
:
{
"favor_by"
:
user_id
}
};
forumInfoService
.
updateByIdWithOptions
(
info_condition
,
info_entity
,
{
upsert
:
true
},
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
],
function
(
err
,
result
)
{
if
(
err
)
{
if
(
err
==
1
){
var
rs
=
{
'errorcode'
:
1
,
'errormsg'
:
'已收藏'
}
res
.
json
(
rs
);
}
else
{
res
.
json
(
returnCode
.
BUSY
);
}
}
else
{
res
.
json
(
returnCode
.
SUCCESS
);
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
//取消收藏板块
router
.
post
(
'/user/disfavorInfo/:infoID'
,
function
(
req
,
res
,
next
)
{
var
userID
=
user
.
getMobileUser
(
req
);
var
ent_code
=
req
.
session
.
user
.
ent_code
;
var
infoID
=
req
.
params
.
infoID
;
if
(
userID
&&
infoID
)
{
async
.
waterfall
([
function
(
callback
)
{
//更新用户
var
user_condition
=
{
_id
:
userID
,
ent_code
:
ent_code
};
var
user_entity
=
{
$pull
:
{
"favor_infos"
:
infoID
}
};
updateuser
(
user_condition
,
user_entity
,
callback
);
},
function
(
user_id
,
callback
)
{
//更新板块
var
info_condition
=
{
_id
:
infoID
,
ent_code
:
ent_code
};
var
info_entity
=
{
$pull
:
{
"favor_by"
:
user_id
}
};
forumInfoService
.
updateByIdWithOptions
(
info_condition
,
info_entity
,
{
upsert
:
true
},
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
],
function
(
err
,
result
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
returnCode
.
SUCCESS
);
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
//收藏文章
router
.
post
(
'/user/favorThread/:threadID'
,
function
(
req
,
res
,
next
)
{
var
userID
=
user
.
getMobileUser
(
req
);
var
ent_code
=
req
.
session
.
user
.
ent_code
;
var
threadID
=
req
.
params
.
threadID
;
if
(
userID
&&
threadID
)
{
async
.
waterfall
([
function
(
callback
)
{
queryIsFavor
(
userID
,
'favor_threads'
,
threadID
,
callback
);
},
function
(
callback
)
{
//更新用户
var
user_condition
=
{
_id
:
userID
,
ent_code
:
ent_code
};
var
user_entity
=
{
$push
:
{
"favor_threads"
:
threadID
}
};
updateuser
(
user_condition
,
user_entity
,
callback
);
},
function
(
user_id
,
callback
)
{
//更新文章
var
thread_condition
=
{
_id
:
threadID
,
ent_code
:
ent_code
};
var
thread_entity
=
{
$push
:
{
"favor_by"
:
user_id
}
};
forumThreadService
.
updateByIdWithOptions
(
thread_condition
,
thread_entity
,
{
upsert
:
true
},
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
],
function
(
err
,
result
)
{
if
(
err
)
{
if
(
err
==
1
){
var
rs
=
{
'errorcode'
:
1
,
'errormsg'
:
'已收藏'
}
res
.
json
(
rs
);
}
else
{
res
.
json
(
returnCode
.
BUSY
);
}
}
else
{
res
.
json
(
returnCode
.
SUCCESS
);
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
//取消收藏文章
router
.
post
(
'/user/disfavorThread/:threadID'
,
function
(
req
,
res
,
next
)
{
var
userID
=
user
.
getMobileUser
(
req
);
var
ent_code
=
req
.
session
.
user
.
ent_code
;
var
threadID
=
req
.
params
.
threadID
;
if
(
userID
&&
threadID
)
{
async
.
waterfall
([
function
(
callback
)
{
//更新用户
var
user_condition
=
{
_id
:
userID
,
ent_code
:
ent_code
};
var
user_entity
=
{
$pull
:
{
"favor_threads"
:
threadID
}
};
updateuser
(
user_condition
,
user_entity
,
callback
);
},
function
(
user_id
,
callback
)
{
//更新文章
var
thread_condition
=
{
_id
:
threadID
,
ent_code
:
ent_code
};
var
thread_entity
=
{
$pull
:
{
"favor_by"
:
user_id
}
};
forumThreadService
.
updateByIdWithOptions
(
thread_condition
,
thread_entity
,
{
upsert
:
true
},
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
],
function
(
err
,
result
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
returnCode
.
SUCCESS
);
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
//收藏用户
router
.
post
(
'/user/favorUser/:favorUserID'
,
function
(
req
,
res
,
next
)
{
var
userID
=
user
.
getMobileUser
(
req
);
// 收藏的用户
var
ent_code
=
req
.
session
.
user
.
ent_code
;
var
favorUserID
=
req
.
params
.
favorUserID
;
//被收藏的用户
if
(
userID
&&
favorUserID
)
{
async
.
waterfall
([
function
(
callback
)
{
queryIsFavor
(
userID
,
'favor_users'
,
favorUserID
,
callback
);
},
function
(
callback
)
{
//更新用户
var
user_condition
=
{
_id
:
userID
,
ent_code
:
ent_code
};
var
user_entity
=
{
$push
:
{
"favor_users"
:
favorUserID
}
};
updateuser
(
user_condition
,
user_entity
,
callback
);
},
function
(
user_id
,
callback
)
{
//更新被收藏用户
var
favor_condition
=
{
_id
:
favorUserID
,
ent_code
:
ent_code
};
var
favor_entity
=
{
$push
:
{
"favor_by"
:
user_id
}
};
forumUserService
.
updateByIdWithOptions
(
favor_condition
,
favor_entity
,
{
upsert
:
false
},
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
],
function
(
err
,
result
)
{
if
(
err
)
{
if
(
err
==
1
){
var
rs
=
{
'errorcode'
:
1
,
'errormsg'
:
'已收藏'
}
res
.
json
(
rs
);
}
else
{
res
.
json
(
returnCode
.
BUSY
);
}
}
else
{
res
.
json
(
returnCode
.
SUCCESS
);
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
//取消收藏用户
router
.
post
(
'/user/disfavorUser/:favorUserID'
,
function
(
req
,
res
,
next
)
{
var
userID
=
user
.
getMobileUser
(
req
);
// 收藏的用户
var
ent_code
=
req
.
session
.
user
.
ent_code
;
var
favorUserID
=
req
.
params
.
favorUserID
;
//被收藏的用户
if
(
userID
&&
favorUserID
)
{
async
.
waterfall
([
function
(
callback
)
{
//更新用户
var
user_condition
=
{
_id
:
userID
,
ent_code
:
ent_code
};
var
user_entity
=
{
$pull
:
{
"favor_users"
:
favorUserID
}
};
updateuser
(
user_condition
,
user_entity
,
callback
);
},
function
(
user_id
,
callback
)
{
//更新被收藏用户
var
favor_condition
=
{
_id
:
favorUserID
,
ent_code
:
ent_code
};
var
favor_entity
=
{
$pull
:
{
"favor_by"
:
user_id
}
};
forumUserService
.
updateByIdWithOptions
(
favor_condition
,
favor_entity
,
{
upsert
:
true
},
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
],
function
(
err
,
result
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
returnCode
.
SUCCESS
);
}
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
\ No newline at end of file
app/models/forumInfo.js
View file @
8efcbaec
...
...
@@ -50,6 +50,10 @@ var ForumInfoSchema = new Schema({
type
:
Object
,
default
:{}
},
favor_by
:
[{
//被收藏用户列表
type
:
Schema
.
Types
.
ObjectId
,
ref
:
'ForumUser'
}],
created
:
{
type
:
Date
,
required
:
true
,
...
...
app/models/forumThread.js
View file @
8efcbaec
...
...
@@ -126,6 +126,10 @@ var ForumThreadSchema = new Schema({
new_recommend_time
:{
//推荐时间
type
:
Date
},
favor_by
:
[{
//被收藏用户列表
type
:
Schema
.
Types
.
ObjectId
,
ref
:
'ForumUser'
}],
created
:
{
type
:
Date
,
required
:
true
,
...
...
app/models/forumUser.js
View file @
8efcbaec
...
...
@@ -56,6 +56,22 @@ var ForumUserSchema = new Schema({
type
:
Schema
.
Types
.
ObjectId
,
ref
:
'ForumHonorTitle'
}],
favor_by
:
[{
//被收藏用户列表
type
:
Schema
.
Types
.
ObjectId
,
ref
:
'ForumUser'
}],
favor_users
:
[{
//收藏用户列表
type
:
Schema
.
Types
.
ObjectId
,
ref
:
'ForumUser'
}],
favor_infos
:
[{
//收藏板块列表
type
:
Schema
.
Types
.
ObjectId
,
ref
:
'ForumInfo'
}],
favor_threads
:
[{
//收藏文章列表
type
:
Schema
.
Types
.
ObjectId
,
ref
:
'ForumThread'
}],
created
:
{
type
:
Date
,
required
:
true
,
...
...
app/service/forumInfoService.js
View file @
8efcbaec
...
...
@@ -39,6 +39,18 @@ exports.updateInfoById=function(fid,entity,callback){
});
};
//根据ID更新论坛板块2
exports
.
updateByIdWithOptions
=
function
(
condition
,
entity
,
options
,
callback
){
ForumInfo
.
findOneAndUpdate
(
condition
,
entity
,
options
,
function
(
err
,
result
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
};
//根据ID更新论坛组
exports
.
deleteInfoById
=
function
(
fid
,
callback
){
ForumInfo
.
remove
({
_id
:
fid
},
function
(
err
,
result
){
...
...
app/service/forumThreadService.js
View file @
8efcbaec
...
...
@@ -1242,3 +1242,15 @@ exports.updateThread = function(condition, entity, callback) {
}
});
};
//根据ID更新文章2
exports
.
updateByIdWithOptions
=
function
(
condition
,
entity
,
options
,
callback
)
{
ForumThread
.
findOneAndUpdate
(
condition
,
entity
,
options
,
function
(
err
,
result
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
};
\ No newline at end of file
app/service/forumUserService.js
View file @
8efcbaec
...
...
@@ -7,70 +7,104 @@ var async = require('async');
var
forumLimitOperationService
=
require
(
'../service/forumLimitOperationService'
);
//创建用户
exports
.
createUser
=
function
(
entity
,
callback
)
{
exports
.
createUser
=
function
(
entity
,
callback
)
{
var
forum
=
new
ForumUser
(
entity
);
forum
.
save
(
function
(
err
,
forum
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
forum
);
callback
(
null
,
forum
);
}
});
};
//根据Uid获取用户
exports
.
getUserByUid
=
function
(
uid
,
callback
){
ForumUser
.
findOne
({
uid
:
uid
}).
populate
({
exports
.
getUserByUid
=
function
(
uid
,
callback
)
{
ForumUser
.
findOne
({
uid
:
uid
}).
populate
({
path
:
'honorTitles'
,
match
:
{
status
:
{
$ne
:
0
}},
options
:
{
sort
:{
order_idx
:
-
1
}
}
}).
exec
(
function
(
err
,
result
){
if
(
err
){
callback
(
err
,
null
);
}
else
{
if
(
result
){
callback
(
null
,
result
);
}
else
{
callback
(
null
,
null
);
match
:
{
status
:
{
$ne
:
0
}
},
options
:
{
sort
:
{
order_idx
:
-
1
}
}
}).
exec
(
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
if
(
result
)
{
callback
(
null
,
result
);
}
else
{
callback
(
null
,
null
);
}
}
});
};
//根据id获取用户
exports
.
getUserById
=
function
(
id
,
callback
){
ForumUser
.
findOne
({
_id
:
id
}).
populate
({
exports
.
getUserById
=
function
(
id
,
callback
)
{
ForumUser
.
findOne
({
_id
:
id
}).
populate
({
path
:
'honorTitles'
,
match
:
{
status
:
{
$ne
:
0
}},
options
:
{
sort
:{
order_idx
:
-
1
}
}
}).
exec
(
function
(
err
,
result
){
if
(
err
){
callback
(
err
,
null
);
}
else
{
if
(
result
){
callback
(
null
,
result
);
}
else
{
callback
(
null
,
null
);
match
:
{
status
:
{
$ne
:
0
}
},
options
:
{
sort
:
{
order_idx
:
-
1
}
}
}).
exec
(
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
if
(
result
)
{
callback
(
null
,
result
);
}
else
{
callback
(
null
,
null
);
}
}
});
};
//根据ID更新用户信息
exports
.
updateUserById
=
function
(
uid
,
entity
,
callback
){
ForumUser
.
update
({
_id
:
uid
},
entity
,
null
,
function
(
err
,
result
){
exports
.
updateUserById
=
function
(
uid
,
entity
,
callback
)
{
ForumUser
.
update
({
_id
:
uid
},
entity
,
null
,
function
(
err
,
result
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
};
//根据ID更新用户信息2
exports
.
updateByIdWithOptions
=
function
(
condition
,
entity
,
options
,
callback
)
{
ForumUser
.
findOneAndUpdate
(
condition
,
entity
,
options
,
function
(
err
,
result
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
callback
(
null
,
result
.
_id
);
}
});
};
//查询用户信息
exports
.
searchMembers
=
function
(
pageNo
,
pageSize
,
q
,
callback
)
{
exports
.
searchMembers
=
function
(
pageNo
,
pageSize
,
q
,
callback
)
{
then
(
function
(
cont
)
{
ForumUser
.
find
(
q
).
count
(
cont
);
}).
then
(
function
(
cont
,
count
)
{
...
...
@@ -78,8 +112,16 @@ exports.searchMembers=function(pageNo, pageSize, q, callback){
var
limit
=
count
-
skip
>
pageSize
?
pageSize
:
(
count
-
skip
);
ForumUser
.
find
(
q
).
skip
(
skip
).
limit
(
limit
).
sort
(
'-created'
).
populate
({
path
:
'honorTitles'
,
match
:
{
status
:
{
$ne
:
0
}},
options
:
{
sort
:{
order_idx
:
-
1
}
}
match
:
{
status
:
{
$ne
:
0
}
},
options
:
{
sort
:
{
order_idx
:
-
1
}
}
}).
exec
(
function
(
err
,
docs
)
{
cont
(
err
,
count
,
docs
);
});
...
...
@@ -101,43 +143,68 @@ exports.searchMembers=function(pageNo, pageSize, q, callback){
};
//根据nickName查询用户
exports
.
searchMembersByNickName
=
function
(
nickName
,
callback
)
{
exports
.
searchMembersByNickName
=
function
(
nickName
,
callback
)
{
var
name
=
{
$or
:
[
{
nickName
:
{
$regex
:
nickName
,
$options
:
'i'
}},
{
displayName
:
{
$regex
:
nickName
,
$options
:
'i'
}}
]
$or
:
[{
nickName
:
{
$regex
:
nickName
,
$options
:
'i'
}
},
{
displayName
:
{
$regex
:
nickName
,
$options
:
'i'
}
}]
};
ForumUser
.
find
(
name
).
populate
({
path
:
'honorTitles'
,
match
:
{
status
:
{
$ne
:
0
}},
options
:
{
sort
:{
order_idx
:
-
1
}
}
}).
exec
(
function
(
err
,
result
){
if
(
err
){
callback
(
err
,
null
);
}
else
{
callback
(
null
,
result
);
match
:
{
status
:
{
$ne
:
0
}
},
options
:
{
sort
:
{
order_idx
:
-
1
}
}
}).
exec
(
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
result
);
}
});
};
//根据mid查询用户
exports
.
searchMembersByMid
=
function
(
mid
,
callback
){
ForumUser
.
find
({
mid
:
mid
}).
populate
({
exports
.
searchMembersByMid
=
function
(
mid
,
callback
)
{
ForumUser
.
find
({
mid
:
mid
}).
populate
({
path
:
'honorTitles'
,
match
:
{
status
:
{
$ne
:
0
}},
options
:
{
sort
:{
order_idx
:
-
1
}
}
}).
exec
(
function
(
err
,
result
){
if
(
err
){
callback
(
err
,
null
);
}
else
{
callback
(
null
,
result
);
match
:
{
status
:
{
$ne
:
0
}
},
options
:
{
sort
:
{
order_idx
:
-
1
}
}
}).
exec
(
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
result
);
}
});
};
//查询用户和行为限制信息
exports
.
searchMembersAndLimitActions
=
function
(
pageNo
,
pageSize
,
q
,
callback
)
{
exports
.
searchMembersAndLimitActions
=
function
(
pageNo
,
pageSize
,
q
,
callback
)
{
then
(
function
(
cont
)
{
ForumUser
.
find
(
q
).
count
(
cont
);
}).
then
(
function
(
cont
,
count
)
{
...
...
@@ -145,8 +212,16 @@ exports.searchMembersAndLimitActions=function(pageNo, pageSize, q, callback){
var
limit
=
count
-
skip
>
pageSize
?
pageSize
:
(
count
-
skip
);
ForumUser
.
find
(
q
).
skip
(
skip
).
limit
(
limit
).
sort
(
'-created'
).
populate
({
path
:
'honorTitles'
,
match
:
{
status
:
{
$ne
:
0
}},
options
:
{
sort
:{
order_idx
:
-
1
}
}
match
:
{
status
:
{
$ne
:
0
}
},
options
:
{
sort
:
{
order_idx
:
-
1
}
}
}).
exec
(
function
(
err
,
docs
)
{
cont
(
err
,
count
,
docs
);
});
...
...
@@ -160,14 +235,13 @@ exports.searchMembersAndLimitActions=function(pageNo, pageSize, q, callback){
console
.
error
(
err
);
callback
(
null
,
null
);
}
else
{
if
(
forumLimitOperation
)
{
if
(
forumLimitOperation
)
{
var
limit_actions
=
forumLimitOperation
.
limit_actions
;
var
array
=
[];
for
(
var
i
=
0
;
i
<
limit_actions
.
length
;
i
+=
1
)
{
var
limit_action
=
limit_actions
[
i
];
var
name
=
''
;
switch
(
limit_action
.
limit_type
)
{
switch
(
limit_action
.
limit_type
)
{
case
1
:
name
=
'禁言'
;
break
;
...
...
@@ -180,7 +254,7 @@ exports.searchMembersAndLimitActions=function(pageNo, pageSize, q, callback){
member
=
member
.
toObject
();
member
.
limitActions
=
array
;
callback
(
null
,
member
);
}
else
{
}
else
{
callback
(
null
,
member
);
}
}
...
...
@@ -221,13 +295,41 @@ exports.searchMembersAndLimitActions=function(pageNo, pageSize, q, callback){
//根据UID和entCode更新用户信息
exports
.
updateUserByUIdAndEntCode
=
function
(
condition
,
entity
,
callback
)
{
ForumUser
.
update
(
condition
,
entity
,
null
,
function
(
err
,
result
)
{
exports
.
updateUserByUIdAndEntCode
=
function
(
condition
,
entity
,
callback
)
{
ForumUser
.
update
(
condition
,
entity
,
null
,
function
(
err
,
result
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
};
//查询用户收藏记录
exports
.
getFavors
=
function
(
condition
,
callback
)
{
ForumUser
.
findOne
(
condition
).
populate
({
path
:
'favor_by'
,
select
:
'_id nickName displayName'
}).
populate
({
path
:
'favor_users'
,
select
:
'_id nickName displayName'
}).
populate
({
path
:
'favor_infos'
,
select
:
'_id name'
,
options
:
{
sort
:
{
created
:
-
1
}}
}).
populate
({
path
:
'favor_threads'
,
select
:
'_id title info from created status type'
,
options
:
{
sort
:
{
created
:
-
1
},
populate
:
"info from"
//继续查文章里面的板块信息
}
}).
exec
(
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
callback
(
null
,
result
);
}
});
};
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