...
|
...
|
@@ -4,22 +4,8 @@ |
|
|
* @date: 23/06/2017
|
|
|
*/
|
|
|
const _ = require('lodash');
|
|
|
const moment = require('moment');
|
|
|
const excelExport = require('excel-export');
|
|
|
const AdminModel = require('../models/admin');
|
|
|
|
|
|
const POST_SUCCESS = '操作成功';
|
|
|
const INVALID_PARAMS = '参数错误';
|
|
|
|
|
|
const timeFormat = (time) => {
|
|
|
if (_.isNumber(time)) {
|
|
|
time = moment.unix(time);
|
|
|
}
|
|
|
|
|
|
return moment(time).format('YYYY-MM-DD HH:mm:ss');
|
|
|
};
|
|
|
|
|
|
const article = {
|
|
|
const adminController = {
|
|
|
/**
|
|
|
* 首页
|
|
|
* @param req
|
...
|
...
|
@@ -90,279 +76,8 @@ const article = { |
|
|
code: 200,
|
|
|
message: '登出成功'
|
|
|
});
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 活动列表
|
|
|
* @param req
|
|
|
* @param res
|
|
|
* @param next
|
|
|
*/
|
|
|
activityList(req, res, next) {
|
|
|
const title = req.body.title;
|
|
|
const startTime = req.body.startTime;
|
|
|
const endTime = req.body.endTime;
|
|
|
|
|
|
if (!title || !startTime || !endTime) {
|
|
|
return res.json({
|
|
|
code: 400,
|
|
|
message: INVALID_PARAMS
|
|
|
});
|
|
|
}
|
|
|
|
|
|
const params = {
|
|
|
title,
|
|
|
startTime,
|
|
|
endTime
|
|
|
};
|
|
|
|
|
|
req.ctx(AdminModel).createActivity(params)
|
|
|
.then(() => {
|
|
|
return res.json({
|
|
|
code: 200,
|
|
|
message: POST_SUCCESS
|
|
|
});
|
|
|
})
|
|
|
.catch(next);
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 活动列表页
|
|
|
* @param req
|
|
|
* @param res
|
|
|
* @param next
|
|
|
*/
|
|
|
activityListPage(req, res, next) {
|
|
|
|
|
|
|
|
|
req.ctx(AdminModel).activityList()
|
|
|
.then(result => {
|
|
|
_.each(result, item => {
|
|
|
item.endTime = timeFormat(item.endTime);
|
|
|
item.startTime = timeFormat(item.startTime);
|
|
|
item.createTime = timeFormat(item.createTime);
|
|
|
});
|
|
|
|
|
|
res.render('activity/list', {
|
|
|
bodyClass: 'nav-md',
|
|
|
activityList: result,
|
|
|
module: 'admin',
|
|
|
page: 'activity'
|
|
|
});
|
|
|
})
|
|
|
.catch(next);
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 新建活动
|
|
|
* @param req
|
|
|
* @param res
|
|
|
* @param next
|
|
|
*/
|
|
|
createActivity(req, res, next) {
|
|
|
const title = req.body.title;
|
|
|
const startTime = req.body.startTime;
|
|
|
const endTime = req.body.endTime;
|
|
|
|
|
|
if (!title || !startTime || !endTime) {
|
|
|
return res.json({
|
|
|
code: 400,
|
|
|
message: INVALID_PARAMS
|
|
|
});
|
|
|
}
|
|
|
|
|
|
const params = {
|
|
|
title,
|
|
|
startTime,
|
|
|
endTime
|
|
|
};
|
|
|
|
|
|
req.ctx(AdminModel).createActivity(params)
|
|
|
.then(() => {
|
|
|
return res.json({
|
|
|
code: 200,
|
|
|
message: POST_SUCCESS
|
|
|
});
|
|
|
})
|
|
|
.catch(next);
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 新建活动页
|
|
|
* @param req
|
|
|
* @param res
|
|
|
*/
|
|
|
createActivityPage(req, res) {
|
|
|
res.render('activity/create', {
|
|
|
bodyClass: 'nav-md',
|
|
|
module: 'admin',
|
|
|
page: 'activity'
|
|
|
});
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 活动删除
|
|
|
* @param req
|
|
|
* @param res
|
|
|
* @param next
|
|
|
*/
|
|
|
deleteActivity(req, res, next) {
|
|
|
const id = req.body.id;
|
|
|
|
|
|
if (!id) {
|
|
|
return res.json({
|
|
|
code: 400,
|
|
|
message: INVALID_PARAMS
|
|
|
});
|
|
|
}
|
|
|
|
|
|
req.ctx(AdminModel).deleteActivity(id)
|
|
|
.then(() => {
|
|
|
return res.json({
|
|
|
code: 200,
|
|
|
message: POST_SUCCESS
|
|
|
});
|
|
|
})
|
|
|
.catch(next);
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 活动文章列表
|
|
|
* @param req
|
|
|
* @param res
|
|
|
* @param next
|
|
|
*/
|
|
|
actArticleListPage(req, res, next) {
|
|
|
const actId = req.query.actId;
|
|
|
|
|
|
req.ctx(AdminModel).actArticleList(actId)
|
|
|
.then(result => {
|
|
|
_.each(result, item => {
|
|
|
item.createTime = timeFormat(item.createTime);
|
|
|
});
|
|
|
res.render('activity/article-list', {
|
|
|
actId,
|
|
|
bodyClass: 'nav-md',
|
|
|
articleList: result,
|
|
|
module: 'admin',
|
|
|
page: 'activity'
|
|
|
});
|
|
|
})
|
|
|
.catch(next);
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 删除文章
|
|
|
* @param req
|
|
|
* @param res
|
|
|
* @param next
|
|
|
*/
|
|
|
deleteArticle(req, res, next) {
|
|
|
const id = req.body.id;
|
|
|
|
|
|
if (!id) {
|
|
|
return res.json({
|
|
|
code: 400,
|
|
|
message: INVALID_PARAMS
|
|
|
});
|
|
|
}
|
|
|
|
|
|
req.ctx(AdminModel).deleteArticle(id)
|
|
|
.then(() => {
|
|
|
return res.json({
|
|
|
code: 200,
|
|
|
message: POST_SUCCESS
|
|
|
});
|
|
|
})
|
|
|
.catch(next);
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 文章列表导出
|
|
|
* @param req
|
|
|
* @param res
|
|
|
* @param next
|
|
|
*/
|
|
|
exportArticleList(req, res, next) {
|
|
|
const actId = req.query.actId;
|
|
|
|
|
|
if (!actId) {
|
|
|
return res.json({
|
|
|
code: 400,
|
|
|
message: INVALID_PARAMS
|
|
|
});
|
|
|
}
|
|
|
|
|
|
let conf = {
|
|
|
name: 'mysheet',
|
|
|
cols: [
|
|
|
{
|
|
|
caption: '文章ID',
|
|
|
type: 'string'
|
|
|
},
|
|
|
{
|
|
|
caption: '赞数',
|
|
|
type: 'number'
|
|
|
},
|
|
|
{
|
|
|
caption: '发布者',
|
|
|
type: 'string'
|
|
|
},
|
|
|
{
|
|
|
caption: '手机号',
|
|
|
type: 'string'
|
|
|
},
|
|
|
{
|
|
|
caption: '创建时间',
|
|
|
type: 'string'
|
|
|
}
|
|
|
],
|
|
|
rows: []
|
|
|
};
|
|
|
|
|
|
req.ctx(AdminModel).actArticleList(actId)
|
|
|
.then(result => {
|
|
|
let temp = [];
|
|
|
|
|
|
_.each(result, item => {
|
|
|
temp = [];
|
|
|
temp.push(item.id);
|
|
|
temp.push(item.goodCount);
|
|
|
temp.push(item.userName);
|
|
|
temp.push(item.phone);
|
|
|
temp.push(timeFormat(item.createTime));
|
|
|
conf.rows.push(temp);
|
|
|
});
|
|
|
|
|
|
let exportFile = excelExport.execute(conf);
|
|
|
|
|
|
res.setHeader('Content-Type', 'application/vnd.openxmlformats');
|
|
|
res.setHeader('Content-Disposition', 'attachment; filename=articleList.xlsx');
|
|
|
res.end(exportFile, 'binary');
|
|
|
})
|
|
|
.catch(next);
|
|
|
|
|
|
},
|
|
|
|
|
|
/**
|
|
|
* 活动参与用户列表
|
|
|
* @param req
|
|
|
* @param res
|
|
|
* @param next
|
|
|
*/
|
|
|
activityUserListPage(req, res, next) {
|
|
|
req.ctx(AdminModel).activityList()
|
|
|
.then(result => {
|
|
|
res.render('activity/user-list', {
|
|
|
bodyClass: 'nav-md',
|
|
|
activityList: result,
|
|
|
module: 'admin',
|
|
|
page: 'activity'
|
|
|
});
|
|
|
})
|
|
|
.catch(next);
|
|
|
}
|
|
|
};
|
|
|
|
|
|
|
|
|
module.exports = article; |
|
|
module.exports = adminController; |
...
|
...
|
|