import { STATUS } from '@consts'; import { GameModel } from '@db/Game'; import { Controller } from 'egg'; import { RoleModel } from '@db/Role'; export default class GameController extends Controller { public async getServerList() { const { ctx } = this; let { serverType, auth, uid } = ctx; let serverList = []; let loginServerList = []; let allServers = await GameModel.getServerList(); let roles = await RoleModel.findAllByUid(uid); console.log(roles.length) for(let server of allServers) { if(auth === 1 || (!auth && server.serverType == serverType)) { serverList.push(server); let role = roles.find(role => role.serverId == server.id); if(!!role) { let roleInfo = { roleId: role.roleId, roleName: role.roleName, headHid: role.headHid, sHid: role.sHid, lv: role.lv }; loginServerList.push({...server, ...roleInfo}); } } } if (serverList && serverList.length > 0) { ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, { serverList, loginServerList }); } else { ctx.body = ctx.service.utils.resResult(STATUS.SERVER_NOT_FOUND); } return } public async newServer() { const { ctx } = this; const { serverId, serverType, name, host, port, status } = ctx.request.body; const serverList = await GameModel.getAllServerList(); for (let { id, host: preHost, port: prePort } of serverList) { if (preHost === host && prePort === port && id === serverId) { ctx.body = ctx.service.utils.resResult(STATUS.SERVER_EXISTS); return; } } 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); } return } public async getnotice() { const { ctx } = this; let { serverType } = ctx; console.log(serverType); let notice = [{ id: 1, title: '粮草先行', tag: 1, type: 1, content: '欢迎来到三国志赵云传', startTime: 1584921600, endTime: 1585353600 }] ctx.body = ctx.service.utils.resResult(STATUS.SUCCESS, { notice }); return } }