Commit 081497d8 authored by 刘文胜's avatar 刘文胜

Merge branch 'forum_moderator_manage' of...

Merge branch 'forum_moderator_manage' of git.wxpai.cn:scrmgroup/pisns-forum-api into forum_moderator_manage
parents fca1405a 3d34dbb6
'use strict';
var express = require('express'),
router = express.Router(),
returnCode = require('../../utils/returnCode'),
_ = require('lodash');
var mongoose = require('mongoose');
var async = require('async');
var forumModeratorApplyService = require('../../service/forumModeratorApplyService');
var forumUserService = require('../../service/forumUserService');
module.exports = function(app) {
app.use('/admin/forum', router);
};
//新增或更新
router.post('/forumModeratorApply/createOrUpdate', function(req, res, next) {
var ent_code = req.session.user.ent_code;
var fuserId = req.body.fuserId;
var applyMsg = req.body.applyMsg;
if (fuserId && applyMsg) {
var conditions = {
ent_code: ent_code,
forumUser: fuserId
}
var model = {
ent_code: ent_code,
forumUser: fuserId,
applyMsg: applyMsg
};
forumModeratorApplyService.createOrUpdateLimitOperation(conditions, model, function(err, ModeratorApply) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
res.json(_.assign(returnCode.SUCCESS));
}
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//更新
router.post('/forumModeratorApply/updateById', function(req, res, next) {
var ent_code = req.session.user.ent_code;
var id = req.body.id;
var entity = req.body.entity;
if (id && entity) {
var conditions = {
_id: id
}
forumModeratorApplyService.createOrUpdateLimitOperation(conditions, entity, function(err, ModeratorApply) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
res.json(_.assign(returnCode.SUCCESS));
}
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//根据userId获取
router.get('/forumModeratorApply/get/:fuserId', function(req, res, next) {
var fuserId = req.params.fuserId;
if (fuserId) {
forumModeratorApplyService.getForumModeratorApplyByFUserId(fuserId, function(err, ModeratorApply) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
var rs = {};
rs.data = ModeratorApply;
res.json(_.assign(rs, returnCode.SUCCESS));
}
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//删除
router.post('/forumModeratorApply/delete/:id', function(req, res, next) {
var id = req.params.id;
if (id) {
forumModeratorApplyService.deleteForumModeratorApplyById(id, function(err) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
res.json(_.assign(returnCode.SUCCESS));
}
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
//列表
// router.post('/forumModeratorApply/list', function(req, res, next) {
// var pageNo = req.body.pageNo || 1;
// var pageSize = req.body.pageSize || 10;
// var search = req.body.search;
// var conditions = {
// ent_code: req.session.user.ent_code
// };
// if (search) {
// if (search.nickName) { //用户昵称
// conditions.forumUser.nickName = {
// $regex: search.nickName
// };
// }
// if (search.applyMsg) {
// conditions.applyMsg = {
// $regex: search.applyMsg
// };
// }
// }
// if (search.status && Number(search.status) != 3) {
// conditions.status = Number(search.status);
// }
// forumModeratorApplyService.getForumModeratorApplys(conditions, pageNo, pageSize, null, function(err, results) {
// if (err) {
// console.error(err);
// res.json(returnCode.BUSY);
// } else {
// res.json(_.assign(results, returnCode.SUCCESS));
// }
// });
// });
//列表
router.post('/forumModeratorApply/list', function(req, res, next) {
var pageNo = req.body.pageNo || 1;
var pageSize = req.body.pageSize || 10;
var search = req.body.search;
var conditions = {
ent_code: req.session.user.ent_code
};
if (search) {
if (search.applyMsg) {
conditions.applyMsg = {
$regex: search.applyMsg
};
}
if (search.status && Number(search.status) != 3) {
conditions.status = Number(search.status);
}
}
if (search.nickName) { //如果有用户昵称
forumUserService.searchMembersByNickName(search.nickName,function(err, results){
if (err) {
callback(err, null);
} else {
var mids = []
if(results && results.length > 0){
results.forEach(function(user){
mids.push(user._id);
});
}
conditions.forumUser = {
$in: mids
}
forumModeratorApplyService.getForumModeratorApplys(conditions, pageNo, pageSize, null, function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
res.json(_.assign(results, returnCode.SUCCESS));
}
});
}
});
}else{
forumModeratorApplyService.getForumModeratorApplys(conditions, pageNo, pageSize, null, function(err, results) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
res.json(_.assign(results, returnCode.SUCCESS));
}
});
}
});
\ No newline at end of file
......@@ -11,6 +11,7 @@ var ForumThread = mongoose.model('ForumThread');
var ForumModerator = mongoose.model('ForumModerator');
var forumThreadService = require('../../service/forumThreadService');
var forumLimitOperationService = require('../../service/forumLimitOperationService');
var forumModeratorApplyService = require('../../service/forumModeratorApplyService');
var request=require('request');
var env = process.env.NODE_ENV;
var API_ADDRESS='http://localhost:8080';
......@@ -218,3 +219,43 @@ router.get('/moderators/delthread/:tid', function(req, res, next) {
});
});
//添加版主申请
router.post('/forumModeratorApply/create', function(req, res, next) {
var ent_code = req.session.user.ent_code;
var fuserId = req.session.mobileForumUser.userId;
var applyMsg = req.body.applyMsg;
if (fuserId && applyMsg) {
forumModeratorApplyService.getForumModeratorApplyByFUserId(fuserId,function(err, doc){
if(err){
console.error(err);
res.json(returnCode.BUSY);
}else if(doc){ //已申请
res.json({
errorcode: 0,
errormsg: '已申请,请勿重复申请!'
});
}else{
var conditions = {
ent_code: ent_code,
forumUser: fuserId
}
var model = {
ent_code: ent_code,
forumUser: fuserId,
applyMsg: applyMsg
};
forumModeratorApplyService.createOrUpdateLimitOperation(conditions, model, function(err, ModeratorApply) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
res.json(_.assign(returnCode.SUCCESS));
}
});
}
})
} else {
res.json(returnCode.WRONG_PARAM);
}
});
'use strict';
var express = require('express'),
router = express.Router(),
returnCode = require('../../utils/returnCode'),
then = require('thenjs'),
_ = require('lodash');
var mongoose = require('mongoose');
var forumModeratorApplyService = require('../../service/forumModeratorApplyService');
var user = require('../../utils/user');
module.exports = function(app) {
app.use('/v1/forum', router);
};
//新增或更新
router.post('/forumModeratorApply/create', function(req, res, next) {
var ent_code = req.session.user.ent_code;
var fuserId = req.session.mobileForumUser.userId;
var applyMsg = req.body.applyMsg;
if (fuserId && applyMsg) {
var conditions = {
ent_code: ent_code,
forumUser: fuserId
}
var model = {
ent_code: ent_code,
forumUser: fuserId,
applyMsg: applyMsg
};
forumModeratorApplyService.createOrUpdateLimitOperation(conditions, model, function(err, ModeratorApply) {
if (err) {
console.error(err);
res.json(returnCode.BUSY);
} else {
res.json(_.assign(returnCode.SUCCESS));
}
});
} else {
res.json(returnCode.WRONG_PARAM);
}
});
......@@ -2,7 +2,7 @@
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
//话题广场,板块
//版主申请
var ForumModeratorApplySchema = new Schema({
ent_code: {
type: Number,
......@@ -27,13 +27,13 @@ var ForumModeratorApplySchema = new Schema({
type: Date,
require: true
},
status: { //状态 0 申请中, 1 通过 , 2 不通过
status: { //状态 1 通过 , 2 不通过
type: Number,
require: true,
default: 0
default: 2
},
infoIds: [ //板块ids
{type: String}
{type: Schema.Types.ObjectId, ref: 'ForumInfo'}
],
created: {
type: Date,
......
'use strict';
var mongoose = require('mongoose');
var forumModeratorApply = mongoose.model('ForumModeratorApply');
//添加
function create(entity, callback) {
var model = new forumModeratorApply(entity);
model.save(function(err, result) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, result);
}
});
}
//获取数量
function count(conditions, callback) {
forumModeratorApply.count(conditions, function(err, count) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, count);
}
});
}
//创建或更新论坛行为限制
exports.createOrUpdateLimitOperation = function(conditions, entity, callback) {
forumModeratorApply.findOneAndUpdate(conditions, entity, function(err, doc) {
if (err) {
console.log(err);
callback(err, null);
} else {
if(!doc){
create(entity,function(err, result){
if(err){
console.error(err);
callback(err, null);
}else{
callback(null, result);
}
});
}else{
callback(null,doc);
}
}
});
};
//获取fuserId获取
exports.getForumModeratorApplyByFUserId = function(fuserId, callback) {
forumModeratorApply.findOne({
forumUser: fuserId
}, function(err, doc) {
if (err) {
console.error(err);
callback(err, null);
} else {
callback(null, doc);
}
});
};
//获取fuserId获取
exports.deleteForumModeratorApplyById = function(id, callback) {
forumModeratorApply.remove({
_id: id
}, function(err) {
if (err) {
console.error(err);
callback(err);
} else {
callback(null);
}
});
};
//分页获取列表数据
exports.getForumModeratorApplys = function(conditions, pageNo, pageSize, sort, callback) {
count(conditions, function(err, count) {
if (err) {
console.error(err);
callback(err, null);
} else {
var skip = (pageNo - 1) * pageSize;
var limit = count - skip > pageSize ? pageSize : (count - skip);
var sortBy = '-created';
if (sort) {
sortBy = sort;
}
forumModeratorApply.find(conditions).populate('forumUser').populate('infoIds').limit(limit).skip(skip).sort(sortBy).exec(function(err, docs) {
if (err) {
console.error(err);
callback(err, null);
} else {
var obj = {};
obj.total = count;
obj.pageNo = pageNo;
obj.pageSize = pageSize;
obj.items = docs;
callback(null, obj);
}
});
}
});
};
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