✨ feat(37): 根据子包信息获取大区地址的接口和后台

This commit is contained in:
liangtongchuan
2023-03-28 17:01:47 +08:00
parent ee1df7984c
commit f7344aed85
9 changed files with 212 additions and 0 deletions
+24
View File
@@ -57,6 +57,30 @@ export default class GameController extends Controller {
return
}
// getPackages
public async getPackages() {
const { ctx } = this;
const { regionId, pid, gid, pkgName } = ctx.request.body;
ctx.body = await ctx.service.game.getPackages({ regionId, pid, gid, pkgName });
return;
}
// createNewPackage
public async createNewPackage() {
const { ctx } = this;
const { regionId, pkgName, pkgDesc, pid, gid, isOpen } = ctx.request.body;
ctx.body = await ctx.service.game.createNewPackage(regionId, pid, gid, pkgName, pkgDesc, isOpen);
return;
}
// editPackage
public async editPackage() {
const { ctx } = this;
const { regionId, pkgName, pkgDesc, pid, gid, isOpen } = ctx.request.body;
ctx.body = await ctx.service.game.editPackage(regionId, pid, gid, pkgName, pkgDesc, isOpen);
return;
}
public async getChannelInfo() {
const { ctx } = this;
+3
View File
@@ -46,6 +46,9 @@ export default (app: Application) => {
router.post('/api/game/getregions', tokenParser, controller.game.getRegions);
router.post('/api/game/createregion', tokenParser, controller.game.createRegion);
router.post('/api/game/getservers', tokenParser, controller.game.getServers);
router.post('/api/game/getpackages', tokenParser, controller.game.getPackages);
router.post('/api/game/createnewpackage', tokenParser, controller.game.createNewPackage);
router.post('/api/game/editpackage', tokenParser, controller.game.editPackage);
router.post('/api/game/getOnlineUsersByServer', controller.game.getOnlineUsersByServer);
router.post('/api/game/getregionstategy', tokenParser, controller.game.getRegionStategy);
router.post('/api/game/getwhitelist', tokenParser, controller.game.getWhiteList);
+36
View File
@@ -1,3 +1,4 @@
import { PackageModel } from '@db/Package';
import { Service } from 'egg';
import { REDIS_KEY, STATUS } from '@consts';
import { ServerlistModel } from '@db/Serverlist';
@@ -66,6 +67,41 @@ export default class Game extends Service {
});
}
// 获取推广包
public async getPackages(queryParams: {regionId: number, pkgName: string, gid: string, pid: string}) {
const { ctx } = this;
const list = await PackageModel.getPackagesByQuery(queryParams);
return ctx.service.utils.resResult(STATUS.SUCCESS, {
list
});
}
// 创建新的推广包
public async createNewPackage(regionId: number, pid: string, gid: string, pkgName: string, pkgDesc: string, isOpen = true) {
const { ctx } = this;
const packageInfo = await PackageModel.createNewPackage({regionId, pkgName, pkgDesc, pid, gid, isOpen}, ctx.user?.uid);
if (!packageInfo) {
return ctx.service.utils.resResult(STATUS.PACKAGE_CREATE_FAILED);
}
const list = await PackageModel.getAllPackagesByRegionId(regionId);
return ctx.service.utils.resResult(STATUS.SUCCESS, {
list
});
}
// 更新推广包
public async editPackage(regionId: number, pid: string, gid: string, pkgName: string, pkgDesc: string, isOpen = true) {
const { ctx } = this;
const packageInfo = await PackageModel.updatePackage({regionId, pkgName, pkgDesc, pid, gid, isOpen}, ctx.user?.uid);
if (!packageInfo) {
return ctx.service.utils.resResult(STATUS.PACKAGE_UPDATE_FAILED);
}
const list = await PackageModel.getAllPackagesByRegionId(regionId);
return ctx.service.utils.resResult(STATUS.SUCCESS, {
list
});
}
public async getChannelInfo() {
const { ctx } = this;