data \ item

This commit is contained in:
yulixing 2019-08-12 19:22:51 +08:00
parent 55e49b9c6d
commit f56d8ed717
5 changed files with 245 additions and 6 deletions

View File

@ -342,8 +342,8 @@ router.post('/uid', async (req, res, next) => {
logger.db(req, '游戏管理', '广告Uid', '新增广告Uid')
// 权限判断
const hasPerm =
req.user.permissions.includes(`${req.body._id}-edit`) ||
req.user.permissions.includes(`${req.body._id}-publish`) ||
req.user.permissions.includes(`${req.body.uid}-edit`) ||
req.user.permissions.includes(`${req.body.uid}-publish`) ||
req.user.permissions.includes(`games-writeable`)
if (!hasPerm) {
res.status(403).send({
@ -376,8 +376,8 @@ router.put('/uid', async (req, res, next) => {
logger.db(req, '游戏管理', '广告Uid', '修改广告Uid信息')
// 权限判断
const hasPerm =
req.user.permissions.includes(`${req.body._id}-edit`) ||
req.user.permissions.includes(`${req.body._id}-publish`) ||
req.user.permissions.includes(`${req.body.uid}-edit`) ||
req.user.permissions.includes(`${req.body.uid}-publish`) ||
req.user.permissions.includes(`games-writeable`)
if (!hasPerm) {
res.status(403).send({
@ -420,8 +420,8 @@ router.delete('/uid', async (req, res, next) => {
logger.db(req, '游戏管理', '广告Uid', '删除广告Uid')
// 权限判断
const hasPerm =
req.user.permissions.includes(`${req.body._id}-edit`) ||
req.user.permissions.includes(`${req.body._id}-publish`) ||
req.user.permissions.includes(`${req.body.uid}-edit`) ||
req.user.permissions.includes(`${req.body.uid}-publish`) ||
req.user.permissions.includes(`games-writeable`)
if (!hasPerm) {
res.status(403).send({

View File

@ -147,4 +147,85 @@ function getCategoryData(cateName, date, is_new, game_id, platform_id) {
})
}
// 获取游戏数据(画图表用)
router.get('/game-data', async (req, res, next) => {
// 权限判断
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`) ||
req.user.permissions.includes(`games-writeable`)
if (!hasPerm) {
res.status(403).send({
errcode: 1,
errmsg: '用户无此游戏数据查看权限!',
})
return
}
const query = req.query
console.log(query)
const gameid = parseInt(query.gameid)
const channelid = parseInt(query.channelid)
const ad_channelid = query.ad_channelid
const method = query.method
const time_partice = parseInt(query.time_partice)
const time_begin = query.isNew
const time_end = query.isNew
try {
// TODO: 接口对接
// const searchRes = await axios({
// url: gameReportApiUrl,
// method: 'get',
// params: {
// c: 'Ops',
// a: 'descField',
// body: JSON.stringify({
// gameid: game_id,
// channel: platform_id,
// }),
// },
// })
// if (searchRes.data.errcode === 0) {
// res.send({
// errcode: 0,
// errmsg: '',
// message: {
// totoal: 2,
// result: [
// {
// '2019-08-01 01:00:00': 100,
// '2019-08-01 02:00:00': 120,
// },
// ],
// },
// })
// } else {
// res.send({
// errcode: searchRes.errcode,
// errmsg: searchRes.errmsg,
// })
// }
// TODO: 数据示例
res.send({
errcode: 0,
errmsg: '',
message: {
totoal: 2,
result: [
{
'2019-08-01 01:00:00': 100,
'2019-08-01 02:00:00': 120,
},
],
},
})
} catch (err) {
next(err)
}
})
export default router

View File

@ -6,6 +6,7 @@ import shareRouter from './share';
import rewardRouter from './reward';
import libRouter from './lib';
import adRouter from './ad';
import itemRouter from './item';
import dataRouter from './data';
@ -22,6 +23,7 @@ router.use('/mp_share', mpShareRouter);
router.use('/reward', rewardRouter);
router.use('/lib', libRouter);
router.use('/ad', adRouter);
router.use('/item', itemRouter);
router.use('/data', dataRouter);
router.use('/', gamesRouter);

View File

@ -0,0 +1,134 @@
import {Router} from 'express'
import axios from 'axios'
import logger from '../../utils/logger'
import GameItem from '../../models/admin/GameItem'
const router = new Router()
// ---------------------------------------------- //
// 获取游戏道具列表
router.get('/', async (req, res, next) => {
const query = req.query
try {
const result = await GameItem.find({
game_id: query.game_id,
})
res.send({
errcode: 0,
result: result,
})
} catch (err) {
next(err)
}
})
// 新增游戏道具
router.post('/', async (req, res, next) => {
logger.db(req, '游戏管理', '游戏道具', '新增游戏道具')
// 权限判断
const hasPerm =
req.user.permissions.includes(`${req.body.uid}-edit`) ||
req.user.permissions.includes(`${req.body.uid}-publish`) ||
req.user.permissions.includes(`games-writeable`)
if (!hasPerm) {
res.status(403).send({
errcode: 1,
errmsg: '用户无游戏编辑权限!',
})
return
}
const body = req.body
try {
const newGameItem = new GameItem({
game_id: body.game_id,
item_id: body.item_id,
item_name: body.item_name,
})
const result = await newGameItem.save()
res.send({
errcode: 0,
})
} catch (err) {
next(err)
}
})
// 编辑游戏道具信息
router.put('/', async (req, res, next) => {
logger.db(req, '游戏管理', '游戏道具', '修改游戏道具信息')
// 权限判断
const hasPerm =
req.user.permissions.includes(`${req.body.uid}-edit`) ||
req.user.permissions.includes(`${req.body.uid}-publish`) ||
req.user.permissions.includes(`games-writeable`)
if (!hasPerm) {
res.status(403).send({
errcode: 1,
errmsg: '用户无游戏编辑权限!',
})
return
}
const body = req.body
try {
const search = await GameItem.findOne({_id: body._id})
if (search) {
const result = await GameItem.updateOne(
{_id: body._id},
{
game_id: body.game_id,
item_id: body.item_id,
item_name: body.item_name,
}
)
res.send({
errcode: 0,
})
} else {
res.send({
errcode: 1,
errmsg: 'uid不存在修改失败',
})
}
} catch (err) {
next(err)
}
})
// 删除游戏道具信息
router.delete('/', async (req, res, next) => {
logger.db(req, '游戏管理', '游戏道具', '删除广告Uid')
// 权限判断
const hasPerm =
req.user.permissions.includes(`${req.body.uid}-edit`) ||
req.user.permissions.includes(`${req.body.uid}-publish`) ||
req.user.permissions.includes(`games-writeable`)
if (!hasPerm) {
res.status(403).send({
errcode: 1,
errmsg: '用户无游戏编辑权限!',
})
return
}
const body = req.body
try {
const search = await GameItem.findOne({_id: body._id})
if (search) {
const result = await GameItem.deleteOne({_id: body._id})
res.send({
errcode: 0,
})
} else {
res.send({
errcode: 1,
errmsg: 'Uid不存在删除失败',
})
}
} catch (err) {
next(err)
}
})
// ---------------------------------------------- //
export default router

View File

@ -0,0 +1,22 @@
'use strict'
import mongoose from 'mongoose'
/**
* 游戏道具
*/
const GameItem = new mongoose.Schema(
{
// 游戏id
game_id: {type: String},
// 道具id
item_id: {type: Number},
// 道具名称
item_name: {type: String},
},
{
collection: 'game_item',
timestamps: true,
}
)
export default mongoose.model('GameItem', GameItem)