✨ feat(服务器): 多服务器开服
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import { Application, BackendSession, pinus } from 'pinus';
|
||||
import { genCode, getRandSingleEelm, isTimestamp, resResult } from '../../../pubUtils/util';
|
||||
import { STATUS } from '../../../consts/statusCode';
|
||||
import { UpdateHiddenDataParam, CreatePvpConfigParam, CreateServerParam, UpdateRegionParams } from '../../../domain/backEndField/params';
|
||||
import { UpdateHiddenDataParam, CreatePvpConfigParam, CreateServerParam, UpdateRegionParams, CreateServersParam } from '../../../domain/backEndField/params';
|
||||
import { RegionModel, RegionType } from '../../../db/Region';
|
||||
import { getDicServerName } from '../../../pubUtils/data';
|
||||
import { Maintenance, ServerlistModel, ServerlistUpdate } from '../../../db/Serverlist';
|
||||
@@ -45,8 +45,9 @@ export class GmHandler {
|
||||
}
|
||||
|
||||
// 手动开服
|
||||
async createNewServer(msg: CreateServerParam, session: BackendSession) {
|
||||
let params = new CreateServerParam(msg);
|
||||
async createNewServer(msg: CreateServersParam, session: BackendSession) {
|
||||
if(isNumber(msg.openTime)) return resResult(STATUS.WRONG_PARMS, '请刷新后使用新后台页面');
|
||||
let params = new CreateServersParam(msg);
|
||||
let uid = session.get('uid');
|
||||
if(!params.checkParams()) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
@@ -54,12 +55,15 @@ export class GmHandler {
|
||||
let curRegion = await RegionModel.findRegionByEnv(params.env);
|
||||
console.log('******* curRegion', curRegion);
|
||||
if(!curRegion) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
msg.openTime.sort()
|
||||
let { latestServer = 0, env } = curRegion;
|
||||
let dic = getDicServerName(env, latestServer + 1);
|
||||
if(!dic) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
|
||||
await createNewServer(curRegion, latestServer + 1, params, uid);
|
||||
for(let openTime of msg.openTime) {
|
||||
let dic = getDicServerName(env, latestServer + 1);
|
||||
if(!dic) return resResult(STATUS.DIC_DATA_NOT_FOUND);
|
||||
|
||||
await createNewServer(curRegion, latestServer + 1, new CreateServerParam({...params, openTime}), uid);
|
||||
latestServer++;
|
||||
}
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
@@ -253,7 +257,14 @@ export class GmHandler {
|
||||
let server = await ServerlistModel.findByServerId(serverId);
|
||||
if(!server) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
let region = await RegionModel.findRegionById(server.regionId);
|
||||
if(!region) return resResult(STATUS.WRONG_PARMS);
|
||||
|
||||
server = await ServerlistModel.updateByServerId(serverId, { openTime: serverOpenTime });
|
||||
if(server.id == region.latestServerUniqId) {
|
||||
region = await RegionModel.updateRegion(server.regionId, { latestServerOpenTime: server.openTime })
|
||||
}
|
||||
|
||||
await redisClient().hsetAsync(REDIS_KEY.SERVER_OPEN_TIME, `${server.id}`, `${server.openTime}`);
|
||||
return resResult(STATUS.SUCCESS);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user