Commit 0c94acb8 authored by 陈家荣's avatar 陈家荣

版主申请

parent a2ab33a3
'use strict';
var express = require('express'),
router = express.Router(),
returnCode = require('../../utils/returnCode'),
_ = require('lodash');
var mongoose = require('mongoose');
// var moment = require('moment');
var async = require('async');
// var then = require('thenjs');
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
'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);
}
});
......@@ -33,7 +33,7 @@ var ForumModeratorApplySchema = new Schema({
default: 0
},
infoIds: [ //板块ids
{type: String}
{type: Schema.Types.ObjectId, ref: 'ForumInfo'}
],
created: {
type: Date,
......
'use strict';
var mongoose = require('mongoose');
var forumModeratorApply = mongoose.model('ForumModeratorApply');
// var async = require('async');
// var then = require('thenjs');
// var moment = require('moment');
//添加
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