后台:军团活动debug

This commit is contained in:
luying
2021-10-14 17:33:22 +08:00
parent 0dc178b155
commit 2b6b941649
9 changed files with 227 additions and 22 deletions

View File

@@ -2,7 +2,7 @@
import { scheduleJob, Job, } from 'node-schedule';
import { PVPConfigModel } from '../db/SystemConfig';
import PvpDefenseType, { PvpDefenseModel } from '../db/PvpDefense';
import { PVP } from '../pubUtils/dicParam';
import { PVP, SERVER_DEBUG_MODE } from '../pubUtils/dicParam';
import { nowSeconds, getTimeFun } from '../pubUtils/timeUtil';
import { getPvpGkWarIds, getPvpRankRewards, getPvpHeroRewards, getResultMaxRank, getTodayGuildActivity, gameData } from '../pubUtils/data';
import { deepCopy, getRandSingleEelm } from '../pubUtils/util';
@@ -36,6 +36,7 @@ var seasonMakeRewardTimJobId: Job;
var warJobId: Job;
var seasonRefreshTimeJobId: Job;
let guildWeeklyJobId: Job;
let guildActStartJobId: Job; // 军团活动开启后每10(or 1)秒循环的定时任务,到结束活动清除
let guildActSecondsJobId: Job; // 军团活动开启后每10(or 1)秒循环的定时任务,到结束活动清除
let guildActEndJobId: Job; // 军团活动开启后每10(or 1)秒循环的定时任务,到结束活动清除
let pvpMakeRewardInterval = null;
@@ -342,13 +343,18 @@ export async function reportOnlineSchedule() {
/**
* 军团活动每晚8点开启
*/
async function guildActivitySchedule() {
export async function guildActivitySchedule() {
/***********guildActivitySchedule***********/
if (guildActStartJobId) {
guildActStartJobId.cancel();
}
let dicGuildActivity = getTodayGuildActivity();
await delGuildActivityRank(dicGuildActivity.id);
scheduleJob('guildActivityStart', `${dicGuildActivity.startSeconds} ${dicGuildActivity.startMinute} ${dicGuildActivity.startTime} * * ?`, guildActivityStartSchedule);
console.log(dicGuildActivity)
guildActStartJobId = scheduleJob('guildActivityStart', `${dicGuildActivity.startSeconds} ${dicGuildActivity.startMinute} ${dicGuildActivity.startTime} * * ?`, guildActivityStartSchedule);
}
// 军团晚间活动每天8点开始
@@ -365,6 +371,7 @@ export async function guildActivityStart(dicGuildActivity?: DicGuildActivity) {
return false
}
console.log('********', dicGuildActivity.id, Date.now() + dicGuildActivity.duringTime * 1000)
let servers = await getAllServers(); // 玩家serverId列表
if (dicGuildActivity.id == GUILD_ACTIVITY_TYPE.GATE_ACTIVITY) {
guildActSecondsJobId = scheduleJob('guildActivitySeconds', '*/10 * * * * *', gateActivitySeconds);
@@ -458,8 +465,6 @@ export async function raceActivityEnd() {
guildActSecondsJobId = undefined;
}
if (guildActEndJobId) {
guildActEndJobId.cancel();
guildActEndJobId = undefined;
}
@@ -476,13 +481,42 @@ export async function raceActivitySeconds() {
}
}
function auctionSchedule() {
let startGuildAuctionJobId: Job;
let startWorldAuctionJobId: Job;
let stopAuctionJobId: Job;
let sendUngotDividendJobId: Job;
export function auctionSchedule() {
clearAuctionSchedule();
let guildOpen = gameData.auctionTime.get(AUCTION_TIME.GUILD_OPEN);
let worldOpen = gameData.auctionTime.get(AUCTION_TIME.WORLD_OPEN);
let worldClose = gameData.auctionTime.get(AUCTION_TIME.WORLD_CLOSE);
scheduleJob('startGuildAuction', `0 0 ${guildOpen.hour} ${guildOpen.minute} * ?`, startGuildAuction);
scheduleJob('startWorldAuction', `0 0 ${worldOpen.hour} ${worldOpen.minute} * ?`, startWorldAuction);
scheduleJob('stopAuction', `0 0 ${worldClose.hour} ${worldClose.minute} * ?`, stopAuction);
scheduleJob('sendUngotDividendJob', '0 0 5 00 * ?', sendUngotDividendJob);
console.log('***** auctionSchedule', guildOpen.hour, guildOpen.minute, guildOpen.seconds);
console.log('***** auctionSchedule', worldOpen.hour, worldOpen.minute, worldOpen.seconds);
console.log('***** auctionSchedule', worldClose.hour, worldClose.minute, worldClose.seconds);
startGuildAuctionJobId = scheduleJob('startGuildAuction', `${guildOpen.seconds} ${guildOpen.minute} ${guildOpen.hour} * * ?`, startGuildAuction);
startWorldAuctionJobId = scheduleJob('startWorldAuction', `${worldOpen.seconds} ${worldOpen.minute} ${worldOpen.hour} * * ?`, startWorldAuction);
stopAuctionJobId = scheduleJob('stopAuction', `${worldClose.seconds} ${worldClose.minute} ${worldClose.hour} * * ?`, stopAuction);
sendUngotDividendJobId = scheduleJob('sendUngotDividendJob', '0 0 5 00 * ?', sendUngotDividendJob);
}
function clearAuctionSchedule() {
if (startGuildAuctionJobId) {
startGuildAuctionJobId.cancel();
startGuildAuctionJobId = undefined;
}
if (startWorldAuctionJobId) {
startWorldAuctionJobId.cancel();
startWorldAuctionJobId = undefined;
}
if (stopAuctionJobId) {
stopAuctionJobId.cancel();
stopAuctionJobId = undefined;
}
if (sendUngotDividendJobId) {
sendUngotDividendJobId.cancel();
sendUngotDividendJobId = undefined;
}
}