增加配置还原api

This commit is contained in:
yulixing 2019-06-03 10:58:30 +08:00
parent be1b0056d2
commit 47944d8433
2 changed files with 63 additions and 2 deletions

View File

@ -5,7 +5,7 @@ import glob from 'glob';
import Promise from 'bluebird';
import logger from './utils/logger';
import http from 'http';
import msgSchedule from './schedule/weappmsg.schedule';
// import msgSchedule from './schedule/weappmsg.schedule';
mongoose.Promise = Promise;
@ -27,7 +27,7 @@ models.forEach(function(model) {
const server = http.createServer(app);
msgSchedule.scheduleSendAll();
// msgSchedule.scheduleSendAll();
server.listen(config.port, function() {
logger.info(`${config.app.name} garfield server listening on port ${config.port}`);

View File

@ -106,6 +106,67 @@ router.get('/one_game_cfg', async (req, res, next) => {
next(err);
}
});
/* 还原配置(获取正式配置) */
router.get('/reset_one_game_cfg', async (req, res, next) => {
// logger.db(req, '游戏管理', '配置管理', '获取单个游戏正式服配置信息');
// 权限判断
const hasPerm =
req.user.permissions.includes(`${req.query.uid}-readable`) ||
req.user.permissions.includes(`${req.query.uid}-edit`) ||
req.user.permissions.includes(`${req.query.uid}-publish`);
if (!hasPerm) {
res.status(403).send({
errcode: 1,
errmsg: '用户无游戏编辑权限!'
});
return;
}
const id = req.query.id;
const pid = req.query.pid;
const type = parseInt(req.query.type);
const key = !type ? `config:${id}:${pid}` : `private_config:${id}:${pid}`;
const client = redis.createClient({
host: config.redisPublish.host,
port: config.redisPublish.port,
password: config.redisPublish.password
});
try {
let records = await client.getAsync(key);
const platforms = await SystemDic.find({
type: 'game_cfg',
deleted: false
});
const platformMap = new Map();
for (const p of platforms) {
platformMap.set(p.key, p.value);
}
if (records) {
records = JSON.parse(records);
for (const record of records) {
const cfg = platformMap.get(record.key);
record.title = !cfg || !cfg.title ? record.key : cfg.title;
record.type = !cfg || !cfg.type ? 'string' : cfg.type;
}
} else {
records = [];
}
res.json({
errcode: 0,
errmsg: '',
records: records,
});
} catch (err) {
next(err);
}
});
/* 删除一个游戏配置*/
router.post('/delete_cfg', async (req, res, next) => {
logger.db(req, '游戏管理', '配置管理', '删除单个游戏配置信息');