Commit 1981c34d authored by 陈家荣's avatar 陈家荣

Merge branch 'development' of git.wxpai.cn:scrmgroup/pisns-forum-api into development

Conflicts:
	app/controllers/admin/forumThread.js
parents c917666e 5e7e080d
...@@ -5,7 +5,6 @@ var express = require('express'), ...@@ -5,7 +5,6 @@ var express = require('express'),
_ = require('lodash'); _ = require('lodash');
var ForumBlackListService=require('../../service/forumBlackListService'); var ForumBlackListService=require('../../service/forumBlackListService');
var ForumUserService=require('../../service/forumUserService');
module.exports = function(app) { module.exports = function(app) {
app.use('/admin/forum', router); app.use('/admin/forum', router);
...@@ -16,7 +15,7 @@ router.post('/blacklist', function(req, res, next) { ...@@ -16,7 +15,7 @@ router.post('/blacklist', function(req, res, next) {
var ent_code=req.session.user.ent_code; var ent_code=req.session.user.ent_code;
ForumBlackListService.addBlack(req.body,ent_code,function(err,result){ ForumBlackListService.addBlack(req.body,ent_code,function(err,result){
if(err){ if(err){
res.json(returnCode.BUSY); res.json(returnCode.UNCHECK_ERROR(err));
}else{ }else{
res.json(_.assign(result, returnCode.SUCCESS)); res.json(_.assign(result, returnCode.SUCCESS));
} }
...@@ -104,7 +103,8 @@ router.post('/blacklist/:id', function(req, res, next) { ...@@ -104,7 +103,8 @@ router.post('/blacklist/:id', function(req, res, next) {
router.get('/userList', function(req, res, next) { router.get('/userList', function(req, res, next) {
var obj={total:0}; var obj={total:0};
obj.items=[]; obj.items=[];
ForumUserService.getUsers(req.query.pageNo,req.query.pageSize, var ent_code=req.session.user.ent_code;
ForumBlackListService.getNotBlackUsers(ent_code,req.query.pageNo,req.query.pageSize,
function(err,result){ function(err,result){
if(err){ if(err){
res.json(returnCode.BUSY); res.json(returnCode.BUSY);
......
...@@ -7,6 +7,7 @@ var mongoose = require('mongoose'); ...@@ -7,6 +7,7 @@ var mongoose = require('mongoose');
var ForumTag = mongoose.model('ForumTag'); var ForumTag = mongoose.model('ForumTag');
var forumTagService=require('../../service/forumTagService'); var forumTagService=require('../../service/forumTagService');
var forumThreadService=require('../../service/forumThreadService');
module.exports = function(app) { module.exports = function(app) {
app.use('/admin/forum', router); app.use('/admin/forum', router);
...@@ -27,6 +28,20 @@ router.post('/tag/create', function(req, res, next) { ...@@ -27,6 +28,20 @@ router.post('/tag/create', function(req, res, next) {
}); });
}); });
//标签置顶
router.get('/tag/:tid/top',function(req,res,next){
var tid = req.params.tid;
var tag_top = req.query.tag_top;
forumThreadService.updateTagTop(tid,tag_top,function(err,result){
if(err){
console.error(err);
res.json(returnCode.BUSY);
}else{
res.json(_.assign(result, returnCode.SUCCESS));
}
});
});
//删除论坛标签 //删除论坛标签
router.post('/tag/:tid/delete', function(req, res, next) { router.post('/tag/:tid/delete', function(req, res, next) {
var tid=req.params.tid; var tid=req.params.tid;
......
...@@ -133,6 +133,7 @@ router.get('/info/:fid/threads', function(req, res, next) { ...@@ -133,6 +133,7 @@ router.get('/info/:fid/threads', function(req, res, next) {
var pageNo = req.query.pageNo || 1; var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10; var pageSize = req.query.pageSize || 10;
var fid = req.params.fid; var fid = req.params.fid;
var sort = '-top -topTime -created'
var conditions = { var conditions = {
ent_code: req.session.user.ent_code, ent_code: req.session.user.ent_code,
level: 1 level: 1
...@@ -165,7 +166,7 @@ router.get('/info/:fid/threads', function(req, res, next) { ...@@ -165,7 +166,7 @@ router.get('/info/:fid/threads', function(req, res, next) {
$nin: result.thread $nin: result.thread
}; };
} }
forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, null, function(err, results) { forumThreadService.getAllThreadByFid(conditions, pageNo, pageSize, sort, function(err, results) {
if (err) { if (err) {
console.error(err); console.error(err);
res.json(returnCode.BUSY); res.json(returnCode.BUSY);
......
...@@ -51,11 +51,14 @@ router.get('/tag/mobileList', function(req, res, next) { ...@@ -51,11 +51,14 @@ router.get('/tag/mobileList', function(req, res, next) {
}); });
}); });
//查询标签下的文章列表 //查询标签下的文章列表
router.get('/tag/:tid/threads', function(req, res, next) { router.get('/tag/:tid/threads', function(req, res, next) {
var pageNo = req.query.pageNo || 1; var pageNo = req.query.pageNo || 1;
var pageSize = req.query.pageSize || 10; var pageSize = req.query.pageSize || 10;
var tid=req.params.tid; var tid=req.params.tid;
var sort = '-tag_top -tag_topTime -created';
var conditions={ var conditions={
ent_code:req.session.user.ent_code ent_code:req.session.user.ent_code
}; };
...@@ -84,7 +87,7 @@ router.get('/tag/:tid/threads', function(req, res, next) { ...@@ -84,7 +87,7 @@ router.get('/tag/:tid/threads', function(req, res, next) {
if(result){ if(result){
conditions._id={$nin:result.thread}; conditions._id={$nin:result.thread};
} }
forumThreadService.getAllThreadByFid(conditions,pageNo,pageSize,null,function(err,results){ forumThreadService.getAllThreadByFid(conditions,pageNo,pageSize,sort,function(err,results){
if(err){ if(err){
console.error(err); console.error(err);
res.json(returnCode.BUSY); res.json(returnCode.BUSY);
......
...@@ -60,6 +60,14 @@ var ForumThreadSchema = new Schema({ ...@@ -60,6 +60,14 @@ var ForumThreadSchema = new Schema({
}, },
topTime:{//置顶时间 topTime:{//置顶时间
type: Date type: Date
}
,tag_top: { //标签话题是否置顶0否,1是
type: Number,
require: true,
default: 0
},
tag_topTime:{//标签话题置顶时间
type: Date
}, },
tag: [{type: Schema.Types.ObjectId, ref: 'ForumTag'}],//话题归属标签, tag: [{type: Schema.Types.ObjectId, ref: 'ForumTag'}],//话题归属标签,
comments: [{type: Schema.Types.ObjectId, ref: 'ForumComment'}], //评论内容列表 comments: [{type: Schema.Types.ObjectId, ref: 'ForumComment'}], //评论内容列表
......
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
var mongoose = require('mongoose'); var mongoose = require('mongoose');
var BlackList = mongoose.model('BlackList'); var BlackList = mongoose.model('BlackList');
var ForumUserService = require("./forumUserService"); var ForumUserService = require("./forumUserService");
var ForumUser = mongoose.model('ForumUser');
var async=require('async'); var async=require('async');
...@@ -49,7 +50,35 @@ exports.addBlack = function(blackList,entcode,callback){ ...@@ -49,7 +50,35 @@ exports.addBlack = function(blackList,entcode,callback){
return callback && callback('bad args'); return callback && callback('bad args');
} }
blackList.ent_code = entcode; blackList.ent_code = entcode;
async.waterfall([function(cb) { async.waterfall([function(cb){//判断是否存在openid
var condition = {ent_code:entcode};
if(blackList.blackOpenId){
condition.blackOpenId = blackList.blackOpenId;
BlackList.count(condition,function(err,count){
if(count && count>0){
console.log(condition);
return callback && callback('已经存在的记录');
}
cb();
});
}else{
cb();
}
},function(cb){//判断是否存在uid
var condition = {ent_code:entcode};
if(blackList.uid){
condition.blackUser = blackList.uid;
BlackList.count(condition,function(err,count){
if(count && count>0){
console.log(condition);
return callback && callback('已经存在的记录');
}
cb();
});
}else{
cb();
}
},function(cb) {
var uid =blackList.uid; var uid =blackList.uid;
delete blackList.uid; delete blackList.uid;
if(!!!uid){ if(!!!uid){
...@@ -70,7 +99,7 @@ exports.addBlack = function(blackList,entcode,callback){ ...@@ -70,7 +99,7 @@ exports.addBlack = function(blackList,entcode,callback){
console.error(err); console.error(err);
return callback && callback(err); return callback && callback(err);
} }
return callback && callback(null,black); return callback && callback(null,{_id:black._id});
}); });
}], }],
function(err, result) { function(err, result) {
...@@ -162,4 +191,57 @@ exports.removeBlackById = function(id,callback){ ...@@ -162,4 +191,57 @@ exports.removeBlackById = function(id,callback){
} }
return callback && callback(null,result); return callback && callback(null,result);
}); });
} };
\ No newline at end of file
exports.getNotBlackUsers=function(entcode,pageNo,pageSize,callback){
var pageNo = pageNo || 1;
var pageSize = pageSize || 10;
var getPageList = function(count,nins){
var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip);
ForumUser.find({ent_code:entcode,_id:{$nin:nins}}).limit(limit).skip(skip)
.exec(function(err,results){
if(err){
callback(err,null);
}else{
if(results){
callback(null,{total:count,items:results});
}else{
callback(null,{total:count,items:[]});
}
}
});
};
async.waterfall([function(cb){
//获取黑名单
BlackList.find({ent_code:entcode})
.select('blackUser').exec(function(err,results){
var nins=[];
if(results && results.length > 0){
for(var i=0,len=results.length;i<len;i++){
if(results[i].blackUser){
nins.push(results[i].blackUser);
}
}
}
cb(null,nins);
});
},
function(n, cb) {
console.log(n);
ForumUser.count({ent_code:entcode,_id:{$nin:n}}).exec(function(err,count){
if(err){
callback(err,null);
}else{
if(count > 0){
getPageList(count,n);
}else{
callback(null,{total:0,items:[]});
}
}
});
}],
function(err, result) {
return callback && callback(err);
});
};
\ No newline at end of file
...@@ -9,7 +9,7 @@ var forumCommentService = require('./forumCommentService'); ...@@ -9,7 +9,7 @@ var forumCommentService = require('./forumCommentService');
var async = require('async'); var async = require('async');
var then = require('thenjs'); var then = require('thenjs');
//查询帖子 //根据发帖者分页查询话题列表
exports.findThreadByPage = function(pageNo, pageSize, q, callback) { exports.findThreadByPage = function(pageNo, pageSize, q, callback) {
then(function(cont) { then(function(cont) {
ForumThread.find(q).populate('from').count(cont); ForumThread.find(q).populate('from').count(cont);
...@@ -476,7 +476,7 @@ function getAllThreadByFidHelp(conditions, pageNo, pageSize, sort, callback) { ...@@ -476,7 +476,7 @@ function getAllThreadByFidHelp(conditions, pageNo, pageSize, sort, callback) {
} else { } else {
var skip = (pageNo - 1) * pageSize; var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip); var limit = count - skip > pageSize ? pageSize : (count - skip);
var sortBy = '-topTime -created'; var sortBy = '-topTime -tag_topTime -created';
if (sort) { if (sort) {
sortBy = sort; sortBy = sort;
} }
...@@ -585,6 +585,26 @@ exports.updateUnTopByThreadId = function(infoId, threadId, callback) { ...@@ -585,6 +585,26 @@ exports.updateUnTopByThreadId = function(infoId, threadId, callback) {
}); });
}; };
//根据板块ID更新标签置顶(置顶)
exports.updateTagTop = function(tid,tag_top,callback){
var time = '';
if(tag_top == 1){
time = new Date();
}
ForumThread.findOneAndUpdate({
_id: tid
}, {
tag_top: tag_top,
tag_topTime: time
}, function(err, doc) {
if (err) {
callback(err, null);
} else {
callback(null, doc);
}
});
};
//更新文章点赞数 //更新文章点赞数
exports.updateThreadRaiseCount = function(threadId, callback) { exports.updateThreadRaiseCount = function(threadId, callback) {
ForumThread.update({ ForumThread.update({
......
'use strict'; 'use strict';
var mongoose = require('mongoose'); var mongoose = require('mongoose');
var ForumUser = mongoose.model('ForumUser'); var ForumUser = mongoose.model('ForumUser');
//创建用户 //创建用户
exports.createUser=function(entity,callback){ exports.createUser=function(entity,callback){
var forum = new ForumUser(entity); var forum = new ForumUser(entity);
...@@ -56,36 +55,3 @@ exports.updateUserById=function(uid,entity,callback){ ...@@ -56,36 +55,3 @@ exports.updateUserById=function(uid,entity,callback){
} }
}); });
}; };
exports.getUsers=function(pageNo,pageSize,callback){
var pageNo = pageNo || 1;
var pageSize = pageSize || 10;
var getPageList = function(count){
var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip);
ForumUser.find({}).limit(limit).skip(skip)
.exec(function(err,results){
if(err){
callback(err,null);
}else{
if(results){
callback(null,{total:count,items:results});
}else{
callback(null,{total:count,items:[]});
}
}
});
};
ForumUser.count({}).exec(function(err,count){
if(err){
callback(err,null);
}else{
if(count > 0){
getPageList(count);
}else{
callback(null,{total:0,items:[]});
}
}
});
};
...@@ -37,6 +37,12 @@ module.exports = { ...@@ -37,6 +37,12 @@ module.exports = {
CAN_NOT_RAISE_REPEAT: { CAN_NOT_RAISE_REPEAT: {
errorcode: 10006, errorcode: 10006,
errormsg: '不能重复点赞' errormsg: '不能重复点赞'
},
UNCHECK_ERROR:function(msg){
return {
errorcode:9999,
errormsg:msg
};
} }
......
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