添加服务器接口

This commit is contained in:
liangtongchuan
2020-11-22 22:43:24 +08:00
parent dd9ea0dd35
commit 9d3923eccc
3 changed files with 20 additions and 2 deletions
+1
View File
@@ -12,6 +12,7 @@ export const STATUS = {
SERVER_NOT_FOUND: { code: 10004, simStr: '未找到服务器列表' }, SERVER_NOT_FOUND: { code: 10004, simStr: '未找到服务器列表' },
ROLE_NOT_FOUND: { code: 10005, simStr: '未找到角色' }, ROLE_NOT_FOUND: { code: 10005, simStr: '未找到角色' },
DUP_LOGIN: { code: 10006, simStr: '重复登录' }, DUP_LOGIN: { code: 10006, simStr: '重复登录' },
NEW_SERVER_ERR: { code: 10007, simStr: '添加新服务器失败' },
// 战斗相关状态 20000 - 29999 // 战斗相关状态 20000 - 29999
// 战斗通用 20000 - 20099 // 战斗通用 20000 - 20099
BATTLE_MISS_INFO: { code: 20001, simStr: '缺少关卡信息' }, BATTLE_MISS_INFO: { code: 20001, simStr: '缺少关卡信息' },
+7 -1
View File
@@ -43,7 +43,7 @@ export default class Game extends BaseModel {
@prop({ required: true }) @prop({ required: true })
des: string; des: string;
@prop({ required: true }) @prop({ required: true, type: ServerInfo, default: [] })
serverList: Array<ServerInfo>; serverList: Array<ServerInfo>;
@prop({ required: true }) @prop({ required: true })
@@ -72,6 +72,12 @@ export default class Game extends BaseModel {
console.log(serverType, serverList); console.log(serverType, serverList);
return serverList; return serverList;
} }
public static async newServer(serverId: number, serverType: string, name: string, host: string, port: number, status: number, lean = true) {
let serverInfo: ServerInfo = {id: serverId, name, host, port, status, createTime: new Date(), serverType};
let game = await GameModel.findOneAndUpdate({}, {$push: {serverList: serverInfo}}, {new: true}).lean(lean);
return game;
}
} }
export const GameModel = getModelForClass(Game); export const GameModel = getModelForClass(Game);
+12 -1
View File
@@ -1,5 +1,5 @@
import { STATUS } from '@consts/statusCode'; import { STATUS } from '@consts/statusCode';
import { GameModel } from '@db/Game'; import Game, { GameModel } from '@db/Game';
import { Controller } from 'egg'; import { Controller } from 'egg';
export default class GameController extends Controller { export default class GameController extends Controller {
@@ -13,4 +13,15 @@ export default class GameController extends Controller {
ctx.body = ctx.service.utils.resResult(STATUS.SERVER_NOT_FOUND); ctx.body = ctx.service.utils.resResult(STATUS.SERVER_NOT_FOUND);
} }
} }
public async newServer() {
const { ctx } = this;
const { serverId, serverType, name, host, port, status } = ctx.request.body;
const gameInfo = await GameModel.newServer(serverId, serverType, name, host, port, status);
if (gameInfo) {
ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, { gameInfo });
} else {
ctx.body = ctx.service.utils.resResult(STATUS.NEW_SERVER_ERR);
}
}
} }