后台:自动开服
This commit is contained in:
@@ -4,8 +4,8 @@ import { CounterAllModal } from './CounterAll';
|
||||
import { COUNTER, SERVER_STATUS } from '../consts';
|
||||
import { CreateServerParam } from '../domain/backEndField/params';
|
||||
import { RegionType } from './Region';
|
||||
import { DicServerName } from '../pubUtils/dictionary/DicServerName';
|
||||
import { nowSeconds } from '../pubUtils/timeUtil';
|
||||
import { gameData } from '../pubUtils/data';
|
||||
|
||||
export class Maintenance {
|
||||
|
||||
@@ -123,12 +123,13 @@ export default class Serverlist extends BaseModel {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async newServer(params: CreateServerParam, region: RegionType, dicServerName: DicServerName, uid = 1 ) {
|
||||
public static async newServer(params: CreateServerParam, region: RegionType, serverId: number, uid = 1 ) {
|
||||
let dicServerName = gameData.serverNames.get(serverId);
|
||||
let { prefix, id: regionId, env } = region;
|
||||
// 分大区
|
||||
let id = await CounterAllModal.getNewCounter(COUNTER.SERVER);
|
||||
let { openTime, stopRegisterTime: hour, activityGroupId } = params;
|
||||
let { id: serverId, sname: name, groupId, groupName } = dicServerName;
|
||||
let { sname: name, groupId, groupName } = dicServerName;
|
||||
let stopRegisterTime = openTime + hour * 60 * 60;
|
||||
|
||||
const doc = new ServerlistModel();
|
||||
@@ -138,7 +139,8 @@ export default class Serverlist extends BaseModel {
|
||||
openTime, stopRegisterTime,
|
||||
createdBy: uid, updatedBy: uid
|
||||
});
|
||||
|
||||
// 旧服修改状态
|
||||
await ServerlistModel.updateMany({ env, serverStatus: SERVER_STATUS.NEW }, { $set: { serverStatus: SERVER_STATUS.HOT } })
|
||||
let server: ServerlistType = await ServerlistModel.findOneAndUpdate({ id }, { $setOnInsert: update }, { new: true, upsert: true }).lean({ getters: true, virtuals: true });
|
||||
return server;
|
||||
}
|
||||
@@ -168,6 +170,11 @@ export default class Serverlist extends BaseModel {
|
||||
return result;
|
||||
}
|
||||
|
||||
public static async incRoleCnt(serverId: number) {
|
||||
let server: ServerlistType = await ServerlistModel.findOneAndUpdate({ serverId }, { $inc: { playerCnt: 1 } });
|
||||
return server;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export let ServerlistModel: ReturnModelType<typeof Serverlist, {}>;
|
||||
|
||||
Reference in New Issue
Block a user