名将擂台:超时推送逻辑修改
This commit is contained in:
@@ -212,7 +212,7 @@ export class LadderHandler {
|
||||
await BattleRecordModel.updateBattleRecordByCode(battleCode, { $set: { status: isSuccess? 1: 2 } });
|
||||
|
||||
let historyRank = ladderData.historyRank;
|
||||
ladderData = await LadderMatchModel.updateByRoleId(roleId, { historyRank: (historyRank > rank || historyRank == 0)? rank: historyRank });
|
||||
ladderData = await LadderMatchModel.updateByRoleId(roleId, { historyRank: (historyRank > atkLadderMatch.rank || historyRank == 0)? atkLadderMatch.rank: historyRank });
|
||||
|
||||
result.setLadderData(ladderData, rec);
|
||||
// 获取奖励
|
||||
|
||||
@@ -267,19 +267,23 @@ function calculateDefCeByDefense(defense: LadderDefense) {
|
||||
return ce;
|
||||
}
|
||||
|
||||
export async function ladderTimeout(battleCode: string, status: LADDER_STATUS) {
|
||||
let rec = await LadderMatchRecModel.findByBattleCode(battleCode);
|
||||
if(status == LADDER_STATUS.CHECK) {
|
||||
await sendMessageToUserWithSuc(rec.roleId1, PUSH_ROUTE.LADDER_CHECK_STOP, { battleCode });
|
||||
} else if (status == LADDER_STATUS.BATTLE) {
|
||||
export async function ladderTimeWillout(battleCode: string, status: LADDER_STATUS) {
|
||||
console.log('######### ladderTimeWillout')
|
||||
if (status == LADDER_STATUS.BATTLE) {
|
||||
let rec = await LadderMatchRecModel.findByBattleCode(battleCode);
|
||||
await sendMessageToUserWithSuc(rec.roleId1, PUSH_ROUTE.LADDER_BATTLE_STOP, { battleCode });
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(async () => {
|
||||
let rec = await LadderMatchRecModel.timeout(battleCode);
|
||||
// console.log('##### rec.defenseInfo', rec.defenseInfo, rec.defenseInfo.isRobot, rec.defenseInfo.roleId)
|
||||
if(rec.defenseInfo && !rec.defenseInfo.isRobot) await LadderMatchModel.unlock(rec.serverId, rec.defenseInfo.roleId);
|
||||
}, LADDER_SERVER_GAP_TIME * 1000);
|
||||
export async function ladderTimeout(battleCode: string, status: LADDER_STATUS) {
|
||||
console.log('######### ladderTimeout')
|
||||
let rec = await LadderMatchRecModel.timeout(battleCode);
|
||||
// console.log('##### rec.defenseInfo', rec.defenseInfo, rec.defenseInfo.isRobot, rec.defenseInfo.roleId)
|
||||
if(rec.defenseInfo && !rec.defenseInfo.isRobot) await LadderMatchModel.unlock(rec.serverId, rec.defenseInfo.roleId);
|
||||
|
||||
if(status == LADDER_STATUS.CHECK) {
|
||||
await sendMessageToUserWithSuc(rec.roleId1, PUSH_ROUTE.LADDER_CHECK_STOP, { battleCode });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -338,7 +342,7 @@ export function completeLadderRanks(ranks: RoleAndGuildRankInfo[]) {
|
||||
result.push(rank);
|
||||
} else {
|
||||
let rank = new RoleAndGuildRankInfo(i, 0);
|
||||
rank.setByField(`robot${i}`, LADDER.LADDER_ROBOT_NAME, head, EXTERIOR.EXTERIOR_FACECASE, spine, level, 1, '', ce );
|
||||
rank.setByField(`robot${i}`, LADDER.LADDER_ROBOT_NAME, head, EXTERIOR.EXTERIOR_FACECASE, spine, level, 1, '', ce, ce );
|
||||
result.push(rank);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -39,7 +39,7 @@ import { resResult } from '../pubUtils/util';
|
||||
import { checkPopUpConditionWhenGuildActivityEnd } from './activity/popUpShopService';
|
||||
import { pushRefreshTime } from './connectorService';
|
||||
import { sendUnReceivedActivityDailyCoin } from './activity/dailyCoinService';
|
||||
import { ladderTimeout, sendLadderDailyReward } from './ladderService';
|
||||
import { ladderTimeout, ladderTimeWillout, sendLadderDailyReward } from './ladderService';
|
||||
import { clearLadderLock } from './ladderService';
|
||||
|
||||
const PER_SECOND = 1 * 1000;
|
||||
@@ -748,7 +748,13 @@ export async function setLadderCountDown(battleCode: string, time: number, statu
|
||||
}
|
||||
let endTime = time + (status == LADDER_STATUS.CHECK? LADDER.LADDER_BATTLE_PREPARE_COUNTDOWN: LADDER.LADDER_BATTLE_COUNTDOWN);
|
||||
scheduleJob(`ladder${battleCode}`, endTime * 1000, async () => {
|
||||
await ladderTimeout(battleCode, status);
|
||||
await ladderTimeWillout(battleCode, status);
|
||||
|
||||
scheduledJobs[`ladder${battleCode}`].cancel();
|
||||
scheduleJob(`ladder${battleCode}`, endTime * 1000 + LADDER_SERVER_GAP_TIME * 1000, async () => {
|
||||
await ladderTimeout(battleCode, status);
|
||||
scheduledJobs[`ladder${battleCode}`].cancel();
|
||||
});
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user