巅峰演武:赛季优化修改

This commit is contained in:
luying
2022-10-17 16:04:45 +08:00
parent ddff18eb20
commit 08ca06d7ac
30 changed files with 590 additions and 272 deletions
@@ -2,7 +2,7 @@ import { Application, BackendSession, pinus } from 'pinus';
import { genCode, getRandSingleEelm, resResult } from '../../../pubUtils/util';
import { STATUS } from '../../../consts/statusCode';
import moment = require('moment');
import { CreateServerParam, UpdateRegionParams } from '../../../domain/backEndField/params';
import { CreatePvpConfigParam, CreateServerParam, UpdateRegionParams } from '../../../domain/backEndField/params';
import { RegionModel, RegionType } from '../../../db/Region';
import { gameData } from '../../../pubUtils/data';
import { Maintenance, ServerlistModel, ServerlistUpdate } from '../../../db/Serverlist';
@@ -11,6 +11,7 @@ import { createNewServer, sendOpenServerMail } from '../../../services/gmService
import { isNumber } from 'util';
import { MarqueeModel } from '../../../db/Marquee';
import { setApiIsCloseToRemote } from '../../../services/chatService';
import { PVPConfigModel } from '../../../db/PvpConfig';
export default function (app: Application) {
return new GmHandler(app);
@@ -180,4 +181,21 @@ export class GmHandler {
setApiIsCloseToRemote(region.isCloseApi);
return resResult(STATUS.SUCCESS);
}
async savePvpConfig(msg: CreatePvpConfigParam, session: BackendSession) {
let params = new CreatePvpConfigParam(msg);
if(!params.checkParams()) return resResult(STATUS.WRONG_PARMS);
if(params.seasonStartTime >= params.seasonEndTime) return resResult(STATUS.WRONG_PARMS, null, '开始时间不可晚于结束时间');
if(params.seasonEndTime >= params.seasonRewardTime) return resResult(STATUS.WRONG_PARMS, null, '结束时间不可晚于奖励时间');
if(await PVPConfigModel.checkTime(params.seasonNum, params.seasonStartTime, params.seasonRewardTime)) {
return resResult(STATUS.WRONG_PARMS, null, '不可与其他赛季时间重叠');
}
let uid = session.get('uid');
await PVPConfigModel.createPVPConfig(params.seasonNum, params.getUpdateParam(), uid);
pinus.app.rpc.systimer.systimerRemote.setPvpSeasonSchedule.broadcast(true);
return resResult(STATUS.SUCCESS);
}
}