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
eb7e5212
Commit
eb7e5212
authored
Nov 25, 2015
by
陈家荣
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改点赞和取消点赞
parent
33171aee
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
367 additions
and
191 deletions
+367
-191
forumThread.js
app/controllers/mobile/forumThread.js
+367
-191
No files found.
app/controllers/mobile/forumThread.js
View file @
eb7e5212
...
...
@@ -98,6 +98,151 @@ 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
);
// res.json(returnCode.BUSY);
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
);
// res.json(returnCode.BUSY);
callback
(
returnCode
.
BUSY
);
}
else
{
var
rs
=
{};
rs
.
praise_count
=
doc
.
praise_count
;
// res.json(_.assign(rs, returnCode.SUCCESS));
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
;
callback
(
_
.
assign
(
rs
,
returnCode
.
SUCCESS
));
}
});
}
});
}
else
{
callback
(
returnCode
.
BUSY
);
}
});
}
});
}
//根据发帖者分页查询话题列表
router
.
get
(
'/thread/searchThread'
,
function
(
req
,
res
,
next
)
{
...
...
@@ -375,6 +520,223 @@ 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
)
{
var
userId
=
req
.
session
.
mobileForumUser
.
userId
;
...
...
@@ -382,113 +744,9 @@ router.post('/thread/:tid/raise', function(req, res, next) {
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
);
}
}
});
}
raiseOrcancelRaise
(
req
,
ent_code
,
tid
,
userId
,
function
(
result
){
res
.
json
(
result
);
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
...
...
@@ -501,97 +759,15 @@ router.post('/thread/:tid/cancelRaise', function(req, res, next) {
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
);
}
}
});
}
}
raiseOrcancelRaise
(
req
,
ent_code
,
tid
,
userId
,
function
(
result
){
res
.
json
(
result
);
});
}
else
{
res
.
json
(
returnCode
.
WRONG_PARAM
);
}
});
//文章分享
router
.
post
(
'/thread/:tid/share'
,
function
(
req
,
res
,
next
)
{
var
tid
=
req
.
params
.
tid
||
null
;
...
...
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