🐞 fix(gvg): 修复gvg激战期bug

This commit is contained in:
luying
2023-02-21 17:16:23 +08:00
parent 2dffaa7f80
commit 8a14b5bd48
11 changed files with 71 additions and 38 deletions
+16 -9
View File
@@ -80,11 +80,14 @@ export async function setGVGConfig(config?: GVGConfigType) {
if(!config) {
config = await GVGConfigModel.findConfig();
}
pinus.app.set('gvgConfigId', config.configId);
pinus.app.set('gvgTeamTime', config.teamTime);
pinus.app.set('gvgPrepareTime', config.prepareTime);
pinus.app.set('gvgBattleTime', config.battleTime);
pinus.app.set('gvgScheduleTime', config.scheduleTime);
if(config.teamTime > nowSeconds()) {
config = null;
}
pinus.app.set('gvgConfigId', config?.configId||0);
pinus.app.set('gvgTeamTime', config?.teamTime||0);
pinus.app.set('gvgPrepareTime', config?.prepareTime||0);
pinus.app.set('gvgBattleTime', config?.battleTime||0);
pinus.app.set('gvgScheduleTime', config?.scheduleTime||0);
}
/**
@@ -138,18 +141,22 @@ export function getGVGPeriodData() {
countdownTime = scheduleTime; break;
}
}
console.log('######## getGVGPeriodData', configId, teamTime, prepareTime, battleTime, scheduleTime)
return { configId, period, countdownTime };
}
export function getCurPeriod() {
let { teamTime, prepareTime, battleTime } = getGVGConfig();
let { teamTime, prepareTime, battleTime, scheduleTime } = getGVGConfig();
let now = nowSeconds();
if(now >= teamTime && now < prepareTime) {
return GVG_PERIOD.TEAM;
} else if (now >= prepareTime && now < battleTime) {
return GVG_PERIOD.PREPARE;
} else {
} else if (now >= battleTime && now < scheduleTime){
return GVG_PERIOD.BATTLE;
} else {
return GVG_PERIOD.NO;
}
}
@@ -204,7 +211,7 @@ export async function getGVGInfoInGuild(roleId: string, guild: GuildType) {
let { configId, period, countdownTime } = getGVGPeriodData();
let type = await getGVGServerType(serverId);
if(hasLeague) {
if(hasLeague && configId > 0) {
return {
hasLeague,
configId, period, countdownTime,
@@ -257,7 +264,7 @@ export async function getMainData(roleId: string, leagueCode: string, configId:
let leaguePrepare = await GVGLeaguePrepareModel.findByLeague(configId, league.leagueCode);
data.setLeagueParpare(leaguePrepare);
data.setTechQueue(leaguePrepare.techQueue);
data.setTechQueue(leaguePrepare?.techQueue||[]);
let userData = await GVGUserDataModel.findByRole(configId, league.leagueCode, roleId);
let items = await GVGUserItemModel.findByRole(configId, league.leagueCode, roleId);