赛季结算
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user