名将擂台:刷新对手顺序

This commit is contained in:
luying
2022-07-26 15:05:32 +08:00
parent 4144cf8d67
commit 457cea6b43
2 changed files with 13 additions and 6 deletions
@@ -198,8 +198,7 @@ export class LadderHandler {
let { isChange, atkLadderMatch, defLadderMatch, endTime } = await LadderMatchModel.changeRank(isSuccess, rec.attackInfo, rec.defenseInfo); let { isChange, atkLadderMatch, defLadderMatch, endTime } = await LadderMatchModel.changeRank(isSuccess, rec.attackInfo, rec.defenseInfo);
if(isChange) { if(isChange) {
let oppPlayers = await battleEndWhenChange(atkLadderMatch, true); let oppPlayers = await battleEndWhenChange(atkLadderMatch, defLadderMatch, true);
await battleEndWhenChange(defLadderMatch, true);
result.setOppPlayers(oppPlayers); result.setOppPlayers(oppPlayers);
rec = await LadderMatchRecModel.battleEnd(battleCode, isSuccess, endTime, atkLadderMatch.rank, defLadderMatch? defLadderMatch.rank: rec.attackInfo.oldRank); rec = await LadderMatchRecModel.battleEnd(battleCode, isSuccess, endTime, atkLadderMatch.rank, defLadderMatch? defLadderMatch.rank: rec.attackInfo.oldRank);
if(atkLadderMatch.rank == 1) { if(atkLadderMatch.rank == 1) {
@@ -386,8 +385,7 @@ export class LadderHandler {
atkLadderMatch = await LadderMatchModel.findOneAndUpdate({ roleId }, { $set: { rank, oldRank: atkLadderMatch.rank, historyRank: rank } }, { new: true }).lean(); atkLadderMatch = await LadderMatchModel.findOneAndUpdate({ roleId }, { $set: { rank, oldRank: atkLadderMatch.rank, historyRank: rank } }, { new: true }).lean();
} }
await battleEndWhenChange(atkLadderMatch, true); await battleEndWhenChange(atkLadderMatch, defLadderMatch, true);
await battleEndWhenChange(defLadderMatch, true);
return resResult(STATUS.SUCCESS); return resResult(STATUS.SUCCESS);
} }
+11 -2
View File
@@ -299,16 +299,25 @@ export async function ladderTimeout(battleCode: string, status: LADDER_STATUS) {
* @param isAtk * @param isAtk
* @returns * @returns
*/ */
export async function battleEndWhenChange(ladderMatch: LadderMatchType, needRefresh: boolean) { export async function battleEndWhenChange(atkLadderMatch: LadderMatchType, defLadderMatch: LadderMatchType, needRefresh: boolean) {
if(!ladderMatch) return; await updateLadderRedis(atkLadderMatch);
await updateLadderRedis(defLadderMatch);
await refreshOpp(defLadderMatch, needRefresh);
return await refreshOpp(atkLadderMatch, needRefresh);
}
async function updateLadderRedis(ladderMatch: LadderMatchType) {
if(!ladderMatch) return;
// 更新redis // 更新redis
if(ladderMatch.rank > 0 && ladderMatch.rank < 3001) { if(ladderMatch.rank > 0 && ladderMatch.rank < 3001) {
let r = new Rank(REDIS_KEY.LADDER, { serverId: ladderMatch.serverId }); let r = new Rank(REDIS_KEY.LADDER, { serverId: ladderMatch.serverId });
await r.setRankWithRoleInfo(ladderMatch.roleId, ladderMatch.rank, 0); await r.setRankWithRoleInfo(ladderMatch.roleId, ladderMatch.rank, 0);
await saveLadderDefCeByData(ladderMatch.roleId, ladderMatch); await saveLadderDefCeByData(ladderMatch.roleId, ladderMatch);
} }
}
async function refreshOpp(ladderMatch: LadderMatchType, needRefresh: boolean) {
if(!ladderMatch) return []
// 刷新对手 // 刷新对手
if(needRefresh) { if(needRefresh) {
let oppPlayers = await refreshLadderEnemies(ladderMatch); let oppPlayers = await refreshLadderEnemies(ladderMatch);