赛季结算

This commit is contained in:
mamengke01
2021-01-15 22:11:12 +08:00
parent 41cab412c2
commit 492dcea2d9
2 changed files with 15 additions and 5 deletions

View File

@@ -20,7 +20,7 @@ const PER_DAY = 24 * 60 * 60;
const SETTLE_DIFF = 29 * 60;
const LIMIT_NUM = 1000;
const pageNum = 500;
const PER_MINUTE = 1 * 1000;
const PER_MINUTE = 1 * 60;
var seasonJobId;
var warJobId;
var seasonEndTimeJobId;
@@ -28,6 +28,7 @@ export async function init() {
let seasonEndTime = 0;
let systemConfig = await SystemConfigModel.findSystemConfig();
if (!systemConfig) {
console.log('create season seasonNum = '+ systemConfig.seasonNum);
let warIds = getPvpGkWarIds();
let warId = warIds[0];//TODO随机地图
seasonEndTime = PVP.PVP_SEASON_DAYS * PER_DAY + getTodayZeroPoint();
@@ -36,19 +37,24 @@ export async function init() {
seasonEndTime = systemConfig.seasonEndTime;
if (systemConfig.seasonEndTime - SETTLE_DIFF <= nowSeconds()) {
seasonEndTime = PVP.PVP_SEASON_DAYS * PER_DAY + getTodayZeroPoint();
console.log('update season seasonNum = '+ systemConfig.seasonNum);
systemConfig.seasonNum++;
await SystemConfigModel.updateSystemConfig({ seasonEndTime, seasonNum: systemConfig.seasonNum, oldSeasonEndTime: systemConfig.seasonEndTime});
await setPvpSeasonResult({name: 'simpleJobExample' + systemConfig.seasonNum, notSetNext: true });
}
await setPvpSeasonResult({name: 'simpleJobExample' + systemConfig.seasonNum, notSetNext: true, notPush: true });
}
}
let settleTime = (seasonEndTime - SETTLE_DIFF)* PER_SECOND;
console.log(' settleTime = ' + settleTime);
seasonJobId = scheduleJob(settleTime, setPvpSeasonResult, { name: 'setPvpSeasonResult' });
console.log(' settleTime111111 = ' + (seasonEndTime - PER_MINUTE)* PER_SECOND);
seasonEndTimeJobId = scheduleJob((seasonEndTime - PER_MINUTE)* PER_SECOND, resetPvpRanks, { name: 'resetRank' });
warJobId = scheduleJob("0 0 0 * * 3", resetPvpWarId);
console.log('execute season resetPvpRanks');
await resetPvpRanks();
}
export async function setPvpSeasonResult(obj:{ name:string, notSetNext?: boolean }) {
export async function setPvpSeasonResult(obj:{ name:string, notSetNext?: boolean, notPush?: boolean }) {
console.log('exce setPvpSeasonResult'+ obj?.name);
let { seasonNum, seasonEndTime, oldSeasonEndTime } = await setNextPvpTime(obj?.notSetNext);
let resultMaxRank = getResultMaxRank();
@@ -64,6 +70,9 @@ export async function setPvpSeasonResult(obj:{ name:string, notSetNext?: boolean
}
}
await MailModel.addMails(addMails);
if (obj?.notPush) {
continue;
}
for (let message of pushMessage) {
pinus.app.rpc.connector.connectorRemote.pushMessage.toServer(message.sid, message.uid, message.route, message.data);
}
@@ -212,6 +221,7 @@ export async function resetPvpSeasonTime(hour: number) {
seasonNum = systemConfig.seasonNum + 1;
await SystemConfigModel.updateSystemConfig({ seasonEndTime, seasonNum, oldSeasonEndTime: 0});
await setPvpSeasonResult({name: 'simpleJobExample' + systemConfig.seasonNum, notSetNext: true });
await resetPvpRanks();
}
let settleTime = (seasonEndTime - SETTLE_DIFF)* PER_SECOND;
console.log('settleTime = ' + settleTime)