后台:服务器列表编辑
This commit is contained in:
@@ -16,7 +16,39 @@ export default class GameController extends Controller {
|
||||
|
||||
public async getServerList() {
|
||||
const { ctx } = this;
|
||||
ctx.body = await ctx.service.game.getServerList();
|
||||
const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
|
||||
|
||||
ctx.body = await ctx.service.game.getServerList(page, pageSize, sortField, sortOrder, form);
|
||||
return
|
||||
}
|
||||
|
||||
public async getServerStategyList() {
|
||||
const { ctx } = this;
|
||||
const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
|
||||
|
||||
ctx.body = await ctx.service.game.getServerStategyList(page, pageSize, sortField, sortOrder, form);
|
||||
return
|
||||
}
|
||||
|
||||
public async updateServerStategy() {
|
||||
const { ctx } = this;
|
||||
const { values } = ctx.request.body;
|
||||
|
||||
ctx.body = await ctx.service.game.updateServerStategy(values);
|
||||
return
|
||||
}
|
||||
|
||||
public async createNewServer() {
|
||||
const { ctx } = this;
|
||||
const { name, openTime, serverType, stategyId } = ctx.request.body;
|
||||
ctx.body = await ctx.service.game.createNewServer(name, openTime, serverType, stategyId);
|
||||
return
|
||||
}
|
||||
|
||||
public async updateServer() {
|
||||
const { ctx } = this;
|
||||
const { id, name, groupName, serverStatus, } = ctx.request.body;
|
||||
ctx.body = await ctx.service.game.updateServer(id, name, groupName, serverStatus);
|
||||
return
|
||||
}
|
||||
|
||||
|
||||
@@ -52,6 +52,11 @@ export default (app: Application) => {
|
||||
router.post('/api/game/getdicactivitytype', tokenParser, controller.game.getDicActivityType);
|
||||
router.post('/api/game/getdictasktype', tokenParser, controller.game.getDicTaskType);
|
||||
|
||||
router.post('/api/game/getserverstategylist', controller.game.getServerStategyList);
|
||||
router.post('/api/game/updateserverstategy', controller.game.updateServerStategy);
|
||||
router.post('/api/game/createnewserver', controller.game.createNewServer);
|
||||
router.post('/api/game/updateserver', controller.game.updateServer);
|
||||
|
||||
router.post('/api/activity/getactivitylist', tokenParser, controller.activity.getActivityList);
|
||||
router.post('/api/activity/updateactivity', tokenParser, controller.activity.updateActivity);
|
||||
router.post('/api/activity/deleteactivity', tokenParser, controller.activity.deleteActivity);
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
import { Service } from 'egg';
|
||||
import { STATUS } from '@consts';
|
||||
import { GameModel } from '@db/Game';
|
||||
import { ServerlistModel } from '@db/Serverlist';
|
||||
import { ServerlistModel, ServerlistUpdate } from '@db/Serverlist';
|
||||
import { gameData } from '@pubUtils/data';
|
||||
import { DicHero } from '@pubUtils/dictionary/DicHero';
|
||||
import { DicRMB } from '@pubUtils/dictionary/DicRMB';
|
||||
import { DicActivityType } from '@pubUtils/dictionary/DicActivityType';
|
||||
import { DicTaskType } from '@pubUtils/dictionary/DicTaskType';
|
||||
import { ServerStategyModel, ServerStategyTypeParam } from '@db/ServerStategy';
|
||||
|
||||
/**
|
||||
* Test Service
|
||||
@@ -39,9 +40,8 @@ export default class Game extends Service {
|
||||
}
|
||||
|
||||
|
||||
public async getServerList() {
|
||||
public async getServerList(page: number, pageSize: number, sortField: string, sortOrder: string, form: { id?: number, serverId?: string|number, name?: string, groupName?: string, groupId?: number, serverType?: string } = {}) {
|
||||
const { ctx } = this;
|
||||
const { page, pageSize, sortField, sortOrder, form } = ctx.request.body;
|
||||
|
||||
const list = await ServerlistModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
const total = await ServerlistModel.countByCondition( form )
|
||||
@@ -50,6 +50,66 @@ export default class Game extends Service {
|
||||
});
|
||||
}
|
||||
|
||||
public async getServerStategyList(page: number, pageSize: number, sortField: string, sortOrder: string, form: { id?: number, name?: string }) {
|
||||
const { ctx } = this;
|
||||
|
||||
const list = await ServerStategyModel.findByCondition(page, pageSize, sortField, sortOrder, form);
|
||||
const total = await ServerStategyModel.countByCondition( form )
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS, {
|
||||
list, total
|
||||
});
|
||||
}
|
||||
|
||||
public async updateServerStategy(values: ServerStategyTypeParam & {id: string|number}) {
|
||||
const { ctx } = this;
|
||||
|
||||
try {
|
||||
await ServerStategyModel.updateServerStategy(values, ctx.user?.uid);
|
||||
|
||||
} catch(e) {
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, e.stack);
|
||||
}
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
public async createNewServer(name: string, openTime: number, serverType: string, stategyId: number ) {
|
||||
const { ctx } = this;
|
||||
|
||||
try {
|
||||
let stategy = await ServerStategyModel.findBySId(stategyId);
|
||||
if(!stategy) return ctx.service.utils.resResult(STATUS.GM_STATEGY_NOT_FOUND);
|
||||
|
||||
await ServerlistModel.newServer({ name, openTime: new Date(openTime), serverType }, stategy, ctx.user?.uid);
|
||||
|
||||
} catch(e) {
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, e.stack);
|
||||
}
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
public async updateServer(id: number, name: string, groupName: string, serverStatus: number ) {
|
||||
const { ctx } = this;
|
||||
|
||||
try {
|
||||
let server = await ServerlistModel.findByServerId(id);
|
||||
if(!server) return ctx.service.utils.resResult(STATUS.GM_SERVER_NOT_FOUND);
|
||||
|
||||
if(server.groupName != groupName) {
|
||||
await ServerlistModel.updateGroupName(server.groupId, groupName);
|
||||
}
|
||||
let update: ServerlistUpdate = {};
|
||||
if(name) update['name'] = name;
|
||||
if(groupName) update['groupName'] = groupName;
|
||||
if(serverStatus) update['serverStatus'] = serverStatus;
|
||||
|
||||
await ServerlistModel.updateByServerId(id, update);
|
||||
|
||||
} catch(e) {
|
||||
return ctx.service.utils.resResult(STATUS.INTERNAL_ERR, null, e.stack);
|
||||
}
|
||||
return ctx.service.utils.resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
public async getDicHero() {
|
||||
let list: DicHero[] = [];
|
||||
for(let [heroId, hero] of gameData.hero) {
|
||||
|
||||
Reference in New Issue
Block a user