赛季结算

This commit is contained in:
mamengke01
2021-01-15 22:11:42 +08:00
parent 41cab412c2
commit 492dcea2d9
2 changed files with 15 additions and 5 deletions
@@ -122,7 +122,7 @@ export class PvpHandler {
let {actorId, dataId, order} = cur; let {actorId, dataId, order} = cur;
return { actorId, dataId, order } return { actorId, dataId, order }
}), score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry, isDefaultHero } }), score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry, isDefaultHero }
if (show) {//是否弹出结算奖励 if (flag) {//是否弹出结算奖励
data.resultRecord = { oldSeasonData, heroGoods, rankGoods } data.resultRecord = { oldSeasonData, heroGoods, rankGoods }
} }
return resResult(STATUS.SUCCESS, data); return resResult(STATUS.SUCCESS, data);
+14 -4
View File
@@ -20,7 +20,7 @@ const PER_DAY = 24 * 60 * 60;
const SETTLE_DIFF = 29 * 60; const SETTLE_DIFF = 29 * 60;
const LIMIT_NUM = 1000; const LIMIT_NUM = 1000;
const pageNum = 500; const pageNum = 500;
const PER_MINUTE = 1 * 1000; const PER_MINUTE = 1 * 60;
var seasonJobId; var seasonJobId;
var warJobId; var warJobId;
var seasonEndTimeJobId; var seasonEndTimeJobId;
@@ -28,6 +28,7 @@ export async function init() {
let seasonEndTime = 0; let seasonEndTime = 0;
let systemConfig = await SystemConfigModel.findSystemConfig(); let systemConfig = await SystemConfigModel.findSystemConfig();
if (!systemConfig) { if (!systemConfig) {
console.log('create season seasonNum = '+ systemConfig.seasonNum);
let warIds = getPvpGkWarIds(); let warIds = getPvpGkWarIds();
let warId = warIds[0];//TODO随机地图 let warId = warIds[0];//TODO随机地图
seasonEndTime = PVP.PVP_SEASON_DAYS * PER_DAY + getTodayZeroPoint(); seasonEndTime = PVP.PVP_SEASON_DAYS * PER_DAY + getTodayZeroPoint();
@@ -36,19 +37,24 @@ export async function init() {
seasonEndTime = systemConfig.seasonEndTime; seasonEndTime = systemConfig.seasonEndTime;
if (systemConfig.seasonEndTime - SETTLE_DIFF <= nowSeconds()) { if (systemConfig.seasonEndTime - SETTLE_DIFF <= nowSeconds()) {
seasonEndTime = PVP.PVP_SEASON_DAYS * PER_DAY + getTodayZeroPoint(); seasonEndTime = PVP.PVP_SEASON_DAYS * PER_DAY + getTodayZeroPoint();
console.log('update season seasonNum = '+ systemConfig.seasonNum);
systemConfig.seasonNum++; systemConfig.seasonNum++;
await SystemConfigModel.updateSystemConfig({ seasonEndTime, seasonNum: systemConfig.seasonNum, oldSeasonEndTime: systemConfig.seasonEndTime}); 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; let settleTime = (seasonEndTime - SETTLE_DIFF)* PER_SECOND;
console.log(' settleTime = ' + settleTime);
seasonJobId = scheduleJob(settleTime, setPvpSeasonResult, { name: 'setPvpSeasonResult' }); seasonJobId = scheduleJob(settleTime, setPvpSeasonResult, { name: 'setPvpSeasonResult' });
console.log(' settleTime111111 = ' + (seasonEndTime - PER_MINUTE)* PER_SECOND);
seasonEndTimeJobId = scheduleJob((seasonEndTime - PER_MINUTE)* PER_SECOND, resetPvpRanks, { name: 'resetRank' }); seasonEndTimeJobId = scheduleJob((seasonEndTime - PER_MINUTE)* PER_SECOND, resetPvpRanks, { name: 'resetRank' });
warJobId = scheduleJob("0 0 0 * * 3", resetPvpWarId); warJobId = scheduleJob("0 0 0 * * 3", resetPvpWarId);
console.log('execute season resetPvpRanks');
await 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); console.log('exce setPvpSeasonResult'+ obj?.name);
let { seasonNum, seasonEndTime, oldSeasonEndTime } = await setNextPvpTime(obj?.notSetNext); let { seasonNum, seasonEndTime, oldSeasonEndTime } = await setNextPvpTime(obj?.notSetNext);
let resultMaxRank = getResultMaxRank(); let resultMaxRank = getResultMaxRank();
@@ -64,6 +70,9 @@ export async function setPvpSeasonResult(obj:{ name:string, notSetNext?: boolean
} }
} }
await MailModel.addMails(addMails); await MailModel.addMails(addMails);
if (obj?.notPush) {
continue;
}
for (let message of pushMessage) { for (let message of pushMessage) {
pinus.app.rpc.connector.connectorRemote.pushMessage.toServer(message.sid, message.uid, message.route, message.data); 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; seasonNum = systemConfig.seasonNum + 1;
await SystemConfigModel.updateSystemConfig({ seasonEndTime, seasonNum, oldSeasonEndTime: 0}); await SystemConfigModel.updateSystemConfig({ seasonEndTime, seasonNum, oldSeasonEndTime: 0});
await setPvpSeasonResult({name: 'simpleJobExample' + systemConfig.seasonNum, notSetNext: true }); await setPvpSeasonResult({name: 'simpleJobExample' + systemConfig.seasonNum, notSetNext: true });
await resetPvpRanks();
} }
let settleTime = (seasonEndTime - SETTLE_DIFF)* PER_SECOND; let settleTime = (seasonEndTime - SETTLE_DIFF)* PER_SECOND;
console.log('settleTime = ' + settleTime) console.log('settleTime = ' + settleTime)