From 1f8aa44747e7dc9e5f88a53eeb8f994337f3fd31 Mon Sep 17 00:00:00 2001 From: yulixing Date: Fri, 27 Sep 2019 14:04:01 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=B8=E6=88=8F=E5=88=97=E8=A1=A8=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/controllers/open/game-list.js | 104 ++++++++++++++++++++++++++++++ src/controllers/open/index.js | 2 + src/models/admin/GameJump.js | 2 +- src/models/admin/GameList.js | 19 ++++++ 4 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 src/controllers/open/game-list.js create mode 100644 src/models/admin/GameList.js diff --git a/src/controllers/open/game-list.js b/src/controllers/open/game-list.js new file mode 100644 index 0000000..6f21dc2 --- /dev/null +++ b/src/controllers/open/game-list.js @@ -0,0 +1,104 @@ +/* 推广系统-广告专用 */ + +import {Router} from 'express' +import GameList from '../../models/admin/GameList' + +import cors from 'cors' +const router = new Router() + +// 获取游戏列表 +router.get('/', async (req, res, next) => { + try { + const query = req.query + const currentPage = parseInt(query.currentPage) + const pageSize = parseInt(query.pageSize) + const platform_id = parseInt(query.platform_id) + const offset = (currentPage - 1) * pageSize + const limit = pageSize + const opt = {} + if (platform_id) opt.platform_id = platform_id + + const result = await GameList.find(opt) + .skip(offset) + .limit(limit) + .sort({createdAt: 'desc'}) + + const total = await GameList.find(opt).countDocuments() + + res.send({ + errcode: 0, + result, + total, + }) + } catch (err) { + next(err) + } +}) + +// 添加游戏 +router.post('/', async (req, res, next) => { + try { + const body = req.body + const game_name = body.game_name + const platform_id = body.platform_id + const appid = body.appid + + const newGameList = new GameList({ + game_name, + platform_id, + appid, + }) + + const result = await newGameList.save() + + res.send({ + errcode: 0, + }) + } catch (err) { + next(err) + } +}) + +// 修改游戏 +router.put('/', async (req, res, next) => { + try { + const body = req.body + const _id = body._id + const game_name = body.game_name + const platform_id = body.platform_id + const appid = body.appid + + const result = await GameList.updateOne( + {_id}, + { + game_name, + platform_id, + appid, + } + ) + + res.send({ + errcode: 0, + }) + } catch (err) { + next(err) + } +}) + +// 删除游戏 +router.delete('/', async (req, res, next) => { + try { + const body = req.body + const _id = body._id + + const result = await GameList.deleteOne({_id}) + + res.send({ + errcode: 0, + }) + } catch (err) { + next(err) + } +}) + +export default router diff --git a/src/controllers/open/index.js b/src/controllers/open/index.js index f55319d..f048316 100644 --- a/src/controllers/open/index.js +++ b/src/controllers/open/index.js @@ -6,6 +6,7 @@ import promotionRouter from './promotion' import gamesRouter from './games' import adUidRouter from './ad-uid' import jumpRouter from './jump' +import gameListRouter from './game-list' const router = new Router() @@ -14,6 +15,7 @@ router.use('/promotion', promotionRouter) router.use('/games', gamesRouter) router.use('/ad-uid', adUidRouter) router.use('/jump', jumpRouter) +router.use('/game-list', gameListRouter) export default router diff --git a/src/models/admin/GameJump.js b/src/models/admin/GameJump.js index cb8c52f..0aa3b6d 100644 --- a/src/models/admin/GameJump.js +++ b/src/models/admin/GameJump.js @@ -2,7 +2,7 @@ import mongoose from 'mongoose' /** - * 游戏信息 + * 游戏跳转信息(推广系统专用) */ const GameJump = new mongoose.Schema( { diff --git a/src/models/admin/GameList.js b/src/models/admin/GameList.js new file mode 100644 index 0000000..60af668 --- /dev/null +++ b/src/models/admin/GameList.js @@ -0,0 +1,19 @@ +'use strict' +import mongoose from 'mongoose' + +/** + * 游戏列表(推广系统专用) + */ +const GameList = new mongoose.Schema( + { + game_name: {type: String}, + appid: {type: String}, + platform_id: {type: Number}, + }, + { + collection: 'game_list', + timestamps: true, + } +) + +export default mongoose.model('GameList', GameList)