Commit e192c05c authored by 邓军's avatar 邓军

pv/uv log

parent e6ca87b5
......@@ -6,13 +6,14 @@ var express = require('express'),
var mongoose = require('mongoose');
var ForumInfo = mongoose.model('ForumInfo');
var forumInfoService=require('../../service/forumInfoService');
var forumThreadService=require('../../service/forumThreadService');
var forumUserThreadControlService=require('../../service/forumUserThreadControlService');
var forumInfoService = require('../../service/forumInfoService');
var forumThreadService = require('../../service/forumThreadService');
var forumUserThreadControlService = require('../../service/forumUserThreadControlService');
var httpService = require('../../service/httpService');
var user=require('../../utils/user');
var user = require('../../utils/user');
var async=require('async');
var async = require('async');
module.exports = function(app) {
app.use('/v1/forum', router);
......@@ -21,64 +22,88 @@ module.exports = function(app) {
//新增论坛板块
router.post('/info/create', function(req, res, next) {
var rs = {};
req.body.ent_code=req.session.user.ent_code;
forumInfoService.createInfo(req.body,function(err,info){
req.body.ent_code = req.session.user.ent_code;
forumInfoService.createInfo(req.body, function(err, info) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
rs.data = {'id':info._id};
rs.data = {
'id': info._id
};
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
});
//获取目标论坛板块
router.get('/info/:fid/get', function(req, res, next) {
var fid = req.params.fid || null;
//模拟数据
/*req.session.user.ent_code = 100001;
req.session.openUser = {};
req.session.openUser.mid=1;
req.session.mobileForumUser = {
openId: '54c9e321d5037010b44d4b1f',
userId: '54c9e321d5037010b44d4b1f'
};*/
var log = {
ent_code: req.session.user,
mid: req.session.openUser.mid,
forumInfo: fid,
open_id: req.session.mobileForumUser.openId,
user: req.session.mobileForumUser.userId,
type: 2
};
httpService.createLog(log);
if (fid) {
async.waterfall([
function(callback){
function(callback) {
//更新浏览数
forumInfoService.updateInfoPvCount(fid,function(err,result){
if(err){
callback(err,null);
}else{
callback(null,null);
forumInfoService.updateInfoPvCount(fid, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
},
function(data,callback){
forumInfoService.getInfoById(fid,function(err,info){
function(data, callback) {
forumInfoService.getInfoById(fid, function(err, info) {
if (err) {
callback(err,null);
callback(err, null);
} else {
callback(null,info);
callback(null, info);
}
});
},
function(info,callback){
forumThreadService.getAllCountByFid({info:fid},function(err,threadCount){
if(err){
callback(err,null,null);
}else{
callback(null,info,threadCount);
function(info, callback) {
forumThreadService.getAllCountByFid({
info: fid
}, function(err, threadCount) {
if (err) {
callback(err, null, null);
} else {
callback(null, info, threadCount);
}
});
}
],function(err,info,threadCount){
], function(err, info, threadCount) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
var rs={};
var rs = {};
rs.data = info;
rs.data.threadCount=threadCount;
rs.data.threadCount = threadCount;
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
......@@ -86,32 +111,32 @@ router.get('/info/:fid/get', function(req, res, next) {
//更新目标论坛板块
router.post('/info/:fid/update', function(req, res, next) {
var fid=req.params.fid;
if(fid){
forumInfoService.updateInfoById(fid,req.body,function(err,result){
if(err){
var fid = req.params.fid;
if (fid) {
forumInfoService.updateInfoById(fid, req.body, function(err, result) {
if (err) {
res.json(returnCode.BUSY);
}else{
} else {
res.json(returnCode.SUCCESS);
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//删除目标论坛板块
router.post('/info/:fid/delete', function(req, res, next) {
var fid=req.params.fid;
if(fid){
forumInfoService.deleteInfoById(fid,function(err,result){
if(err){
var fid = req.params.fid;
if (fid) {
forumInfoService.deleteInfoById(fid, function(err, result) {
if (err) {
res.json(returnCode.BUSY);
}else{
} else {
res.json(returnCode.SUCCESS);
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
......@@ -126,260 +151,273 @@ router.post('/info/:fid/delete', function(req, res, next) {
router.get('/info/:fid/threads', function(req, res, next) {
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var fid=req.params.fid;
var conditions={
ent_code:req.session.user.ent_code,
level:1
var fid = req.params.fid;
var conditions = {
ent_code: req.session.user.ent_code,
level: 1
};
if(fid){
conditions.info=fid;
if (fid) {
conditions.info = fid;
}
if(fid){
if (fid) {
async.waterfall([
function(callback){
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req),function(err,doc){
if(err){
callback(err,null);
}else{
if(doc){
callback(null,doc);
}else{
callback(null,null);
function(callback) {
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req), function(err, doc) {
if (err) {
callback(err, null);
} else {
if (doc) {
callback(null, doc);
} else {
callback(null, null);
}
}
});
}
],function(err,result){
if(err){
], function(err, result) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
if(result){
conditions._id={$nin:result.thread};
} else {
if (result) {
conditions._id = {
$nin: result.thread
};
}
forumThreadService.getAllThreadByFid(conditions,pageNo,pageSize,null,function(err,results){
if(err){
forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, null, function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
} else {
res.json(_.assign(results, returnCode.SUCCESS));
}
});
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//获取论坛最热文章列表
router.get('/info/:fid/hotThreads', function(req, res, next) {
var fid=req.params.fid || null;
var fid = req.params.fid || null;
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var conditions={
ent_code:req.session.user.ent_code,
level:1,
info:fid
var conditions = {
ent_code: req.session.user.ent_code,
level: 1,
info: fid
};
if(fid){
if (fid) {
async.waterfall([
function(callback){
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req),function(err,doc){
if(err){
callback(err,null);
}else{
if(doc){
callback(null,doc);
}else{
callback(null,null);
function(callback) {
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req), function(err, doc) {
if (err) {
callback(err, null);
} else {
if (doc) {
callback(null, doc);
} else {
callback(null, null);
}
}
});
}
],function(err,result){
if(err){
], function(err, result) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
if(result){
conditions._id={$nin:result.thread};
} else {
if (result) {
conditions._id = {
$nin: result.thread
};
}
forumThreadService.getAllThreadByFid(conditions,pageNo,pageSize,'-comment_count -praise_count',function(err,results){
if(err){
forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, '-comment_count -praise_count', function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
} else {
res.json(_.assign(results, returnCode.SUCCESS));
}
});
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//获取论坛晒图文章列表
router.get('/info/:fid/photoThreads', function(req, res, next) {
var fid=req.params.fid || null;
var fid = req.params.fid || null;
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var conditions={
ent_code:req.session.user.ent_code,
level:1,
info:fid,
type:3
var conditions = {
ent_code: req.session.user.ent_code,
level: 1,
info: fid,
type: 3
};
if(fid){
if (fid) {
async.waterfall([
function(callback){
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req),function(err,doc){
if(err){
callback(err,null);
}else{
if(doc){
callback(null,doc);
}else{
callback(null,null);
function(callback) {
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req), function(err, doc) {
if (err) {
callback(err, null);
} else {
if (doc) {
callback(null, doc);
} else {
callback(null, null);
}
}
});
}
],function(err,result){
if(err){
], function(err, result) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
if(result){
conditions._id={$nin:result.thread};
} else {
if (result) {
conditions._id = {
$nin: result.thread
};
}
forumThreadService.getAllThreadByFid(conditions,pageNo,pageSize,null,function(err,results){
if(err){
forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, null, function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
} else {
res.json(_.assign(results, returnCode.SUCCESS));
}
});
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//获取我的文章列表
router.get('/info/:fid/myThreads', function(req, res, next) {
var fid=req.params.fid || null;
var fid = req.params.fid || null;
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var conditions={
ent_code:req.session.user.ent_code,
from:user.getMobileUser(req),
info:fid
var conditions = {
ent_code: req.session.user.ent_code,
from: user.getMobileUser(req),
info: fid
};
if(fid){
if (fid) {
async.waterfall([
function(callback){
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req),function(err,doc){
if(err){
callback(err,null);
}else{
if(doc){
callback(null,doc);
}else{
callback(null,null);
function(callback) {
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req), function(err, doc) {
if (err) {
callback(err, null);
} else {
if (doc) {
callback(null, doc);
} else {
callback(null, null);
}
}
});
}
],function(err,result){
if(err){
], function(err, result) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
if(result){
conditions._id={$nin:result.thread};
} else {
if (result) {
conditions._id = {
$nin: result.thread
};
}
//获取子话题数据
forumThreadService.getAllThreadByFid(conditions,pageNo,pageSize,'-praise_count',function(err,results){
if(err){
forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, '-praise_count', function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
} else {
res.json(_.assign(results, returnCode.SUCCESS));
}
});
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//搜索文章列表
router.get('/info/:fid/serachThreads', function(req, res, next) {
var fid=req.params.fid || null;
var fid = req.params.fid || null;
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var content=req.query.content;
var content = req.query.content;
var conditions={
ent_code:req.session.user.ent_code,
info:fid
var conditions = {
ent_code: req.session.user.ent_code,
info: fid
};
if(content){
conditions.content={
if (content) {
conditions.content = {
$regex: content,
$options: 'i'
};
}
if(fid){
if (fid) {
async.waterfall([
function(callback){
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req),function(err,doc){
if(err){
callback(err,null);
}else{
if(doc){
callback(null,doc);
}else{
callback(null,null);
function(callback) {
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req), function(err, doc) {
if (err) {
callback(err, null);
} else {
if (doc) {
callback(null, doc);
} else {
callback(null, null);
}
}
});
}
],function(err,result){
if(err){
], function(err, result) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
if(result){
conditions._id={$nin:result.thread};
} else {
if (result) {
conditions._id = {
$nin: result.thread
};
}
//获取子话题数据
forumThreadService.getAllThreadByFid(conditions,pageNo,pageSize,'-praise_count',function(err,results){
if(err){
forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, '-praise_count', function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
} else {
res.json(_.assign(results, returnCode.SUCCESS));
}
});
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
......@@ -7,82 +7,84 @@ var mongoose = require('mongoose');
var ForumThread = mongoose.model('ForumThread');
var ForumComment = mongoose.model('ForumComment');
var forumThreadService=require('../../service/forumThreadService');
var forumRolePermissionService=require('../../service/forumRolePermissionService');
var forumPraiseLogService=require('../../service/forumPraiseLogService');
var forumShareLogService=require('../../service/forumShareLogService');
var forumCommentService=require('../../service/forumCommentService');
var forumUserThreadControlService=require('../../service/forumUserThreadControlService');
var forumThreadService = require('../../service/forumThreadService');
var forumRolePermissionService = require('../../service/forumRolePermissionService');
var forumPraiseLogService = require('../../service/forumPraiseLogService');
var forumShareLogService = require('../../service/forumShareLogService');
var forumCommentService = require('../../service/forumCommentService');
var forumUserThreadControlService = require('../../service/forumUserThreadControlService');
var httpService=require('../../service/httpService');
var httpService = require('../../service/httpService');
var user=require('../../utils/user');
var async=require('async');
var user = require('../../utils/user');
var async = require('async');
module.exports = function(app) {
app.use('/v1/forum', router);
};
function create(req,callback){
var entity=req.body;
function create(req, callback) {
var entity = req.body;
if(entity.pid==''){
entity.pid=null;
if (entity.pid == '') {
entity.pid = null;
}
var address=entity.address || null;
if(address){
entity.address=JSON.parse(address);
var address = entity.address || null;
if (address) {
entity.address = JSON.parse(address);
}
entity.ent_code=req.session.user.ent_code;
entity.from=user.getMobileUser(req);
entity.ent_code = req.session.user.ent_code;
entity.from = user.getMobileUser(req);
//-----------处理前端上传图片开始
//格式为['http://imageurl','http://imageurl'],
//转换为[{urlFileName:'http://imageUrL'},{urlFileName:'http://imageUrL'}]
var images=entity.images;
if(images){
var array=[];
for(var i=0;i<images.length;i=i+1){
var images = entity.images;
if (images) {
var array = [];
for (var i = 0; i < images.length; i = i + 1) {
array.push({
urlFileName:images[i]
urlFileName: images[i]
});
}
entity.images=array;
entity.images = array;
}
//-----------处理前端上传图片结束
forumThreadService.createThread(entity,function(err,entity){
forumThreadService.createThread(entity, function(err, entity) {
if (err) {
console.error(err);
callback(err,null);
callback(err, null);
} else {
callback(null,entity);
callback(null, entity);
}
});
}
//新增论坛文章
router.post('/thread/create', function(req, res, next) {
var integral=req.session.openUser.integral||0;
var exp=req.session.openUser.exp||0;
forumRolePermissionService.checkRolePermiss(req.session.user.ent_code,'create',integral,exp,function(err,result){
if(err){
res.json(returnCode.BUSY);
}else{
if(result){//有操作权限
create(req,function(err,thread){
if(err){
res.json(returnCode.BUSY);
}else{
httpService.sendRequest(req.session.user.ent_code,req.session.openUser.mid,'post');
var integral = req.session.openUser.integral || 0;
var exp = req.session.openUser.exp || 0;
forumRolePermissionService.checkRolePermiss(req.session.user.ent_code, 'create', integral, exp, function(err, result) {
if (err) {
res.json(returnCode.BUSY);
} else {
if (result) { //有操作权限
create(req, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
} else {
httpService.sendRequest(req.session.user.ent_code, req.session.openUser.mid, 'post');
var rs = {};
rs.data = {'id':thread._id};
rs.data = {
'id': thread._id
};
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
}else{
} else {
res.json(returnCode.ACTION_NOT_PERMISSION);
}
}
......@@ -92,69 +94,92 @@ router.post('/thread/create', function(req, res, next) {
//获取目标论坛文章
router.get('/thread/:tid/get', function(req, res, next) {
var tid = req.params.tid || null;
if(tid){
if (tid) {
async.waterfall([
function(callback){
forumThreadService.updateThreadPvCount(tid,function(err,doc){
if(err){
callback(err,null);
}else{
callback(null,null);
function(callback) {
forumThreadService.updateThreadPvCount(tid, function(err, doc) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
},
function(data,callback){
forumThreadService.getThreadById(tid,function(err,thread){
if(err){
callback(err,null);
}else{
callback(null,thread);
function(data, callback) {
forumThreadService.getThreadById(tid, function(err, thread) {
var log = {
ent_code: req.session.user,
mid: req.session.openUser.mid,
forumInfo: tid,
open_id: req.session.mobileForumUser.openId,
user: req.session.mobileForumUser.userId,
type: 3,
thread_type: 2
};
if (thread.type == 1) {
log.thread_type = 2;
httpService.createLog(log);
}else if(thread.type==2&&thread.level==1){
log.thread_type = 1;
httpService.createLog(log);
}else if(thread.type==2&&thread.level==2){
log.thread_type = 4;
httpService.createLog(log);
}else if(thread.type==3){
log.thread_type = 3;
httpService.createLog(log);
}
if (err) {
callback(err, null);
} else {
callback(null, thread);
}
});
},
],function(err,thread){
if(err){
], function(err, thread) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
} else {
var rs = {};
rs.data = thread;
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//更新文章状态、如:屏蔽
router.post('/thread/:tid/update', function(req, res, next) {
var tid=req.params.tid;
if(tid){
forumThreadService.updateThreadById(tid,req.body,function(err,thread){
if(err){
var tid = req.params.tid;
if (tid) {
forumThreadService.updateThreadById(tid, req.body, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
}else{
} else {
res.json(returnCode.SUCCESS);
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//删除文章
router.post('/thread/:tid/delete', function(req, res, next) {
var tid=req.params.tid;
if(tid){
forumThreadService.deleteThreadById(tid,function(err,thread){
if(err){
var tid = req.params.tid;
if (tid) {
forumThreadService.deleteThreadById(tid, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
}else{
} else {
res.json(returnCode.SUCCESS);
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
......@@ -162,82 +187,83 @@ router.post('/thread/:tid/delete', function(req, res, next) {
//文章点赞
router.post('/thread/:tid/raise', function(req, res, next) {
var tid = req.params.tid || null;
if(tid){
var integral=req.session.openUser.integral||0;
var exp=req.session.openUser.exp||0;
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,logs){
if(err){
forumPraiseLogService.queryPraiseLog(tid, null, user.getMobileUser(req), 1, function(err, logs) {
if (err) {
res.json(returnCode.BUSY);
}else{
if(logs && logs.length>0){
} else {
if (logs && logs.length > 0) {
res.json(returnCode.CAN_NOT_RAISE_REPEAT);
}else{
} else {
//1.检查是否有权限
forumRolePermissionService.checkRolePermiss(req.session.user.ent_code,'raise',integral,exp,function(err,result){
if(err){
forumRolePermissionService.checkRolePermiss(req.session.user.ent_code, 'raise', integral, exp, function(err, result) {
if (err) {
res.json(returnCode.BUSY);
}else{
if(result){//有操作权限
} else {
if (result) { //有操作权限
//2.获取论坛文章
forumThreadService.getThreadById(tid,function(err,thread){
if(err){
forumThreadService.getThreadById(tid, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
}else{
} else {
async.parallel([
function(callback){
function(callback) {
//3.更新文章统计数据(点赞数)
if(thread){
forumThreadService.updateThreadRaiseCount(tid,function(err,cb){
if(err){
callback(err,null);
}else{
callback(null,null);
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);
} else {
callback('cannot find thread by id', null);
}
},
function(callback){
var entity={
ent_code:req.session.user.ent_code,
user:user.getMobileUser(req),
thread:tid,
ip:req.ip,
comment:null,
type:1
function(callback) {
var entity = {
ent_code: req.session.user.ent_code,
user: user.getMobileUser(req),
thread: tid,
ip: req.ip,
comment: null,
type: 1
};
//4.创建点赞日志
forumPraiseLogService.createPraiseLog(entity,function(err,result){
if(err){
callback(err,null);
}else{
callback(null,null);
forumPraiseLogService.createPraiseLog(entity, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}],function(err,results){
if(err){
}
], function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
httpService.sendRequest(req.session.user.ent_code,req.session.openUser.mid,'thread_praise');
forumThreadService.getThreadById(tid,function(err,doc){
if(err){
} else {
httpService.sendRequest(req.session.user.ent_code, req.session.openUser.mid, 'thread_praise');
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 {
var rs = {};
rs.praise_count = doc.praise_count;
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
}
});
}
});
}else{
} else {
res.json(returnCode.ACTION_NOT_PERMISSION);
}
}
......@@ -246,7 +272,7 @@ router.post('/thread/:tid/raise', function(req, res, next) {
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
......@@ -254,70 +280,70 @@ router.post('/thread/:tid/raise', function(req, res, next) {
//文章分享
router.post('/thread/:tid/share', function(req, res, next) {
var tid = req.params.tid || null;
if(tid){
var integral=req.session.openUser.integral||0;
var exp=req.session.openUser.exp||0;
var destination=req.body.destination||'1';
if (tid) {
var integral = req.session.openUser.integral || 0;
var exp = req.session.openUser.exp || 0;
var destination = req.body.destination || '1';
//1.检查是否有权限
forumRolePermissionService.checkRolePermiss(req.session.user.ent_code,'share',integral,exp,function(err,result){
if(err){
forumRolePermissionService.checkRolePermiss(req.session.user.ent_code, 'share', integral, exp, function(err, result) {
if (err) {
res.json(returnCode.BUSY);
}else{
if(result){//有操作权限
} else {
if (result) { //有操作权限
//2.获取论坛文章
forumThreadService.getThreadById(tid,function(err,thread){
if(err){
forumThreadService.getThreadById(tid, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
}else{
} else {
async.parallel([
function(callback){
function(callback) {
//3.更新文章统计数据(分享数)
if(thread){
forumThreadService.updateThreadShareCount(tid,function(err,cb){
if(err){
callback(err,null);
}else{
callback(null,null);
if (thread) {
forumThreadService.updateThreadShareCount(tid, function(err, cb) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}else{
callback('cannot find thread by id',null);
} else {
callback('cannot find thread by id', null);
}
},
function(callback){
var entity={
ent_code:req.session.user.ent_code,
user:user.getMobileUser(req),
thread:tid,
destination:destination,
ip:req.ip
function(callback) {
var entity = {
ent_code: req.session.user.ent_code,
user: user.getMobileUser(req),
thread: tid,
destination: destination,
ip: req.ip
};
//4.创建分享日志
forumShareLogService.createShareLog(entity,function(err,result){
if(err){
callback(err,null);
}else{
callback(null,null);
forumShareLogService.createShareLog(entity, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}
],function(err,results){
if(err){
], function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
} else {
// httpService.sendRequest(req.session.user.ent_code,req.session.openUser.mid,'share');
res.json(returnCode.SUCCESS);
}
});
}
});
}else{
} else {
res.json(returnCode.ACTION_NOT_PERMISSION);
}
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
......@@ -325,113 +351,115 @@ router.post('/thread/:tid/share', function(req, res, next) {
//新增文章评论
router.post('/thread/:tid/comment/create', function(req, res, next) {
var tid = req.params.tid || null;
if(tid){
var integral=req.session.openUser.integral||0;
var exp=req.session.openUser.exp||0;
var destination=req.body.destination||'1';
if (tid) {
var integral = req.session.openUser.integral || 0;
var exp = req.session.openUser.exp || 0;
var destination = req.body.destination || '1';
//1.检查是否有权限
forumRolePermissionService.checkRolePermiss(req.session.user.ent_code,'comment',integral,exp,function(err,result){
if(err){
forumRolePermissionService.checkRolePermiss(req.session.user.ent_code, 'comment', integral, exp, function(err, result) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
if(result){//有操作权限
var content=req.body.content;
if(content){//评论不能为空
} else {
if (result) { //有操作权限
var content = req.body.content;
if (content) { //评论不能为空
//2.获取论坛文章
forumThreadService.getThreadById(tid,function(err,thread){
if(err){
forumThreadService.getThreadById(tid, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
}else{
} else {
async.parallel([
function(callback){
var entity={
ent_code:req.session.user.ent_code,
from:user.getMobileUser(req),
content:content,
ip:req.ip,
thread:thread,
level:'1'
function(callback) {
var entity = {
ent_code: req.session.user.ent_code,
from: user.getMobileUser(req),
content: content,
ip: req.ip,
thread: thread,
level: '1'
};
//4.创建文章评论
forumCommentService.createComment(entity,function(err,newComment){
if(err){
callback(err,null);
}else{
var comments=thread.comments;
forumCommentService.createComment(entity, function(err, newComment) {
if (err) {
callback(err, null);
} else {
var comments = thread.comments;
// console.log('=========');
// console.log(comments);
// console.log('=========');
var array=[];
if(comments && comments.items && comments.items.length>0){
array=comments.items;
var array = [];
if (comments && comments.items && comments.items.length > 0) {
array = comments.items;
}
array.push(newComment._id);
forumThreadService.updateThreadById(tid,{comments:array},function(err,result){
if(err){
callback(err,null);
}else{
callback(null,null);
forumThreadService.updateThreadById(tid, {
comments: array
}, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}
});
},
function(callback){
function(callback) {
//3.更新文章统计数据(评论数)
if(thread){
forumThreadService.updateThreadCommentCount(tid,function(err,results){
if(err){
if (thread) {
forumThreadService.updateThreadCommentCount(tid, function(err, results) {
if (err) {
console.log(err);
callback(err,null);
}else{
callback(null,null);
callback(err, null);
} else {
callback(null, null);
}
});
}else{
callback('cannot find thread by id',null);
} else {
callback('cannot find thread by id', null);
}
}
],function(err,results){
if(err){
], function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
httpService.sendRequest(req.session.user.ent_code,req.session.openUser.mid,'comment');
} else {
httpService.sendRequest(req.session.user.ent_code, req.session.openUser.mid, 'comment');
async.parallel([
function(callback){
function(callback) {
//获取最新5条评论
var conditions={
thread:tid,
level:'1'
var conditions = {
thread: tid,
level: '1'
};
forumCommentService.getAllComment(conditions,1,5,function(err,results){
if(err){
forumCommentService.getAllComment(conditions, 1, 5, function(err, results) {
if (err) {
console.log(err);
callback(err,null);
}else{
callback(null,results);
callback(err, null);
} else {
callback(null, results);
}
});
},
function(callback){
forumThreadService.getThreadById(tid,function(err,thread){
if(err){
function(callback) {
forumThreadService.getThreadById(tid, function(err, thread) {
if (err) {
console.log(err);
callback(err,null);
}else{
callback(null,thread);
callback(err, null);
} else {
callback(null, thread);
}
});
}
],function(err,results){
if(err){
], function(err, results) {
if (err) {
res.json(returnCode.BUSY);
}else{
var rs={};
rs.comments=results[0].items;
rs.commentCount=results[1].comment_count;
res.json(_.assign(rs,returnCode.SUCCESS));
} else {
var rs = {};
rs.comments = results[0].items;
rs.commentCount = results[1].comment_count;
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
......@@ -439,15 +467,15 @@ router.post('/thread/:tid/comment/create', function(req, res, next) {
});
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
}else{
} else {
res.json(returnCode.ACTION_NOT_PERMISSION);
}
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
......@@ -455,83 +483,88 @@ router.post('/thread/:tid/comment/create', function(req, res, next) {
//新建文章评论的子评论
router.post('/thread/:tid/comment/:cid/create', function(req, res, next) {
var tid = req.params.tid || null;
var cid=req.params.cid || null;
if(tid && cid){
var integral=req.session.openUser.integral||0;
var exp=req.session.openUser.exp||0;
var destination=req.body.destination||'1';
req.body.from=user.getMobileUser(req);
var cid = req.params.cid || null;
if (tid && cid) {
var integral = req.session.openUser.integral || 0;
var exp = req.session.openUser.exp || 0;
var destination = req.body.destination || '1';
req.body.from = user.getMobileUser(req);
//1.检查是否有权限
forumRolePermissionService.checkRolePermiss(req.session.user.ent_code,'reply',integral,exp,function(err,result){
if(err){
forumRolePermissionService.checkRolePermiss(req.session.user.ent_code, 'reply', integral, exp, function(err, result) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
if(result){//有操作权限
var content=req.body.content;
if(content){//评论不能为空
} else {
if (result) { //有操作权限
var content = req.body.content;
if (content) { //评论不能为空
//2.获取论坛评论
forumCommentService.getCommentById(cid,function(err,comment){
if(err){
forumCommentService.getCommentById(cid, function(err, comment) {
if (err) {
res.json(returnCode.BUSY);
}else{
} else {
async.parallel([
function(callback){
var entity={
ent_code:req.session.user.ent_code,
from:user.getMobileUser(req),
to:req.body.to,
content:content,
ip:req.ip,
thread:tid,
level:'2'
function(callback) {
var entity = {
ent_code: req.session.user.ent_code,
from: user.getMobileUser(req),
to: req.body.to,
content: content,
ip: req.ip,
thread: tid,
level: '2'
};
//4.创建文章评论
forumCommentService.createComment(entity,function(err,newComment){
if(err){
callback(err,null);
}else{
var comments=comment.comments;
var array=[];
if(comments && comments.length>0){
array=comments;
forumCommentService.createComment(entity, function(err, newComment) {
if (err) {
callback(err, null);
} else {
var comments = comment.comments;
var array = [];
if (comments && comments.length > 0) {
array = comments;
}
array.push(newComment._id);
forumCommentService.updateCommentById(cid,{comments:array},function(err,result){
if(err){
callback(err,null);
}else{
callback(null,newComment);
forumCommentService.updateCommentById(cid, {
comments: array
}, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, newComment);
}
});
}
});
},
function(callback){
forumCommentService.updateCommentCount(cid,function(err,results){
if(err){
function(callback) {
forumCommentService.updateCommentCount(cid, function(err, results) {
if (err) {
console.log(err);
callback(err,null);
}else{
callback(null,null);
callback(err, null);
} else {
callback(null, null);
}
});
}
],function(err,results){
if(err){
], function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
httpService.sendRequest(req.session.user.ent_code,req.session.openUser.mid,'reply');
ForumComment.populate(results[0], {path:'from to', select:'uid nickName icon comments'} , function(err, c){
if(err){
} else {
httpService.sendRequest(req.session.user.ent_code, req.session.openUser.mid, 'reply');
ForumComment.populate(results[0], {
path: 'from to',
select: 'uid nickName icon comments'
}, function(err, c) {
if (err) {
res.json(returnCode.BUSY);
}else{
} else {
var rs={};
rs.data=results[0];
res.json(_.assign(rs,returnCode.SUCCESS));
var rs = {};
rs.data = results[0];
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
// res.json(returnCode.SUCCESS);
......@@ -539,15 +572,15 @@ router.post('/thread/:tid/comment/:cid/create', function(req, res, next) {
});
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
}else{
} else {
res.json(returnCode.ACTION_NOT_PERMISSION);
}
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
......@@ -555,144 +588,145 @@ router.post('/thread/:tid/comment/:cid/create', function(req, res, next) {
//删除文章评论
router.post('/thread/:tid/comment/:cid/delete', function(req, res, next) {
var tid = req.params.tid || null;
var cid=req.params.cid || null;
if(tid && cid){
forumCommentService.getCommentById(cid,function(err,result){
if(err){
var cid = req.params.cid || null;
if (tid && cid) {
forumCommentService.getCommentById(cid, function(err, result) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
if(result){
if(result.from===user.getMobileUser(req)){
} else {
if (result) {
if (result.from === user.getMobileUser(req)) {
async.parallel([
function(callback){
forumCommentService.deleteCommentById(cid,function(err,result){
if(err){
callback(err,null);
}else{
callback(null,null);
function(callback) {
forumCommentService.deleteCommentById(cid, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}
],function(err,results){
if(err){
], function(err, results) {
if (err) {
res.json(returnCode.BUSY);
}else{
} else {
res.json(returnCode.SUCCESS);
}
});
}else{
} else {
res.json(returnCode.ACTION_NOT_PERMISSION);
}
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//评论列表
router.get('/thread/:tid/comment/list', function(req, res, next) {
var tid=req.params.tid || null;
var tid = req.params.tid || null;
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var conditions={
ent_code:req.session.user.ent_code,
thread:tid,
level:'1'
var conditions = {
ent_code: req.session.user.ent_code,
thread: tid,
level: '1'
};
if(tid){
if (tid) {
//获取最新5条评论
forumCommentService.getAllComment(conditions,pageNo,pageSize,function(err,results){
if(err){
forumCommentService.getAllComment(conditions, pageNo, pageSize, function(err, results) {
if (err) {
console.log(err);
res.json(returnCode.BUSY);
}else{
} else {
res.json(_.assign(results, returnCode.SUCCESS));
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//评论点赞
router.post('/thread/:tid/comment/:cid/raise', function(req, res, next) {
var tid=req.params.tid || null;
var cid=req.params.cid || null;
var tid = req.params.tid || null;
var cid = req.params.cid || null;
if(tid && cid){
if (tid && cid) {
var integral=req.session.openUser.integral||0;
var exp=req.session.openUser.exp||0;
var integral = req.session.openUser.integral || 0;
var exp = req.session.openUser.exp || 0;
//判断是否已经点赞
forumPraiseLogService.queryPraiseLog(tid,cid,user.getMobileUser(req),2,function(err,logs){
if(err){
forumPraiseLogService.queryPraiseLog(tid, cid, user.getMobileUser(req), 2, function(err, logs) {
if (err) {
res.json(returnCode.BUSY);
}else{
if(logs && logs.length>0){
} else {
if (logs && logs.length > 0) {
res.json(returnCode.CAN_NOT_RAISE_REPEAT);
}else{
} else {
//1.检查是否有权限
forumRolePermissionService.checkRolePermiss(req.session.user.ent_code,'raise',integral,exp,function(err,result){
if(err){
forumRolePermissionService.checkRolePermiss(req.session.user.ent_code, 'raise', integral, exp, function(err, result) {
if (err) {
res.json(returnCode.BUSY);
}else{
if(result){//有操作权限
} else {
if (result) { //有操作权限
//2.获取论坛文章
forumThreadService.getThreadById(tid,function(err,thread){
if(err){
forumThreadService.getThreadById(tid, function(err, thread) {
if (err) {
res.json(returnCode.BUSY);
}else{
} else {
async.parallel([
function(callback){
forumCommentService.updatePraiseCount(cid,function(err,results){
if(err){
function(callback) {
forumCommentService.updatePraiseCount(cid, function(err, results) {
if (err) {
console.log(err);
callback(err,null);
}else{
callback(null,null);
callback(err, null);
} else {
callback(null, null);
}
});
},
function(callback){
var entity={
ent_code:req.session.user.ent_code,
user:user.getMobileUser(req),
thread:tid,
ip:req.ip,
comment:cid,
type:2
function(callback) {
var entity = {
ent_code: req.session.user.ent_code,
user: user.getMobileUser(req),
thread: tid,
ip: req.ip,
comment: cid,
type: 2
};
//4.创建点赞日志
forumPraiseLogService.createPraiseLog(entity,function(err,result){
if(err){
callback(err,null);
}else{
callback(null,null);
forumPraiseLogService.createPraiseLog(entity, function(err, result) {
if (err) {
callback(err, null);
} else {
callback(null, null);
}
});
}],function(err,results){
if(err){
}
], function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
httpService.sendRequest(req.session.user.ent_code,req.session.openUser.mid,'comment_praise');
} else {
httpService.sendRequest(req.session.user.ent_code, req.session.openUser.mid, 'comment_praise');
//返回点赞总数
forumCommentService.getCommentById(cid,function(err,doc){
if(err){
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 {
var rs = {};
rs.praise_count = doc.praise_count;
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
......@@ -700,7 +734,7 @@ router.post('/thread/:tid/comment/:cid/raise', function(req, res, next) {
});
}
});
}else{
} else {
res.json(returnCode.ACTION_NOT_PERMISSION);
}
}
......@@ -709,7 +743,7 @@ router.post('/thread/:tid/comment/:cid/raise', function(req, res, next) {
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
......@@ -717,195 +751,201 @@ router.post('/thread/:tid/comment/:cid/raise', function(req, res, next) {
//用户屏蔽文章
router.post('/thread/:tid/userShield', function(req, res, next) {
var tid = req.params.tid || null;
if(tid){
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req),function(err,doc){
if(err){
if (tid) {
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req), function(err, doc) {
if (err) {
res.json(returnCode.BUSY);
}else{
if(doc){
var thread=doc.thread;
} else {
if (doc) {
var thread = doc.thread;
thread.push(tid);
forumUserThreadControlService.updateUserThreadControlById(doc._id,{thread:thread},function(err,result){
if(err){
forumUserThreadControlService.updateUserThreadControlById(doc._id, {
thread: thread
}, function(err, result) {
if (err) {
res.json(returnCode.BUSY);
}else{
} else {
res.json(returnCode.SUCCESS);
}
});
}else{
var array=[tid];
var entity={
ent_code:req.session.user.ent_code,
user:user.getMobileUser(req),
thread:array
} else {
var array = [tid];
var entity = {
ent_code: req.session.user.ent_code,
user: user.getMobileUser(req),
thread: array
};
forumUserThreadControlService.createUserThreadControl(entity,function(err,result){
if(err){
forumUserThreadControlService.createUserThreadControl(entity, function(err, result) {
if (err) {
res.json(returnCode.BUSY);
}else{
} else {
res.json(returnCode.SUCCESS);
}
});
}
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//获取论坛话题列表
router.get('/thread/:tid/topics', function(req, res, next) {
var tid=req.params.tid || null;
var tid = req.params.tid || null;
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var conditions={
ent_code:req.session.user.ent_code,
pid:tid,
type:2
var conditions = {
ent_code: req.session.user.ent_code,
pid: tid,
type: 2
};
if(tid){
if (tid) {
async.waterfall([
function(callback){
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req),function(err,doc){
if(err){
callback(err,null);
}else{
if(doc){
callback(null,doc);
}else{
callback(null,null);
function(callback) {
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req), function(err, doc) {
if (err) {
callback(err, null);
} else {
if (doc) {
callback(null, doc);
} else {
callback(null, null);
}
}
});
}
],function(err,result){
if(err){
], function(err, result) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
if(result){
conditions._id={$nin:result.thread};
} else {
if (result) {
conditions._id = {
$nin: result.thread
};
}
//获取子话题数据
forumThreadService.getAllThreadByFid(conditions,pageNo,pageSize,null,function(err,results){
if(err){
forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, null, function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
} else {
res.json(_.assign(results, returnCode.SUCCESS));
}
});
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//获取论坛最新照片墙列表
router.get('/thread/:tid/latestPhotos', function(req, res, next) {
var tid=req.params.tid || null;
var tid = req.params.tid || null;
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var conditions={
ent_code:req.session.user.ent_code,
pid:tid,
type:3
var conditions = {
ent_code: req.session.user.ent_code,
pid: tid,
type: 3
};
if(tid){
if (tid) {
async.waterfall([
function(callback){
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req),function(err,doc){
if(err){
callback(err,null);
}else{
if(doc){
callback(null,doc);
}else{
callback(null,null);
function(callback) {
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req), function(err, doc) {
if (err) {
callback(err, null);
} else {
if (doc) {
callback(null, doc);
} else {
callback(null, null);
}
}
});
}
],function(err,result){
if(err){
], function(err, result) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
if(result){
conditions._id={$nin:result.thread};
} else {
if (result) {
conditions._id = {
$nin: result.thread
};
}
//获取子话题数据
forumThreadService.getAllThreadByFid(conditions,pageNo,pageSize,'-created',function(err,results){
if(err){
forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, '-created', function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
} else {
res.json(_.assign(results, returnCode.SUCCESS));
}
});
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//获取论坛最热照片墙列表
router.get('/thread/:tid/hotPhotos', function(req, res, next) {
var tid=req.params.tid || null;
var tid = req.params.tid || null;
var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10;
var conditions={
ent_code:req.session.user.ent_code,
pid:tid,
type:3
var conditions = {
ent_code: req.session.user.ent_code,
pid: tid,
type: 3
};
if(tid){
if (tid) {
async.waterfall([
function(callback){
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req),function(err,doc){
if(err){
callback(err,null);
}else{
if(doc){
callback(null,doc);
}else{
callback(null,null);
function(callback) {
forumUserThreadControlService.getUserThreadControlById(user.getMobileUser(req), function(err, doc) {
if (err) {
callback(err, null);
} else {
if (doc) {
callback(null, doc);
} else {
callback(null, null);
}
}
});
}
],function(err,result){
if(err){
], function(err, result) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
if(result){
conditions._id={$nin:result.thread};
} else {
if (result) {
conditions._id = {
$nin: result.thread
};
}
//获取子话题数据
forumThreadService.getAllThreadByFid(conditions,pageNo,pageSize,'-praise_count',function(err,results){
if(err){
forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, '-praise_count', function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
}else{
} else {
res.json(_.assign(results, returnCode.SUCCESS));
}
});
}
});
}else{
} else {
res.json(returnCode.WRONG_PARAM);
}
});
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment