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
bfc664b6
Commit
bfc664b6
authored
Jan 25, 2016
by
陈家荣
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改获取荣誉头衔接口,增加设置荣誉头衔接口
parent
afe04c03
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
341 additions
and
35 deletions
+341
-35
forumMember.js
app/controllers/admin/forumMember.js
+109
-1
forumHonorTitle.js
app/controllers/mobile/forumHonorTitle.js
+37
-34
forumUserHonorTimeLine.js
app/models/forumUserHonorTimeLine.js
+34
-0
forumUserHonorTimeLineService.js
app/service/forumUserHonorTimeLineService.js
+161
-0
No files found.
app/controllers/admin/forumMember.js
View file @
bfc664b6
...
@@ -12,12 +12,15 @@ var forumShareLogService = require('../../service/forumShareLogService');
...
@@ -12,12 +12,15 @@ var forumShareLogService = require('../../service/forumShareLogService');
var
forumCommentService
=
require
(
'../../service/forumCommentService'
);
var
forumCommentService
=
require
(
'../../service/forumCommentService'
);
var
forumTagService
=
require
(
'../../service/forumTagService'
);
var
forumTagService
=
require
(
'../../service/forumTagService'
);
var
forumUserService
=
require
(
'../../service/forumUserService'
);
var
forumUserService
=
require
(
'../../service/forumUserService'
);
var
forumUserHonorTimeLineService
=
require
(
'../../service/forumUserHonorTimeLineService'
);
var
httpService
=
require
(
'../../service/httpService'
);
var
httpService
=
require
(
'../../service/httpService'
);
var
userUtil
=
require
(
'../../utils/user'
);
var
userUtil
=
require
(
'../../utils/user'
);
var
async
=
require
(
'async'
);
var
async
=
require
(
'async'
);
var
_
=
require
(
'lodash'
);
var
_
=
require
(
'lodash'
);
var
then
=
require
(
'thenjs'
);
returnCode
=
require
(
'../../utils/returnCode'
);
var
request
=
require
(
'request'
);
var
request
=
require
(
'request'
);
var
env
=
process
.
env
.
NODE_ENV
;
var
env
=
process
.
env
.
NODE_ENV
;
...
@@ -185,4 +188,109 @@ router.get('/member/:uid/favors', function(req, res, next) {
...
@@ -185,4 +188,109 @@ router.get('/member/:uid/favors', function(req, res, next) {
err
:
'params error'
err
:
'params error'
});
});
}
}
});
});
\ No newline at end of file
//设置荣誉头衔
router
.
post
(
'/member/:mid/setHonorTitle'
,
function
(
req
,
res
,
next
)
{
var
mid
=
req
.
params
.
mid
;
var
entity
=
req
.
body
;
var
ent_code
=
req
.
session
.
user
.
ent_code
;
//荣誉列表
var
honorList
=
entity
.
honorTitles
;
//需要添加的荣誉
var
addHonorList
=
[];
//需要移除的荣誉
var
removeHonorList
=
[];
async
.
waterfall
([
function
(
callback
)
{
//获取已有头衔
forumUserService
.
getUserById
(
mid
,
function
(
err
,
user
)
{
callback
(
err
,
user
);
});
},
function
(
user
,
callback
)
{
if
(
user
&&
user
.
honorTitles
.
length
>
0
){
var
exitsHonorList
=
user
.
honorTitles
;
for
(
var
i
=
0
;
i
<
exitsHonorList
.
length
;
i
++
){
var
flag
=
true
;
for
(
var
j
=
0
;
j
<
honorList
.
length
;
j
++
){
if
(
exitsHonorList
[
i
].
_id
.
toString
()
==
honorList
[
j
]){
//相等
flag
=
false
;
break
;
}
}
if
(
flag
){
//获取需要删除的
removeHonorList
.
push
(
exitsHonorList
[
i
].
_id
);
}
}
for
(
var
k
=
0
;
k
<
honorList
.
length
;
k
++
){
var
add_flag
=
true
;
for
(
var
l
=
0
;
l
<
exitsHonorList
.
length
;
l
++
){
if
(
honorList
[
k
].
toString
()
==
exitsHonorList
[
l
].
_id
.
toString
()){
//相等
add_flag
=
false
;
break
;
}
}
if
(
add_flag
){
//获取需要添加的
addHonorList
.
push
(
honorList
[
k
]);
}
}
}
else
{
addHonorList
=
honorList
;
}
//设置头衔头衔
forumUserService
.
updateUserById
(
mid
,
entity
,
function
(
err
,
result
){
callback
(
err
,
result
);
});
},
function
(
list
,
callback
)
{
//插入时间线
var
asyncTasks
=
[];
_
.
forEach
(
addHonorList
,
function
(
one
,
i
)
{
asyncTasks
.
push
(
function
(
cont
)
{
var
model
=
{
ent_code
:
ent_code
,
user
:
mid
,
honor
:
one
};
forumUserHonorTimeLineService
.
create
(
model
,
function
(
err
,
entity
){
if
(
err
)
{
console
.
error
(
err
);
cont
(
err
,
null
);
}
else
{
cont
(
null
,
entity
);
}
});
});
});
then
.
parallel
(
asyncTasks
).
then
(
function
(
cont
,
datas
)
{
callback
(
null
,
null
);
}).
fail
(
function
(
err
,
cont
)
{
callback
(
err
,
null
);
});
},
function
(
user
,
callback
)
{
var
condition
=
{
user
:
mid
,
honor
:{
$in
:
removeHonorList
}
}
//设置头衔头衔
forumUserHonorTimeLineService
.
deleteByCondition
(
condition
,
function
(
err
,
result
){
callback
(
err
,
result
);
});
}
],
function
(
err
,
result
)
{
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
returnCode
.
SUCCESS
);
}
});
});
app/controllers/mobile/forumHonorTitle.js
View file @
bfc664b6
...
@@ -9,22 +9,47 @@ var express = require('express'),
...
@@ -9,22 +9,47 @@ var express = require('express'),
var
mongoose
=
require
(
'mongoose'
);
var
mongoose
=
require
(
'mongoose'
);
var
forumHonorTitleService
=
require
(
'../../service/forumHonorTitleService'
);
var
forumHonorTitleService
=
require
(
'../../service/forumHonorTitleService'
);
var
forumUserService
=
require
(
'../../service/forumUserService'
);
var
forumUserService
=
require
(
'../../service/forumUserService'
);
var
forumUserHonorTimeLineService
=
require
(
'../../service/forumUserHonorTimeLineService'
);
module
.
exports
=
function
(
app
)
{
module
.
exports
=
function
(
app
)
{
app
.
use
(
'/v1/forum'
,
router
);
app
.
use
(
'/v1/forum'
,
router
);
};
};
//查询单个头衔信息人员信息
router
.
get
(
'/honorTitle/:hid/list'
,
function
(
req
,
res
,
next
)
{
var
ent_code
=
req
.
session
.
user
.
ent_code
;
var
honorTitleId
=
req
.
params
.
hid
;
var
user_conditions
=
{
ent_code
:
ent_code
,
honorTitles
:
{
$in
:
[
honorTitleId
]
}
};
var
fields
=
"nickName icon"
;
forumUserService
.
searchMembersAndFields
(
1
,
10000
,
user_conditions
,
fields
,
function
(
err
,
results
)
{
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
_
.
assign
(
results
,
returnCode
.
SUCCESS
));
}
});
});
//查询所有头衔信息、前4头衔人员信息
//查询所有头衔信息、前4头衔人员信息
router
.
get
(
'/honorTitle/list'
,
function
(
req
,
res
,
next
)
{
router
.
get
(
'/honorTitle/list'
,
function
(
req
,
res
,
next
)
{
var
pageNo
=
req
.
query
.
pageNo
||
1
,
var
pageNo
=
req
.
query
.
pageNo
||
1
,
pageSize
=
req
.
query
.
pageSize
||
4
,
pageSize
=
req
.
query
.
pageSize
||
4
,
ent_code
=
req
.
session
.
user
.
ent_code
;
ent_code
=
req
.
session
.
user
.
ent_code
;
var
honorTitle_condition
=
{
var
honorTitle_condition
=
{
ent_code
:
ent_code
,
ent_code
:
ent_code
,
status
:
1
status
:
1
}
}
var
fields
=
"nickName icon"
;
var
fields
=
"nickName icon"
;
async
.
waterfall
([
async
.
waterfall
([
...
@@ -34,18 +59,17 @@ router.get('/honorTitle/list', function(req, res, next) {
...
@@ -34,18 +59,17 @@ router.get('/honorTitle/list', function(req, res, next) {
callback
(
err
,
list
);
callback
(
err
,
list
);
});
});
},
},
function
(
list
,
callback
)
{
//
更新用户消息
function
(
list
,
callback
)
{
//
获取用户
var
asyncTasks
=
[];
var
asyncTasks
=
[];
_
.
forEach
(
list
,
function
(
one
,
i
)
{
_
.
forEach
(
list
,
function
(
one
,
i
)
{
asyncTasks
.
push
(
function
(
cont
)
{
asyncTasks
.
push
(
function
(
cont
)
{
var
user_conditions
=
{
var
user_conditions
=
{
ent_code
:
ent_code
,
ent_code
:
ent_code
,
honor
Titles
:
{
honor
:
{
$in
:
[
one
.
_id
]
$in
:
[
one
.
_id
]
}
}
};
};
forumUserHonorTimeLineService
.
getAll
(
pageNo
,
pageSize
,
user_conditions
,
fields
,
function
(
err
,
results
)
{
forumUserService
.
searchMembersAndFields
(
pageNo
,
pageSize
,
user_conditions
,
fields
,
function
(
err
,
results
)
{
if
(
err
)
{
if
(
err
)
{
console
.
error
(
err
);
console
.
error
(
err
);
cont
(
err
,
null
);
cont
(
err
,
null
);
...
@@ -53,7 +77,11 @@ router.get('/honorTitle/list', function(req, res, next) {
...
@@ -53,7 +77,11 @@ router.get('/honorTitle/list', function(req, res, next) {
if
(
list
[
i
].
toObject
)
{
if
(
list
[
i
].
toObject
)
{
list
[
i
]
=
list
[
i
].
toObject
();
list
[
i
]
=
list
[
i
].
toObject
();
}
}
list
[
i
].
users
=
results
;
var
users
=
[];
_
.
forEach
(
results
,
function
(
one
,
i
)
{
users
.
push
(
one
.
user
);
});
list
[
i
].
users
=
users
;
cont
(
null
,
one
);
cont
(
null
,
one
);
}
}
});
});
...
@@ -73,29 +101,4 @@ router.get('/honorTitle/list', function(req, res, next) {
...
@@ -73,29 +101,4 @@ router.get('/honorTitle/list', function(req, res, next) {
res
.
json
(
_
.
assign
(
result
,
returnCode
.
SUCCESS
));
res
.
json
(
_
.
assign
(
result
,
returnCode
.
SUCCESS
));
}
}
});
});
});
});
\ No newline at end of file
//查询单个头衔信息人员信息
router
.
get
(
'/honorTitle/:hid/list'
,
function
(
req
,
res
,
next
)
{
var
ent_code
=
req
.
session
.
user
.
ent_code
;
var
honorTitleId
=
req
.
params
.
hid
;
var
user_conditions
=
{
ent_code
:
ent_code
,
honorTitles
:
{
$in
:
[
honorTitleId
]
}
};
var
fields
=
"nickName icon"
;
forumUserService
.
searchMembersAndFields
(
1
,
10000
,
user_conditions
,
fields
,
function
(
err
,
results
)
{
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
_
.
assign
(
results
,
returnCode
.
SUCCESS
));
}
});
});
app/models/forumUserHonorTimeLine.js
0 → 100644
View file @
bfc664b6
'use strict'
;
var
mongoose
=
require
(
'mongoose'
),
Schema
=
mongoose
.
Schema
;
//用户设置荣誉头衔时间线
var
ForumUserHonorTimeLineSchema
=
new
Schema
({
ent_code
:
{
type
:
Number
,
require
:
true
,
index
:
true
},
user
:
{
//用户
type
:
Schema
.
Types
.
ObjectId
,
require
:
true
,
index
:
true
,
ref
:
'ForumUser'
},
honor
:
{
//荣誉
type
:
Schema
.
Types
.
ObjectId
,
ref
:
'ForumHonorTitle'
,
index
:
true
},
created
:
{
type
:
Date
,
required
:
true
,
default
:
Date
.
now
}
},
{
'collection'
:
'pisns_forum_user_honor_time_line'
});
module
.
exports
=
mongoose
.
model
(
'ForumUserHonorTimeLine'
,
ForumUserHonorTimeLineSchema
);
app/service/forumUserHonorTimeLineService.js
0 → 100644
View file @
bfc664b6
'use strict'
;
var
mongoose
=
require
(
'mongoose'
);
var
ForumUserHonorTimeLine
=
mongoose
.
model
(
'ForumUserHonorTimeLine'
);
//创建
exports
.
create
=
function
(
entity
,
callback
)
{
var
forum
=
new
ForumUserHonorTimeLine
(
entity
);
forum
.
save
(
function
(
err
,
doc
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
doc
);
}
});
};
//根据ID获取
exports
.
getById
=
function
(
tid
,
callback
)
{
ForumUserHonorTimeLine
.
findById
(
tid
,
function
(
err
,
doc
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
doc
);
}
});
};
//根据ID更新
exports
.
updateById
=
function
(
tid
,
entity
,
callback
)
{
ForumUserHonorTimeLine
.
update
({
_id
:
tid
},
entity
,
null
,
function
(
err
,
result
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
};
//根据ID删除
exports
.
deleteById
=
function
(
tid
,
callback
)
{
ForumUserHonorTimeLine
.
remove
({
_id
:
tid
},
function
(
err
,
result
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
};
//根据条件删除
exports
.
deleteByCondition
=
function
(
condition
,
callback
)
{
ForumUserHonorTimeLine
.
remove
(
condition
,
function
(
err
,
result
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
};
//获取数量
function
countAll
(
conditions
,
callback
)
{
ForumUserHonorTimeLine
.
count
(
conditions
,
function
(
err
,
count
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
count
);
}
});
}
//分页查询
exports
.
getAll
=
function
(
pageNo
,
pageSize
,
conditions
,
fields
,
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);
// ForumUserHonorTimeLine.find(conditions).skip(skip).limit(limit).select(fields).sort('-created').populate({
// path: 'user',
// select: fields,
// options: {
// sort: {
// created: -1
// }
// }
// }).exec(function(err, docs) {
// callback(err, count, docs);
// });
// }
// });
var
skip
=
(
pageNo
-
1
)
*
pageSize
;
ForumUserHonorTimeLine
.
find
(
conditions
).
skip
(
skip
).
limit
(
pageSize
).
sort
(
'-created'
).
populate
({
path
:
'user'
,
select
:
fields
,
options
:
{
sort
:
{
created
:
-
1
}
}
}).
exec
(
function
(
err
,
docs
)
{
callback
(
err
,
docs
);
});
};
//获取列表
exports
.
find
=
function
(
conditions
,
callback
)
{
ForumUserHonorTimeLine
.
find
(
conditions
).
sort
({
order_idx
:
-
1
}).
exec
(
function
(
err
,
docs
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
docs
);
}
});
};
exports
.
getAllOrderIDX
=
function
(
conditions
,
callback
)
{
ForumUserHonorTimeLine
.
find
(
conditions
).
select
(
'_id order_idx'
).
sort
({
order_idx
:
-
1
}).
exec
(
function
(
err
,
docs
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
docs
);
}
});
};
//修改序号
exports
.
updateIdx
=
function
(
id
,
idx
,
callback
)
{
ForumUserHonorTimeLine
.
update
({
_id
:
id
},
{
order_idx
:
idx
},
null
,
function
(
err
,
result
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
true
);
}
});
};
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