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
707e5c69
Commit
707e5c69
authored
Apr 21, 2015
by
刘文胜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
举报管理
parent
9e39925a
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
260 additions
and
0 deletions
+260
-0
forumComplaint.js
app/controllers/admin/forumComplaint.js
+69
-0
forumComplaint.js
app/controllers/mobile/forumComplaint.js
+22
-0
forumComplaint.js
app/models/forumComplaint.js
+47
-0
forumComplaintService.js
app/service/forumComplaintService.js
+122
-0
No files found.
app/controllers/admin/forumComplaint.js
0 → 100644
View file @
707e5c69
'use strict'
;
var
express
=
require
(
'express'
),
router
=
express
.
Router
(),
returnCode
=
require
(
'../../utils/returnCode'
),
_
=
require
(
'lodash'
);
var
ForumComplaintService
=
require
(
'../../service/forumComplaintService'
);
var
ForumUserService
=
require
(
"../../service/forumUserService"
);
module
.
exports
=
function
(
app
)
{
app
.
use
(
'/admin/forum'
,
router
);
};
//获取举报分页列表
router
.
get
(
'/complaints/getComplaints'
,
function
(
req
,
res
,
next
)
{
var
pageNo
=
req
.
query
.
pageNo
||
1
;
var
pageSize
=
req
.
query
.
pageSize
||
10
;
var
conditions
=
{
ent_code
:
req
.
session
.
user
.
ent_code
};
var
type
=
req
.
query
.
type
;
var
begin
=
req
.
query
.
begin
;
var
end
=
req
.
query
.
end
;
if
(
type
){
conditions
.
type
=
type
;
}
if
(
begin
||
end
){
conditions
.
created
=
{};
if
(
begin
){
conditions
.
created
[
'$gte'
]
=
new
Date
(
begin
);
}
if
(
end
){
var
t
=
new
Date
(
end
);
t
.
setDate
(
t
.
getDate
()
+
1
);
conditions
.
created
[
'$lte'
]
=
t
;
}
}
ForumComplaintService
.
getForumComplaintPageList
(
conditions
,
pageNo
,
pageSize
,
function
(
err
,
results
){
if
(
err
){
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
_
.
assign
(
results
,
returnCode
.
SUCCESS
));
}
});
});
//删除黑名单根据id
router
.
get
(
'/complaints/:id/del'
,
function
(
req
,
res
,
next
)
{
var
id
=
req
.
params
.
id
;
ForumComplaintService
.
removeComplaintById
(
id
,
function
(
err
,
result
){
if
(
err
){
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
_
.
assign
(
result
,
returnCode
.
SUCCESS
));
}
});
});
//在举报里屏蔽用户
router
.
post
(
'/complaints/blacklist'
,
function
(
req
,
res
,
next
)
{
var
id
=
req
.
body
.
id
;
ForumUserService
.
updateUserById
(
id
,{
status
:
2
},
function
(
err
,
result
){
if
(
err
){
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
_
.
assign
(
result
,
returnCode
.
SUCCESS
));
}
});
});
\ No newline at end of file
app/controllers/mobile/forumComplaint.js
0 → 100644
View file @
707e5c69
'use strict'
;
var
express
=
require
(
'express'
),
router
=
express
.
Router
(),
returnCode
=
require
(
'../../utils/returnCode'
),
_
=
require
(
'lodash'
);
var
ForumComplaintService
=
require
(
'../../service/forumComplaintService'
);
module
.
exports
=
function
(
app
)
{
app
.
use
(
'/v1/forum'
,
router
);
};
//增加举报
router
.
post
(
'/complaints'
,
function
(
req
,
res
,
next
)
{
var
ent_code
=
req
.
session
.
user
.
ent_code
;
ForumComplaintService
.
addComplaint
(
req
.
body
,
ent_code
,
function
(
err
,
result
){
if
(
err
){
res
.
json
(
returnCode
.
BUSY
);
}
else
{
res
.
json
(
_
.
assign
(
result
,
returnCode
.
SUCCESS
));
}
});
});
\ No newline at end of file
app/models/forumComplaint.js
0 → 100644
View file @
707e5c69
'use strict'
;
var
mongoose
=
require
(
'mongoose'
),
Schema
=
mongoose
.
Schema
;
//举报
var
ComplaintSchema
=
new
Schema
({
ent_code
:
{
type
:
Number
,
require
:
true
,
index
:
true
},
content
:{
//被举报的文章,评论的内容
type
:
String
,
require
:
false
},
complaintId
:{
//被举报的文章、评论的id
type
:
String
,
require
:
true
,
index
:
true
},
complaintTo
:{
//被举报人
type
:
Schema
.
Types
.
ObjectId
,
require
:
false
,
index
:
true
,
ref
:
'ForumUser'
},
complaintFrom
:{
//举报人
type
:
Schema
.
Types
.
ObjectId
,
require
:
false
,
index
:
true
,
ref
:
'ForumUser'
},
type
:
{
//被举报的是文章1 还是评论2
type
:
Number
,
require
:
true
,
index
:
true
},
created
:
{
type
:
Date
,
required
:
true
,
default
:
Date
.
now
}
},
{
'collection'
:
'pisns_forum_complaint'
});
module
.
exports
=
mongoose
.
model
(
'ForumComplaint'
,
ComplaintSchema
);
\ No newline at end of file
app/service/forumComplaintService.js
0 → 100644
View file @
707e5c69
'use strict'
;
var
mongoose
=
require
(
'mongoose'
);
var
ForumComplaint
=
mongoose
.
model
(
'ForumComplaint'
);
var
ForumUserService
=
require
(
"./forumUserService"
);
var
async
=
require
(
'async'
);
exports
.
getForumComplaintPageList
=
function
(
condition
,
pageNo
,
pageSize
,
callback
){
var
_condition
=
condition
||
{};
var
pageNo
=
Number
(
pageNo
)
||
1
;
var
pageSize
=
pageSize
||
10
;
var
obj
=
{};
obj
.
total
=
0
;
obj
.
pageNo
=
pageNo
;
obj
.
pageSize
=
pageSize
;
obj
.
items
=
[];
var
search
=
function
(
count
){
var
skip
=
(
pageNo
-
1
)
*
pageSize
;
skip
=
skip
>
0
?
skip
:
0
;
var
limit
=
pageSize
;
ForumComplaint
.
find
(
_condition
)
.
populate
(
'complaintTo'
).
populate
(
'complaintFrom'
).
limit
(
limit
)
.
skip
(
skip
).
sort
(
'-created'
).
exec
(
function
(
err
,
complaints
){
if
(
err
){
console
.
error
(
err
);
return
callback
&&
callback
(
err
,
null
);
}
obj
.
total
=
count
;
obj
.
pageNo
=
pageNo
;
obj
.
pageSize
=
pageSize
;
obj
.
items
=
complaints
;
return
callback
&&
callback
(
null
,
obj
);
});
};
ForumComplaint
.
count
(
_condition
,
function
(
err
,
count
)
{
if
(
err
){
return
callback
&&
callback
(
err
,
null
);
}
if
(
!!!
count
){
return
callback
&&
callback
(
null
,
obj
);
}
return
search
(
count
);
});
};
exports
.
addComplaint
=
function
(
complaint
,
entcode
,
callback
){
if
(
!!!
complaint
||
!!!
complaint
.
complaintId
){
return
callback
&&
callback
(
'bad args'
);
}
complaint
.
ent_code
=
entcode
;
async
.
waterfall
([
function
(
cb
)
{
var
from
=
complaint
.
from
;
delete
complaint
.
from
;
if
(
!!!
from
){
return
cb
();
}
ForumUserService
.
getUserById
(
from
,
function
(
err
,
result
){
if
(
!!!
err
&&
result
){
complaint
.
complaintFrom
=
result
;
}
cb
();
});
},
function
(
cb
)
{
if
(
complaint
.
complaintFrom
&&
complaint
.
complaintFrom
.
_id
){
ForumComplaint
.
count
({
type
:
complaint
.
type
,
ent_code
:
entcode
,
complaintId
:
complaint
.
complaintId
,
complaintFrom
:
complaint
.
complaintFrom
.
_id
}).
exec
(
function
(
err
,
count
){
if
(
err
||
count
){
return
callback
&&
callback
(
'已经存在!'
);
}
cb
();
});
}
else
{
ForumComplaint
.
count
({
type
:
complaint
.
type
,
ent_code
:
entcode
,
complaintId
:
complaint
.
complaintId
}).
exec
(
function
(
err
,
count
){
if
(
err
||
count
){
return
callback
&&
callback
(
'已经存在!'
);
}
cb
();
});
}
},
function
(
cb
)
{
var
to
=
complaint
.
to
;
delete
complaint
.
to
;
if
(
!!!
to
){
return
cb
();
}
ForumUserService
.
getUserById
(
to
,
function
(
err
,
result
){
if
(
!!!
err
&&
result
){
complaint
.
complaintTo
=
result
;
}
cb
();
});
},
function
(
n
,
cb
)
{
var
_complaint
=
new
ForumComplaint
(
complaint
);
_complaint
.
save
(
function
(
err
,
result
)
{
if
(
err
){
console
.
error
(
err
);
return
callback
&&
callback
(
err
);
}
return
callback
&&
callback
(
null
,
result
);
});
}],
function
(
err
,
result
)
{
return
callback
&&
callback
(
err
);
});
};
exports
.
removeComplaintById
=
function
(
id
,
callback
){
ForumComplaint
.
remove
({
_id
:
id
},
function
(
err
,
result
){
if
(
err
)
{
return
callback
&&
callback
(
err
,
null
);
}
return
callback
&&
callback
(
null
,
result
);
});
}
\ No newline at end of file
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