From 5895cc1ffc9bc928d7fcb8e36f0fd5de85c87b21 Mon Sep 17 00:00:00 2001 From: yulixing Date: Wed, 31 Jul 2019 20:41:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=B9=BF=E5=91=8A=E5=8C=BA?= =?UTF-8?q?=E5=9F=9Fapi?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/games/ad.js | 119 ++++++++++++++++++++++++++++++++++++ src/models/admin/AdArea.js | 20 ++++++ 2 files changed, 139 insertions(+) create mode 100644 src/models/admin/AdArea.js diff --git a/src/controllers/games/ad.js b/src/controllers/games/ad.js index 8dcbb5a..a0d3d5a 100644 --- a/src/controllers/games/ad.js +++ b/src/controllers/games/ad.js @@ -2,6 +2,8 @@ import {Router} from 'express' import axios from 'axios' import config from '../../../config/config' import logger from '../../utils/logger' +import AdArea from '../../models/admin/AdArea' +import {builtinModules} from 'module' const router = new Router() @@ -191,4 +193,121 @@ router.delete('/del-pos', async (req, res, next) => { } }) +// 获取广告区域列表 +router.get('/get-area', async (req, res, next) => { + try { + const result = await AdArea.find({}) + res.send({ + errcode: 0, + AdAreaList: result, + }) + } catch (err) { + next(err) + } +}) + +// 新增平台 +router.post('/save-area', async (req, res, next) => { + logger.db(req, '游戏管理', '广告区域管理', '新增广告区域') + // 权限判断 + const hasPerm = req.user.permissions.includes(`ad-area-writeable`) + if (!hasPerm) { + res.status(403).send({ + errcode: 1, + errmsg: '用户无广告区域编辑权限!', + }) + return + } + const body = req.body + try { + const search = await AdArea.findOne({ + $or: [{name: body.name}, {area_id: body.area_id}, {key: body.key}], + }) + if (search) { + res.send({ + errcode: 1, + errmsg: '区域名称或区域 ID 已存在!', + }) + } else { + const newAdArea = new AdArea(body) + const result = await newAdArea.save() + res.send({ + errcode: 0, + }) + } + } catch (err) { + next(err) + } +}) + +// 编辑平台信息 +router.post('/edit-area', async (req, res, next) => { + logger.db(req, '游戏管理', '广告区域管理', '修改广告区域信息') + // 权限判断 + const hasPerm = req.user.permissions.includes(`ad-area-writeable`) + if (!hasPerm) { + res.status(403).send({ + errcode: 1, + errmsg: '用户无广告区域编辑权限!', + }) + return + } + const body = req.body + try { + const search = await AdArea.findOne({area_id: body.area_id}) + if (search) { + const result = await AdArea.updateOne( + {area_id: body.area_id}, + { + name: body.name, + key: body.key, + area_id: body.area_id, + comment: body.comment, + } + ) + res.send({ + errcode: 0, + }) + } else { + res.send({ + errcode: 1, + errmsg: '区域不存在,修改失败!', + }) + } + } catch (err) { + next(err) + } +}) + +// 编辑平台信息 +router.post('/del-area', async (req, res, next) => { + logger.db(req, '游戏管理', '广告区域管理', '删除广告区域') + // 权限判断 + const hasPerm = req.user.permissions.includes(`ad-area-writeable`) + if (!hasPerm) { + res.status(403).send({ + errcode: 1, + errmsg: '用户无广告区域编辑权限!', + }) + return + } + const body = req.body + try { + const search = await AdArea.findOne({area_id: body.area_id}) + if (search) { + const result = await AdArea.deleteOne({area_id: body.area_id}) + res.send({ + errcode: 0, + }) + } else { + res.send({ + errcode: 1, + errmsg: '区域不存在,删除失败!', + }) + } + } catch (err) { + next(err) + } +}) + export default router diff --git a/src/models/admin/AdArea.js b/src/models/admin/AdArea.js new file mode 100644 index 0000000..66e58a5 --- /dev/null +++ b/src/models/admin/AdArea.js @@ -0,0 +1,20 @@ +'use strict'; +import mongoose from 'mongoose'; + +/** + * 广告区域 + */ +const AdArea = new mongoose.Schema( + { + name: { type: String }, + key: { type: String }, + area_id: { type: Number }, + comment: { type: String } + }, + { + collection: 'ad_area', + timestamps: true + } +); + +export default mongoose.model('AdArea', AdArea);