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
0d847060
Commit
0d847060
authored
Nov 25, 2015
by
strong
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'bugfix_1125_praise_duplicate' into SANDBOX
parents
a4000f20
eb2f3a3d
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
543 additions
and
374 deletions
+543
-374
forumThread.js
app/controllers/mobile/forumThread.js
+543
-374
No files found.
app/controllers/mobile/forumThread.js
View file @
0d847060
...
@@ -98,6 +98,294 @@ function create(req, callback) {
...
@@ -98,6 +98,294 @@ function create(req, callback) {
}
}
}
}
//点赞和取消点赞
var
raiseOrcancelRaise
=
function
(
req
,
ent_code
,
tid
,
userId
,
callback
)
{
//判断是否已经点赞
forumPraiseLogService
.
queryPraiseLog
(
tid
,
null
,
userId
,
1
,
function
(
err
,
doc
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
forumThreadService
.
getThreadById
(
tid
,
function
(
err
,
thread
)
{
if
(
err
)
{
callback
(
returnCode
.
BUSY
);
}
else
if
(
!
doc
||
doc
.
status
==
1
)
{
//点赞
async
.
parallel
([
function
(
callback
)
{
//3.更新文章统计数据(点赞数)
if
(
thread
)
{
forumThreadService
.
updateThreadRaiseCount
(
tid
,
function
(
err
,
cb
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
else
{
callback
(
'cannot find thread by id'
,
null
);
}
},
function
(
callback
)
{
if
(
doc
)
{
//如果已存在,更新为点赞日志
forumPraiseLogService
.
updatePraiseLog
(
doc
.
_id
,
0
,
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
else
{
//不存在,创建点赞日志
var
entity
=
{
ent_code
:
ent_code
,
user
:
userId
,
thread
:
tid
,
ip
:
req
.
ip
,
comment
:
null
,
type
:
1
,
status
:
0
};
//4.创建点赞日志
forumPraiseLogService
.
createPraiseLog
(
entity
,
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
}
],
function
(
err
,
results
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
returnCode
.
BUSY
);
}
else
{
//更新点赞redis
redisPraiseLog
.
get
(
ent_code
,
userId
,
'thread'
,
function
(
error
,
docs
)
{
var
list
=
docs
;
list
.
push
(
tid
);
redisPraiseLog
.
set
(
ent_code
,
userId
,
'thread'
,
list
,
function
()
{});
});
forumThreadService
.
getThreadById
(
tid
,
function
(
err
,
doc
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
returnCode
.
BUSY
);
}
else
{
var
rs
=
{};
rs
.
praise_count
=
doc
.
praise_count
;
rs
.
isPraise
=
true
;
callback
(
_
.
assign
(
rs
,
returnCode
.
SUCCESS
));
}
});
}
});
}
else
if
(
doc
&&
doc
.
status
==
0
)
{
//取消点赞
async
.
parallel
([
function
(
callback
)
{
//3.更新文章统计数据(点赞数)
if
(
thread
&&
thread
.
praise_count
>
0
)
{
forumThreadService
.
updateThreadRaiseCountDec
(
tid
,
function
(
err
,
cb
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
else
{
callback
(
'cannot find thread by id'
,
null
);
}
},
function
(
callback
)
{
//4.更新点赞日志
forumPraiseLogService
.
updatePraiseLog
(
doc
.
_id
,
1
,
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
],
function
(
err
,
results
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
returnCode
.
BUSY
);
}
else
{
//更新点赞redis
redisPraiseLog
.
get
(
ent_code
,
userId
,
'thread'
,
function
(
error
,
docs
)
{
var
list
=
docs
;
for
(
var
i
=
0
;
i
<
list
.
length
;
i
++
)
{
if
(
list
[
i
].
toString
()
==
tid
)
{
list
.
splice
(
i
,
1
);
break
;
}
}
redisPraiseLog
.
set
(
ent_code
,
userId
,
'thread'
,
list
,
function
()
{});
});
forumThreadService
.
getThreadById
(
tid
,
function
(
err
,
doc
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
returnCode
.
BUSY
);
}
else
{
var
rs
=
{};
rs
.
praise_count
=
doc
.
praise_count
;
rs
.
isPraise
=
false
;
callback
(
_
.
assign
(
rs
,
returnCode
.
SUCCESS
));
}
});
}
});
}
else
{
callback
(
returnCode
.
BUSY
);
}
});
}
});
}
//评论点赞和取消点赞
var
conmentRaiseOrcancelRaise
=
function
(
req
,
ent_code
,
tid
,
cid
,
userId
,
callback
)
{
forumPraiseLogService
.
queryPraiseLog
(
tid
,
cid
,
userId
,
2
,
function
(
err
,
doc
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
returnCode
.
BUSY
);
}
else
{
//2.获取论坛文章
forumThreadService
.
getThreadById
(
tid
,
function
(
err
,
thread
)
{
if
(
err
)
{
callback
(
returnCode
.
BUSY
);
}
else
if
(
!
doc
||
doc
.
status
==
1
){
//点赞
async
.
parallel
([
function
(
callback
)
{
forumCommentService
.
updatePraiseCount
(
cid
,
function
(
err
,
results
)
{
if
(
err
)
{
console
.
log
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
},
function
(
callback
)
{
if
(
doc
)
{
//4.更新点赞日志
forumPraiseLogService
.
updatePraiseLog
(
doc
.
_id
,
0
,
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
else
{
var
entity
=
{
ent_code
:
ent_code
,
user
:
userId
,
thread
:
tid
,
ip
:
req
.
ip
,
comment
:
cid
,
type
:
2
,
status
:
0
};
//4.创建点赞日志
forumPraiseLogService
.
createPraiseLog
(
entity
,
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
}
],
function
(
err
,
results
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
returnCode
.
BUSY
);
}
else
{
//更新点赞redis
redisPraiseLog
.
get
(
ent_code
,
userId
,
'comment'
,
function
(
error
,
docs
)
{
var
list
=
docs
;
list
.
push
(
cid
);
redisPraiseLog
.
set
(
ent_code
,
userId
,
'comment'
,
list
,
function
()
{});
});
//返回点赞总数
forumCommentService
.
getCommentById
(
cid
,
function
(
err
,
doc
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
returnCode
.
BUSY
);
}
else
{
var
rs
=
{};
rs
.
praise_count
=
doc
.
praise_count
;
rs
.
isPraise
=
true
;
callback
(
_
.
assign
(
rs
,
returnCode
.
SUCCESS
));
}
});
}
});
}
else
if
(
doc
&&
doc
.
status
==
0
){
//取消点赞
async
.
parallel
([
function
(
callback
)
{
forumCommentService
.
updatePraiseCountDec
(
cid
,
function
(
err
,
results
)
{
if
(
err
)
{
console
.
log
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
},
function
(
callback
)
{
//4.更新点赞日志
forumPraiseLogService
.
updatePraiseLog
(
doc
.
_id
,
1
,
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
],
function
(
err
,
results
)
{
if
(
err
)
{
console
.
error
(
err
);
callback
(
returnCode
.
BUSY
);
}
else
{
//更新点赞redis
redisPraiseLog
.
get
(
ent_code
,
userId
,
'comment'
,
function
(
error
,
docs
)
{
var
list
=
docs
;
for
(
var
i
=
0
;
i
<
list
.
length
;
i
++
)
{
if
(
list
[
i
].
toString
()
==
cid
)
{
list
.
splice
(
i
,
1
);
break
;
}
}
redisPraiseLog
.
set
(
ent_code
,
userId
,
'comment'
,
list
,
function
()
{});
});
//返回点赞总数
forumCommentService
.
getCommentById
(
cid
,
function
(
err
,
doc
)
{
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
var
rs
=
{};
rs
.
praise_count
=
doc
.
praise_count
;
rs
.
isPraise
=
false
;
callback
(
_
.
assign
(
rs
,
returnCode
.
SUCCESS
));
}
});
}
});
}
else
{
callback
(
returnCode
.
BUSY
);
}
});
}
});
}
//根据发帖者分页查询话题列表
//根据发帖者分页查询话题列表
router
.
get
(
'/thread/searchThread'
,
function
(
req
,
res
,
next
)
{
router
.
get
(
'/thread/searchThread'
,
function
(
req
,
res
,
next
)
{
...
@@ -375,6 +663,224 @@ router.post('/thread/:tid/delete', function(req, res, next) {
...
@@ -375,6 +663,224 @@ router.post('/thread/:tid/delete', function(req, res, next) {
}
}
});
});
// //文章点赞
// router.post('/thread/:tid/raise', function(req, res, next) {
// var userId = req.session.mobileForumUser.userId;
// var mid = req.session.openUser.mid;
// var tid = req.params.tid || null;
// var ent_code = req.session.user.ent_code;
// if (tid) {
// var integral = req.session.openUser.integral || 0;
// var exp = req.session.openUser.exp || 0;
// //判断是否已经点赞
// forumPraiseLogService.queryPraiseLog(tid, null, user.getMobileUser(req), 1, function(err, doc) {
// if (err) {
// res.json(returnCode.BUSY);
// } else {
// //1.检查是否有权限
// forumRolePermissionService.checkRolePermiss(ent_code, 'raise', integral, exp, function(err, result) {
// if (err) {
// res.json(returnCode.BUSY);
// } else {
// if (result) { //有操作权限
// //2.获取论坛文章
// forumThreadService.getThreadById(tid, function(err, thread) {
// if (err) {
// res.json(returnCode.BUSY);
// } else {
// async.parallel([
// function(callback) {
// //3.更新文章统计数据(点赞数)
// if (thread) {
// forumThreadService.updateThreadRaiseCount(tid, function(err, cb) {
// if (err) {
// callback(err, null);
// } else {
// callback(null, null);
// }
// });
// } else {
// callback('cannot find thread by id', null);
// }
// },
// function(callback) {
// if (doc) { //如果已存在,更新为点赞日志
// forumPraiseLogService.updatePraiseLog(doc._id, 0, function(err, result) {
// if (err) {
// callback(err, null);
// } else {
// callback(null, null);
// }
// });
// } else { //不存在,创建点赞日志
// var entity = {
// ent_code: ent_code,
// user: user.getMobileUser(req),
// thread: tid,
// ip: req.ip,
// comment: null,
// type: 1,
// status: 0
// };
// //4.创建点赞日志
// forumPraiseLogService.createPraiseLog(entity, function(err, result) {
// if (err) {
// callback(err, null);
// } else {
// callback(null, null);
// }
// });
// }
// }
// ], function(err, results) {
// if (err) {
// console.error(err);
// res.json(returnCode.BUSY);
// } else {
// // forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(userId, function(err, flag){
// // if(err){
// // console.error(err);
// // }else{
// // if(!flag){
// // httpService.sendRequest(ent_code, req.session.openUser.mid, 'thread_praise');
// // }
// // }
// // });
// //更新点赞redis
// redisPraiseLog.get(ent_code, userId, 'thread', function(error, docs) {
// var list = docs;
// list.push(tid);
// redisPraiseLog.set(ent_code, userId, 'thread', list, function() {});
// });
// forumThreadService.getThreadById(tid, function(err, doc) {
// if (err) {
// console.error(err);
// res.json(returnCode.BUSY);
// } else {
// var rs = {};
// rs.praise_count = doc.praise_count;
// res.json(_.assign(rs, returnCode.SUCCESS));
// }
// });
// }
// });
// }
// });
// } else {
// res.json(returnCode.ACTION_NOT_PERMISSION);
// }
// }
// });
// }
// });
// } else {
// res.json(returnCode.WRONG_PARAM);
// }
// });
// //文章取消点赞
// router.post('/thread/:tid/cancelRaise', function(req, res, next) {
// var userId = req.session.mobileForumUser.userId;
// var mid = req.session.openUser.mid;
// var tid = req.params.tid || null;
// var ent_code = req.session.user.ent_code;
// if (tid) {
// var integral = req.session.openUser.integral || 0;
// var exp = req.session.openUser.exp || 0;
// //判断是否已经点赞
// forumPraiseLogService.queryPraiseLog(tid, null, userId, 1, function(err, doc) {
// if (err) {
// res.json(returnCode.BUSY);
// } else {
// if (doc) {
// var praiseId = doc._id;
// //1.检查是否有权限
// forumRolePermissionService.checkRolePermiss(ent_code, 'raise', integral, exp, function(err, result) {
// if (err) {
// res.json(returnCode.BUSY);
// } else {
// if (result) { //有操作权限
// //2.获取论坛文章
// forumThreadService.getThreadById(tid, function(err, thread) {
// if (err) {
// res.json(returnCode.BUSY);
// } else {
// async.parallel([
// function(callback) {
// //3.更新文章统计数据(点赞数)
// if (thread && thread.praise_count > 0) {
// forumThreadService.updateThreadRaiseCountDec(tid, function(err, cb) {
// if (err) {
// callback(err, null);
// } else {
// callback(null, null);
// }
// });
// } else {
// callback('cannot find thread by id', null);
// }
// },
// function(callback) {
// //4.更新点赞日志
// forumPraiseLogService.updatePraiseLog(praiseId, 1, function(err, result) {
// if (err) {
// callback(err, null);
// } else {
// callback(null, null);
// }
// });
// }
// ], function(err, results) {
// if (err) {
// console.error(err);
// res.json(returnCode.BUSY);
// } else {
// //更新点赞redis
// redisPraiseLog.get(ent_code, userId, 'thread', function(error, docs) {
// var list = docs;
// for (var i = 0; i < list.length; i++) {
// if (list[i].toString() == tid) {
// list.splice(i, 1);
// break;
// }
// }
// redisPraiseLog.set(ent_code, userId, 'thread', list, function() {});
// });
// forumThreadService.getThreadById(tid, function(err, doc) {
// if (err) {
// console.error(err);
// res.json(returnCode.BUSY);
// } else {
// var rs = {};
// rs.praise_count = doc.praise_count;
// res.json(_.assign(rs, returnCode.SUCCESS));
// }
// });
// }
// });
// }
// });
// } else {
// res.json(returnCode.ACTION_NOT_PERMISSION);
// }
// }
// });
// }
// }
// });
// } else {
// res.json(returnCode.WRONG_PARAM);
// }
// });
//文章点赞
//文章点赞
router
.
post
(
'/thread/:tid/raise'
,
function
(
req
,
res
,
next
)
{
router
.
post
(
'/thread/:tid/raise'
,
function
(
req
,
res
,
next
)
{
var
userId
=
req
.
session
.
mobileForumUser
.
userId
;
var
userId
=
req
.
session
.
mobileForumUser
.
userId
;
...
@@ -382,113 +888,9 @@ router.post('/thread/:tid/raise', function(req, res, next) {
...
@@ -382,113 +888,9 @@ router.post('/thread/:tid/raise', function(req, res, next) {
var
tid
=
req
.
params
.
tid
||
null
;
var
tid
=
req
.
params
.
tid
||
null
;
var
ent_code
=
req
.
session
.
user
.
ent_code
;
var
ent_code
=
req
.
session
.
user
.
ent_code
;
if
(
tid
)
{
if
(
tid
)
{
var
integral
=
req
.
session
.
openUser
.
integral
||
0
;
raiseOrcancelRaise
(
req
,
ent_code
,
tid
,
userId
,
function
(
result
){
var
exp
=
req
.
session
.
openUser
.
exp
||
0
;
res
.
json
(
result
);
//判断是否已经点赞
forumPraiseLogService
.
queryPraiseLog
(
tid
,
null
,
user
.
getMobileUser
(
req
),
1
,
function
(
err
,
doc
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
//1.检查是否有权限
forumRolePermissionService
.
checkRolePermiss
(
ent_code
,
'raise'
,
integral
,
exp
,
function
(
err
,
result
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
if
(
result
)
{
//有操作权限
//2.获取论坛文章
forumThreadService
.
getThreadById
(
tid
,
function
(
err
,
thread
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
async
.
parallel
([
function
(
callback
)
{
//3.更新文章统计数据(点赞数)
if
(
thread
)
{
forumThreadService
.
updateThreadRaiseCount
(
tid
,
function
(
err
,
cb
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
else
{
callback
(
'cannot find thread by id'
,
null
);
}
},
function
(
callback
)
{
if
(
doc
)
{
//如果已存在,更新为点赞日志
forumPraiseLogService
.
updatePraiseLog
(
doc
.
_id
,
0
,
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
else
{
//不存在,创建点赞日志
var
entity
=
{
ent_code
:
ent_code
,
user
:
user
.
getMobileUser
(
req
),
thread
:
tid
,
ip
:
req
.
ip
,
comment
:
null
,
type
:
1
,
status
:
0
};
//4.创建点赞日志
forumPraiseLogService
.
createPraiseLog
(
entity
,
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
}
],
function
(
err
,
results
)
{
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
// forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(userId, function(err, flag){
// if(err){
// console.error(err);
// }else{
// if(!flag){
// httpService.sendRequest(ent_code, req.session.openUser.mid, 'thread_praise');
// }
// }
// });
//更新点赞redis
redisPraiseLog
.
get
(
ent_code
,
userId
,
'thread'
,
function
(
error
,
docs
)
{
var
list
=
docs
;
list
.
push
(
tid
);
redisPraiseLog
.
set
(
ent_code
,
userId
,
'thread'
,
list
,
function
()
{});
});
forumThreadService
.
getThreadById
(
tid
,
function
(
err
,
doc
)
{
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
var
rs
=
{};
rs
.
praise_count
=
doc
.
praise_count
;
res
.
json
(
_
.
assign
(
rs
,
returnCode
.
SUCCESS
));
}
});
}
});
}
});
}
else
{
res
.
json
(
returnCode
.
ACTION_NOT_PERMISSION
);
}
}
});
}
});
});
}
else
{
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
}
...
@@ -501,92 +903,24 @@ router.post('/thread/:tid/cancelRaise', function(req, res, next) {
...
@@ -501,92 +903,24 @@ router.post('/thread/:tid/cancelRaise', function(req, res, next) {
var
tid
=
req
.
params
.
tid
||
null
;
var
tid
=
req
.
params
.
tid
||
null
;
var
ent_code
=
req
.
session
.
user
.
ent_code
;
var
ent_code
=
req
.
session
.
user
.
ent_code
;
if
(
tid
)
{
if
(
tid
)
{
var
integral
=
req
.
session
.
openUser
.
integral
||
0
;
raiseOrcancelRaise
(
req
,
ent_code
,
tid
,
userId
,
function
(
result
){
var
exp
=
req
.
session
.
openUser
.
exp
||
0
;
res
.
json
(
result
);
//判断是否已经点赞
forumPraiseLogService
.
queryPraiseLog
(
tid
,
null
,
userId
,
1
,
function
(
err
,
doc
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
if
(
doc
)
{
var
praiseId
=
doc
.
_id
;
//1.检查是否有权限
forumRolePermissionService
.
checkRolePermiss
(
ent_code
,
'raise'
,
integral
,
exp
,
function
(
err
,
result
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
if
(
result
)
{
//有操作权限
//2.获取论坛文章
forumThreadService
.
getThreadById
(
tid
,
function
(
err
,
thread
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
async
.
parallel
([
function
(
callback
)
{
//3.更新文章统计数据(点赞数)
if
(
thread
&&
thread
.
praise_count
>
0
)
{
forumThreadService
.
updateThreadRaiseCountDec
(
tid
,
function
(
err
,
cb
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
else
{
callback
(
'cannot find thread by id'
,
null
);
}
},
function
(
callback
)
{
//4.更新点赞日志
forumPraiseLogService
.
updatePraiseLog
(
praiseId
,
1
,
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
],
function
(
err
,
results
)
{
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
//更新点赞redis
redisPraiseLog
.
get
(
ent_code
,
userId
,
'thread'
,
function
(
error
,
docs
)
{
var
list
=
docs
;
for
(
var
i
=
0
;
i
<
list
.
length
;
i
++
)
{
if
(
list
[
i
].
toString
()
==
tid
)
{
list
.
splice
(
i
,
1
);
break
;
}
}
redisPraiseLog
.
set
(
ent_code
,
userId
,
'thread'
,
list
,
function
()
{});
});
forumThreadService
.
getThreadById
(
tid
,
function
(
err
,
doc
)
{
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
var
rs
=
{};
rs
.
praise_count
=
doc
.
praise_count
;
res
.
json
(
_
.
assign
(
rs
,
returnCode
.
SUCCESS
));
}
});
}
});
}
});
}
else
{
res
.
json
(
returnCode
.
ACTION_NOT_PERMISSION
);
}
}
});
}
}
});
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
//文章点赞和取消点赞
router
.
post
(
'/thread/:tid/praiseOrCancelPraise'
,
function
(
req
,
res
,
next
)
{
var
userId
=
req
.
session
.
mobileForumUser
.
userId
;
var
mid
=
req
.
session
.
openUser
.
mid
;
var
tid
=
req
.
params
.
tid
||
null
;
var
ent_code
=
req
.
session
.
user
.
ent_code
;
if
(
tid
)
{
raiseOrcancelRaise
(
req
,
ent_code
,
tid
,
userId
,
function
(
result
){
res
.
json
(
result
);
});
}
else
{
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
}
...
@@ -1312,112 +1646,9 @@ router.post('/thread/:tid/comment/:cid/raise', function(req, res, next) {
...
@@ -1312,112 +1646,9 @@ router.post('/thread/:tid/comment/:cid/raise', function(req, res, next) {
var
mid
=
req
.
session
.
openUser
.
mid
;
var
mid
=
req
.
session
.
openUser
.
mid
;
var
ent_code
=
req
.
session
.
user
.
ent_code
;
var
ent_code
=
req
.
session
.
user
.
ent_code
;
if
(
tid
&&
cid
)
{
if
(
tid
&&
cid
)
{
var
integral
=
req
.
session
.
openUser
.
integral
||
0
;
conmentRaiseOrcancelRaise
(
req
,
ent_code
,
tid
,
cid
,
userId
,
function
(
result
){
var
exp
=
req
.
session
.
openUser
.
exp
||
0
;
res
.
json
(
result
);
//判断是否已经点赞
forumPraiseLogService
.
queryPraiseLog
(
tid
,
cid
,
user
.
getMobileUser
(
req
),
2
,
function
(
err
,
doc
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
//1.检查是否有权限
forumRolePermissionService
.
checkRolePermiss
(
req
.
session
.
user
.
ent_code
,
'raise'
,
integral
,
exp
,
function
(
err
,
result
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
if
(
result
)
{
//有操作权限
//2.获取论坛文章
forumThreadService
.
getThreadById
(
tid
,
function
(
err
,
thread
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
async
.
parallel
([
function
(
callback
)
{
forumCommentService
.
updatePraiseCount
(
cid
,
function
(
err
,
results
)
{
if
(
err
)
{
console
.
log
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
},
function
(
callback
)
{
if
(
doc
)
{
//4.更新点赞日志
forumPraiseLogService
.
updatePraiseLog
(
doc
.
_id
,
0
,
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
else
{
var
entity
=
{
ent_code
:
req
.
session
.
user
.
ent_code
,
user
:
user
.
getMobileUser
(
req
),
thread
:
tid
,
ip
:
req
.
ip
,
comment
:
cid
,
type
:
2
,
status
:
0
};
//4.创建点赞日志
forumPraiseLogService
.
createPraiseLog
(
entity
,
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
}
],
function
(
err
,
results
)
{
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
// forumLimitOperationService.checkLimitOperationProhibitionAddIntegral(userId, function(err, flag){
// if(err){
// console.error(err);
// }else{
// if(!flag){
// httpService.sendRequest(req.session.user.ent_code, req.session.openUser.mid, 'comment_praise');
// }
// }
// });
//更新点赞redis
redisPraiseLog
.
get
(
ent_code
,
userId
,
'comment'
,
function
(
error
,
docs
)
{
var
list
=
docs
;
list
.
push
(
cid
);
redisPraiseLog
.
set
(
ent_code
,
userId
,
'comment'
,
list
,
function
()
{});
});
//返回点赞总数
forumCommentService
.
getCommentById
(
cid
,
function
(
err
,
doc
)
{
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
var
rs
=
{};
rs
.
praise_count
=
doc
.
praise_count
;
res
.
json
(
_
.
assign
(
rs
,
returnCode
.
SUCCESS
));
}
});
}
});
}
});
}
else
{
res
.
json
(
returnCode
.
ACTION_NOT_PERMISSION
);
}
}
});
}
});
});
}
else
{
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
}
...
@@ -1431,87 +1662,25 @@ router.post('/thread/:tid/comment/:cid/cancelRaise', function(req, res, next) {
...
@@ -1431,87 +1662,25 @@ router.post('/thread/:tid/comment/:cid/cancelRaise', function(req, res, next) {
var
mid
=
req
.
session
.
openUser
.
mid
;
var
mid
=
req
.
session
.
openUser
.
mid
;
var
ent_code
=
req
.
session
.
user
.
ent_code
;
var
ent_code
=
req
.
session
.
user
.
ent_code
;
if
(
tid
&&
cid
)
{
if
(
tid
&&
cid
)
{
var
integral
=
req
.
session
.
openUser
.
integral
||
0
;
conmentRaiseOrcancelRaise
(
req
,
ent_code
,
tid
,
cid
,
userId
,
function
(
result
){
var
exp
=
req
.
session
.
openUser
.
exp
||
0
;
res
.
json
(
result
);
//判断是否已经点赞
forumPraiseLogService
.
queryPraiseLog
(
tid
,
cid
,
user
.
getMobileUser
(
req
),
2
,
function
(
err
,
doc
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
if
(
doc
)
{
var
praiseId
=
doc
.
_id
;
//1.检查是否有权限
forumRolePermissionService
.
checkRolePermiss
(
ent_code
,
'raise'
,
integral
,
exp
,
function
(
err
,
result
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
if
(
result
)
{
//有操作权限
//2.获取论坛文章
forumThreadService
.
getThreadById
(
tid
,
function
(
err
,
thread
)
{
if
(
err
)
{
res
.
json
(
returnCode
.
BUSY
);
}
else
{
async
.
parallel
([
function
(
callback
)
{
forumCommentService
.
updatePraiseCountDec
(
cid
,
function
(
err
,
results
)
{
if
(
err
)
{
console
.
log
(
err
);
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
},
function
(
callback
)
{
//4.更新点赞日志
forumPraiseLogService
.
updatePraiseLog
(
praiseId
,
1
,
function
(
err
,
result
)
{
if
(
err
)
{
callback
(
err
,
null
);
}
else
{
callback
(
null
,
null
);
}
});
}
],
function
(
err
,
results
)
{
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
//更新点赞redis
redisPraiseLog
.
get
(
ent_code
,
userId
,
'comment'
,
function
(
error
,
docs
)
{
var
list
=
docs
;
for
(
var
i
=
0
;
i
<
list
.
length
;
i
++
)
{
if
(
list
[
i
].
toString
()
==
cid
)
{
list
.
splice
(
i
,
1
);
break
;
}
}
redisPraiseLog
.
set
(
ent_code
,
userId
,
'comment'
,
list
,
function
()
{});
});
//返回点赞总数
forumCommentService
.
getCommentById
(
cid
,
function
(
err
,
doc
)
{
if
(
err
)
{
console
.
error
(
err
);
res
.
json
(
returnCode
.
BUSY
);
}
else
{
var
rs
=
{};
rs
.
praise_count
=
doc
.
praise_count
;
res
.
json
(
_
.
assign
(
rs
,
returnCode
.
SUCCESS
));
}
});
}
});
}
});
}
else
{
res
.
json
(
returnCode
.
ACTION_NOT_PERMISSION
);
}
}
});
}
}
});
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
//评论点赞和取消点赞
router
.
post
(
'/thread/:tid/comment/:cid/praiseOrCancelPraise'
,
function
(
req
,
res
,
next
)
{
var
userId
=
req
.
session
.
mobileForumUser
.
userId
;
var
tid
=
req
.
params
.
tid
||
null
;
var
cid
=
req
.
params
.
cid
||
null
;
var
mid
=
req
.
session
.
openUser
.
mid
;
var
ent_code
=
req
.
session
.
user
.
ent_code
;
if
(
tid
&&
cid
)
{
conmentRaiseOrcancelRaise
(
req
,
ent_code
,
tid
,
cid
,
userId
,
function
(
result
){
res
.
json
(
result
);
});
}
else
{
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
}
...
...
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