✨ feat(gvg): 组建期

This commit is contained in:
luying
2023-02-17 10:58:03 +08:00
parent 94c69089ac
commit 03fa74f3d1
50 changed files with 10354 additions and 38 deletions
@@ -1,5 +1,5 @@
import { Application, BackendSession, pinus } from 'pinus';
import { getRandSingleEelm, resResult } from '../../../pubUtils/util';
import { getRandSingleEelm, isTimestamp, resResult } from '../../../pubUtils/util';
import { STATUS } from '../../../consts/statusCode';
import { GMMailModel, GMMailType } from '../../../db/GMMail';
import { ACTIVITY_TYPE, GM_MAIL_STATUS, GM_MAIL_TYPE, MAIL_TIME_TYPE, MEMORY_LOG_TYPE, PUSH_ROUTE, SURVEY_SELECT } from '../../../consts';
@@ -17,6 +17,12 @@ import { getSurvey } from '../../../services/gmService';
import { sendMessageToAllWithSuc } from '../../../services/pushService';
import { sendMailByContent, sendMailsByGmMail } from '../../../services/mailService';
import { saveMemory } from '../../../services/log/memoryLogService';
import { getGVGConfigFromRemote } from '../../../services/gvg/gvgService';
import { GVGServerGroupModel } from '../../../db/GVGServerGroup';
import { isNumber } from 'underscore';
import { group } from 'console';
import { GVGConfigModel } from '../../../db/GVGConfig';
import { ServerlistModel } from '../../../db/Serverlist';
let timer: NodeJS.Timer;
export default function (app: Application) {
@@ -285,4 +291,30 @@ export class GmHandler {
await saveMemory(memoryLogType);
return resResult(STATUS.SUCCESS);
}
async updateGVGServerGroup(msg: { serverId: number[], groupId: number }, session: BackendSession) {
const { serverId: serverIds, groupId } = msg;
if(!isNumber(groupId)) return resResult(STATUS.WRONG_PARMS);
for(let serverId of serverIds) {
if(!isNumber(serverId)) return resResult(STATUS.WRONG_PARMS);
}
let { scheduleTime } = await getGVGConfigFromRemote();
for(let serverId of serverIds) {
await GVGServerGroupModel.updateByServerId(serverId, groupId, scheduleTime);
}
return resResult(STATUS.SUCCESS);
}
async updateGVGConfig(msg: { configId: number, teamTime: number, prepareTime: number, battleTime: number, scheduleTime: number }, session: BackendSession) {
const { configId, teamTime, prepareTime, battleTime, scheduleTime } = msg;
if(!isNumber(configId) || !isTimestamp(teamTime) || !isTimestamp(prepareTime) || !isTimestamp(battleTime) || !isTimestamp(scheduleTime)) {
return resResult(STATUS.WRONG_PARMS);
}
if(teamTime > prepareTime || prepareTime > battleTime || battleTime > scheduleTime) {
return resResult(STATUS.GM_GVG_TIME_ERR);
}
await GVGConfigModel.updateConfig(configId, teamTime, prepareTime, battleTime, scheduleTime);
await pinus.app.rpc.systimer.systimerRemote.initGVGConfigSchedule.broadcast();
return resResult(STATUS.SUCCESS);
}
}