游戏详情相关 正式、测试数据 合并
This commit is contained in:
parent
52e9772157
commit
be3bad311c
@ -1,5 +1,4 @@
|
||||
// import GameInfo from '../../models/snoopy/GameInfo';
|
||||
import GameInfo from '../../models/admin/GameInfo'
|
||||
import getGameInfoModel from '../../models/admin/GameInfo'
|
||||
import {Router} from 'express'
|
||||
import {userInfo} from 'os'
|
||||
import axios from 'axios'
|
||||
@ -8,11 +7,13 @@ import logger from '../../utils/logger'
|
||||
|
||||
const router = new Router()
|
||||
|
||||
const GameInfo = getGameInfoModel()
|
||||
const GameInfoTest = getGameInfoModel('test')
|
||||
|
||||
// 获取游戏列表
|
||||
router.get('/list', async (req, res, next) => {
|
||||
const query = req.query || {}
|
||||
const userPerms = req.user.permissions
|
||||
|
||||
try {
|
||||
let search = []
|
||||
let result = []
|
||||
@ -103,8 +104,12 @@ router.get('/info', async (req, res, next) => {
|
||||
}
|
||||
|
||||
const query = req.query
|
||||
|
||||
const data_type = query.data_type
|
||||
const GameInfoModel = data_type === 'dev' ? GameInfoTest : GameInfo
|
||||
delete req.query.data_type
|
||||
try {
|
||||
const search = await GameInfo.findOne({
|
||||
const search = await GameInfoModel.findOne({
|
||||
_id: query.uid,
|
||||
deleted: false,
|
||||
})
|
||||
@ -185,28 +190,48 @@ router.post('/update_rc', async (req, res, next) => {
|
||||
}
|
||||
|
||||
const body = req.body
|
||||
const isDev = body.isDev
|
||||
const GameInfoModel = isDev ? GameInfoTest : GameInfo
|
||||
|
||||
delete body.isDev
|
||||
|
||||
try {
|
||||
const search = await GameInfo.findOne({
|
||||
const search = await GameInfoModel.findOne({
|
||||
_id: body._id,
|
||||
deleted: false,
|
||||
})
|
||||
|
||||
// TODO:
|
||||
|
||||
if (search) {
|
||||
// 更新
|
||||
const recommendation = search.recommendation ? search.recommendation : {}
|
||||
if (body.platform_id) {
|
||||
recommendation[body.platform_id] = body.RCList
|
||||
const result = await GameInfo.updateOne(
|
||||
}
|
||||
const result = await GameInfoModel.updateOne(
|
||||
{
|
||||
_id: body._id,
|
||||
deleted: false,
|
||||
},
|
||||
{recommendation: recommendation}
|
||||
{recommendation: recommendation, rc_published: body.published}
|
||||
)
|
||||
res.send({
|
||||
errcode: 0,
|
||||
})
|
||||
} else {
|
||||
// 新建
|
||||
const gameInfo = body.gameInfo
|
||||
gameInfo.recommendation = {}
|
||||
if (body.platform_id) {
|
||||
gameInfo.recommendation[body.platform_id] = body.RCList
|
||||
}
|
||||
gameInfo.rc_published = body.published
|
||||
|
||||
const newGameInfo = new GameInfoModel(gameInfo)
|
||||
const result = await newGameInfo.save()
|
||||
res.send({
|
||||
errcode: 1,
|
||||
errmsg: '游戏不存在或已删除!',
|
||||
errcode: 0,
|
||||
})
|
||||
}
|
||||
} catch (err) {
|
||||
|
@ -1,8 +1,10 @@
|
||||
import {Router} from 'express'
|
||||
import logger from '../../utils/logger'
|
||||
import CustomerReplay from '../../models/snoopy/CustomerReplay'
|
||||
import getCustomerReplayModel from '../../models/snoopy/CustomerReplay'
|
||||
|
||||
const router = new Router()
|
||||
const CustomerReplay = getCustomerReplayModel()
|
||||
const CustomerReplayTest = getCustomerReplayModel('test')
|
||||
|
||||
// 获取奖励列表
|
||||
router.get('/list', async (req, res, next) => {
|
||||
@ -25,15 +27,21 @@ router.get('/list', async (req, res, next) => {
|
||||
const pageSize = query.pageSize || 0
|
||||
const start = (currentPage - 1) * pageSize
|
||||
const limit = parseInt(pageSize)
|
||||
const data_type = query.data_type
|
||||
const CustomerReplayModel =
|
||||
data_type === 'dev' ? CustomerReplayTest : CustomerReplay
|
||||
|
||||
delete req.query.data_type
|
||||
|
||||
try {
|
||||
const records = await CustomerReplay.find({
|
||||
const records = await CustomerReplayModel.find({
|
||||
game_id: game_id,
|
||||
deleted: false,
|
||||
})
|
||||
.skip(start)
|
||||
.limit(limit)
|
||||
.sort({createdAt: 'desc'})
|
||||
const total = await CustomerReplay.find({
|
||||
const total = await CustomerReplayModel.find({
|
||||
game_id: game_id,
|
||||
deleted: false,
|
||||
}).countDocuments()
|
||||
@ -58,17 +66,33 @@ router.post('/save', async (req, res, next) => {
|
||||
})
|
||||
return
|
||||
}
|
||||
logger.db(req, '游戏管理', '客服奖励', '更新客服奖励');
|
||||
|
||||
logger.db(req, '游戏管理', '客服奖励', '更新客服奖励')
|
||||
|
||||
const body = req.body
|
||||
const isDev = body.isDev
|
||||
const CustomerReplayModel = isDev ? CustomerReplayTest : CustomerReplay
|
||||
delete body.isDev
|
||||
|
||||
try {
|
||||
let record
|
||||
if (body._id) {
|
||||
record = await CustomerReplay.findById(body._id)
|
||||
const _id = body._id
|
||||
const search = await CustomerReplayModel.findById(_id)
|
||||
if (search) {
|
||||
// 更新
|
||||
const result = await CustomerReplayModel.updateOne({_id: _id}, body)
|
||||
res.send({
|
||||
errcode: 0,
|
||||
result: result,
|
||||
})
|
||||
} else {
|
||||
// 新建
|
||||
const newReplay = CustomerReplayModel(body)
|
||||
const result = await newReplay.save()
|
||||
res.send({
|
||||
errcode: 0,
|
||||
result: result,
|
||||
})
|
||||
}
|
||||
record = CustomerReplay.parseReq(req, record)
|
||||
await record.save()
|
||||
res.json({errcode: 0, errmsg: ''})
|
||||
} catch (err) {
|
||||
next(err)
|
||||
}
|
||||
@ -88,11 +112,15 @@ router.post('/del', async (req, res, next) => {
|
||||
})
|
||||
return
|
||||
}
|
||||
logger.db(req, '游戏管理', '客服奖励', '删除客服奖励');
|
||||
logger.db(req, '游戏管理', '客服奖励', '删除客服奖励')
|
||||
const body = req.body
|
||||
const isDev = body.isDev
|
||||
const CustomerReplayModel = isDev ? CustomerReplayTest : CustomerReplay
|
||||
delete body.isDev
|
||||
|
||||
try {
|
||||
if (body.ids) {
|
||||
const record = await CustomerReplay.where({_id: {$in: body.ids}})
|
||||
const record = await CustomerReplayModel.where({_id: {$in: body.ids}})
|
||||
.updateMany({
|
||||
deleted: true,
|
||||
delete_time: new Date(),
|
||||
@ -122,12 +150,17 @@ router.post('/switch', async (req, res, next) => {
|
||||
})
|
||||
return
|
||||
}
|
||||
logger.db(req, '游戏管理', '客服奖励', '切换客服奖励状态');
|
||||
logger.db(req, '游戏管理', '客服奖励', '切换客服奖励状态')
|
||||
const body = req.body
|
||||
const type = body.type // 启用: true 禁用 false
|
||||
const isDev = body.isDev
|
||||
const CustomerReplayModel = isDev ? CustomerReplayTest : CustomerReplay
|
||||
delete body.isDev
|
||||
|
||||
|
||||
try {
|
||||
if (body.ids) {
|
||||
const record = await CustomerReplay.where({
|
||||
const record = await CustomerReplayModel.where({
|
||||
_id: {$in: body.ids},
|
||||
})
|
||||
.updateMany({actived: type})
|
||||
|
@ -1,11 +1,14 @@
|
||||
import getGameShareImage from '../../models/snoopy/GameShareImage'
|
||||
import getGameInfoModel from '../../models/admin/GameInfo'
|
||||
import SystemDic from '../../models/admin/SystemDic'
|
||||
import ChinaArea from '../../models/snoopy/ChinaArea'
|
||||
import GameInfo from '../../models/admin/GameInfo'
|
||||
import {Router} from 'express'
|
||||
import logger from '../../utils/logger'
|
||||
const router = new Router()
|
||||
const GameInfo = getGameInfoModel()
|
||||
const GameInfoTest = getGameInfoModel('test')
|
||||
const GameShareImage = getGameShareImage()
|
||||
const GameShareImageTest = getGameShareImage('test')
|
||||
|
||||
// 获取分享型列表
|
||||
router.get('/sys_dics', async (req, res, next) => {
|
||||
@ -58,11 +61,16 @@ router.post('/list', async (req, res, next) => {
|
||||
const gameId = body.gameId
|
||||
const shareType = body.shareType
|
||||
const type = body.type
|
||||
const isDev = body.isDev
|
||||
const currentPage = body.currentPage
|
||||
const pageSize = body.pageSize
|
||||
const start = (currentPage - 1) * pageSize
|
||||
const limit = Number(pageSize)
|
||||
|
||||
delete body.isDev
|
||||
|
||||
const GameShareImageModel = isDev ? GameShareImageTest : GameShareImage
|
||||
|
||||
try {
|
||||
const opt = {deleted: false}
|
||||
if (gameId) {
|
||||
@ -76,14 +84,14 @@ router.post('/list', async (req, res, next) => {
|
||||
}
|
||||
let records
|
||||
if (currentPage && pageSize) {
|
||||
records = await GameShareImage.find(opt)
|
||||
records = await GameShareImageModel.find(opt)
|
||||
.skip(start)
|
||||
.limit(limit)
|
||||
} else {
|
||||
records = await GameShareImage.find(opt)
|
||||
records = await GameShareImageModel.find(opt)
|
||||
}
|
||||
|
||||
const total = await GameShareImage.find(opt).countDocuments()
|
||||
const total = await GameShareImageModel.find(opt).countDocuments()
|
||||
const systemDics = await SystemDic.find({
|
||||
deleted: false,
|
||||
type: 'share_cfg',
|
||||
@ -132,8 +140,16 @@ router.get('/get_share', async (req, res, next) => {
|
||||
}
|
||||
const id = req.query.id
|
||||
const game_id = req.query.game_id
|
||||
const data_type = req.query.data_type
|
||||
const GameShareImageModel =
|
||||
data_type === 'dev' ? GameShareImageTest : GameShareImage
|
||||
delete req.query.data_type
|
||||
|
||||
try {
|
||||
const record = await GameShareImage.findOne({_id: id, game_id: game_id})
|
||||
const record = await GameShareImageModel.findOne({
|
||||
_id: id,
|
||||
game_id: game_id,
|
||||
})
|
||||
if (record) {
|
||||
res.send({
|
||||
errcode: 0,
|
||||
@ -149,15 +165,22 @@ router.get('/get_share', async (req, res, next) => {
|
||||
next(err)
|
||||
}
|
||||
})
|
||||
// 保存一个分享图
|
||||
|
||||
// 保存与更新一个分享图
|
||||
router.post('/save_share', async (req, res, next) => {
|
||||
logger.db(req, '游戏管理', '分享图', '新增分享图')
|
||||
// 权限判断
|
||||
const hasPerm =
|
||||
req.user.permissions.includes(`${req.body.uid}-readable`) ||
|
||||
let hasPerm
|
||||
if (req.body.published) {
|
||||
hasPerm =
|
||||
req.user.permissions.includes(`${req.body.uid}-publish`) ||
|
||||
req.user.permissions.includes(`games-writeable`)
|
||||
} else {
|
||||
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,
|
||||
@ -165,15 +188,33 @@ router.post('/save_share', async (req, res, next) => {
|
||||
})
|
||||
return
|
||||
}
|
||||
|
||||
const body = req.body
|
||||
const isDev = body.isDev
|
||||
const GameShareImageModel = isDev ? GameShareImageTest : GameShareImage
|
||||
|
||||
delete body.uid
|
||||
delete body.isDev
|
||||
|
||||
try {
|
||||
const newShare = GameShareImage(body)
|
||||
const _id = body._id
|
||||
const search = await GameShareImageModel.findById(_id)
|
||||
if (search) {
|
||||
// 更新
|
||||
const result = await GameShareImageModel.updateOne({_id: _id}, body)
|
||||
res.send({
|
||||
errcode: 0,
|
||||
result: result,
|
||||
})
|
||||
} else {
|
||||
// 新建
|
||||
const newShare = GameShareImageModel(body)
|
||||
const result = await newShare.save()
|
||||
res.send({
|
||||
errcode: 0,
|
||||
result: result,
|
||||
})
|
||||
}
|
||||
} catch (err) {
|
||||
next(err)
|
||||
}
|
||||
@ -221,10 +262,8 @@ router.post('/update_share', async (req, res, next) => {
|
||||
|
||||
// 删除分享图
|
||||
router.post('/del_share', async (req, res, next) => {
|
||||
logger.db(req, '游戏管理', '分享图', '删除分享图')
|
||||
// 权限判断
|
||||
const hasPerm =
|
||||
req.user.permissions.includes(`${req.body.uid}-readable`) ||
|
||||
req.user.permissions.includes(`${req.body.uid}-edit`) ||
|
||||
req.user.permissions.includes(`${req.body.uid}-publish`) ||
|
||||
req.user.permissions.includes(`games-writeable`)
|
||||
@ -235,13 +274,19 @@ router.post('/del_share', async (req, res, next) => {
|
||||
})
|
||||
return
|
||||
}
|
||||
logger.db(req, '游戏管理', '分享图', '删除分享图')
|
||||
const user = req.user
|
||||
const body = req.body
|
||||
const isDev = body.isDev
|
||||
const GameShareImageModel = isDev ? GameShareImageTest : GameShareImage
|
||||
delete body.isDev
|
||||
|
||||
try {
|
||||
const ids = req.body.ids
|
||||
const ids = body.ids
|
||||
if (!ids) {
|
||||
return res.json({errcode: 101, errmsg: '未选择要删除的id'})
|
||||
}
|
||||
const record = await GameShareImage.where({_id: {$in: ids}})
|
||||
const record = await GameShareImageModel.where({_id: {$in: ids}})
|
||||
.updateMany({
|
||||
deleted: true,
|
||||
delete_time: new Date(),
|
||||
|
@ -1,24 +1,39 @@
|
||||
'use strict';
|
||||
import mongoose from 'mongoose';
|
||||
'use strict'
|
||||
import mongoose from 'mongoose'
|
||||
import dbUtil from '../../utils/db.util'
|
||||
|
||||
/**
|
||||
* 游戏信息
|
||||
*/
|
||||
const GameInfo = new mongoose.Schema(
|
||||
{
|
||||
game_name: { type: String },
|
||||
game_name_en: { type: String },
|
||||
game_id: { type: String },
|
||||
game_type: { type: String },
|
||||
game_icon: { type: String },
|
||||
game_name: {type: String},
|
||||
game_name_en: {type: String},
|
||||
game_id: {type: String},
|
||||
game_type: {type: String},
|
||||
game_icon: {type: String},
|
||||
platforms: [{type: Object}],
|
||||
recommendation: {type: Object},
|
||||
deleted: {type: Boolean, default: false}
|
||||
rc_published: {type: Boolean},
|
||||
deleted: {type: Boolean, default: false},
|
||||
},
|
||||
{
|
||||
collection: 'game_info',
|
||||
timestamps: true
|
||||
timestamps: true,
|
||||
}
|
||||
);
|
||||
)
|
||||
|
||||
export default mongoose.model('GameInfo', GameInfo);
|
||||
function getGameInfoModel(type) {
|
||||
let GameInfoModel
|
||||
if (type === 'test') {
|
||||
const conn = dbUtil.getConnAdminTest()
|
||||
GameInfoModel = conn.model('GameInfo', GameInfo)
|
||||
} else {
|
||||
const conn = dbUtil.getConnAdmin()
|
||||
GameInfoModel = conn.model('GameInfo', GameInfo)
|
||||
}
|
||||
|
||||
return GameInfoModel
|
||||
}
|
||||
|
||||
export default getGameInfoModel
|
||||
|
@ -1,49 +1,66 @@
|
||||
'use strict';
|
||||
import mongoose from 'mongoose';
|
||||
import dbUtil from '../../utils/db.util';
|
||||
'use strict'
|
||||
import mongoose from 'mongoose'
|
||||
import dbUtil from '../../utils/db.util'
|
||||
|
||||
/**
|
||||
* 客服关键字回复
|
||||
*/
|
||||
const CustomerReplay = new mongoose.Schema({
|
||||
const CustomerReplay = new mongoose.Schema(
|
||||
{
|
||||
// 游戏id
|
||||
game_id: {type: String},
|
||||
// 响应的关键字
|
||||
keys: [{type: String}],
|
||||
items: [{
|
||||
items: [
|
||||
{
|
||||
_id: false,
|
||||
item_id: {type: String},
|
||||
count: {type: Number},
|
||||
}],
|
||||
},
|
||||
],
|
||||
actived: {type: Boolean, default: true},
|
||||
// 备注
|
||||
comment: {type: String},
|
||||
published: {type: Boolean},
|
||||
createdBy: {type: String},
|
||||
deleted: {type: Boolean, default: false},
|
||||
deletedBy: {type: String},
|
||||
delete_time: {type: Date},
|
||||
}, {
|
||||
},
|
||||
{
|
||||
collection: 'customer_replay',
|
||||
timestamps: true,
|
||||
});
|
||||
}
|
||||
)
|
||||
|
||||
const conn = dbUtil.getConnSnoopy();
|
||||
const CustomerReplayModel = conn.model('CustomerReplay', CustomerReplay);
|
||||
function getCustomerReplayModel(type) {
|
||||
let CustomerReplayModel
|
||||
if (type === 'test') {
|
||||
const conn = dbUtil.getConnSnoopyTest()
|
||||
CustomerReplayModel = conn.model('CustomerReplay', CustomerReplay)
|
||||
} else {
|
||||
const conn = dbUtil.getConnSnoopy()
|
||||
CustomerReplayModel = conn.model('CustomerReplay', CustomerReplay)
|
||||
}
|
||||
|
||||
CustomerReplayModel.parseReq = function(req, record) {
|
||||
CustomerReplayModel.parseReq = function(req, record) {
|
||||
if (!record) {
|
||||
record = new CustomerReplayModel({
|
||||
createdBy: req.user.username,
|
||||
});
|
||||
})
|
||||
}
|
||||
const body = req.body
|
||||
record.game_id = body.game_id
|
||||
record.keys = body.keys
|
||||
record.items = body.items
|
||||
record.actived = body.actived
|
||||
record.comment = body.comment
|
||||
record.published = body.published
|
||||
return record
|
||||
}
|
||||
const body = req.body;
|
||||
record.game_id = body.game_id;
|
||||
record.keys = body.keys;
|
||||
record.items = body.items;
|
||||
record.actived = body.actived;
|
||||
record.comment = body.comment;
|
||||
return record;
|
||||
};
|
||||
|
||||
export default CustomerReplayModel;
|
||||
return CustomerReplayModel
|
||||
|
||||
}
|
||||
|
||||
export default getCustomerReplayModel
|
||||
|
@ -42,6 +42,8 @@ const GameShareImage = new mongoose.Schema(
|
||||
type: {type: Number, default: 0},
|
||||
// 备注
|
||||
comment: {type: String},
|
||||
// 是否已发布至正式服
|
||||
published: {type: Boolean},
|
||||
createdBy: {type: String},
|
||||
deleted: {type: Boolean, default: false},
|
||||
deletedBy: {type: String},
|
||||
@ -106,7 +108,9 @@ function getGameShareImageModel(type) {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return GameShareImageModel
|
||||
}
|
||||
|
||||
|
||||
export default getGameShareImageModel
|
||||
|
Loading…
x
Reference in New Issue
Block a user