From 54a03584c78d4b10ede6d3c2fb5caa3944ad433e Mon Sep 17 00:00:00 2001 From: luying Date: Mon, 22 Aug 2022 18:35:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8E=92=E8=A1=8C=E6=A6=9C=EF=BC=9A=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=A9=BA=E6=8E=92=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/services/ladderService.ts | 16 ++++++++++++++++ game-server/app/services/rankService.ts | 4 ++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/game-server/app/services/ladderService.ts b/game-server/app/services/ladderService.ts index 1da5d824b..2fb5de869 100644 --- a/game-server/app/services/ladderService.ts +++ b/game-server/app/services/ladderService.ts @@ -370,6 +370,22 @@ export function completeLadderRanks(ranks: RoleAndGuildRankInfo[]) { return result; } +export function completeRanks(ranks: RoleAndGuildRankInfo[]) { + let max = Math.max(...ranks.map(cur => cur.rank), 0); + if(max > 200) max = 200; + let result: RoleAndGuildRankInfo[] = []; + for(let i = 1; i <= max; i++) { + let rank = ranks.find(cur => cur.rank == i); + if(rank) { + result.push(rank); + } else { + let rank = new RoleAndGuildRankInfo(i, 0); + result.push(rank); + } + } + return result; +} + export async function sendLadderDailyReward(serverId: number) { let ranks = await getLadderMatchByRank(serverId, '+inf', '-inf'); for(let { rank, roleId } of ranks) { diff --git a/game-server/app/services/rankService.ts b/game-server/app/services/rankService.ts index ce50a2477..fde97b76d 100644 --- a/game-server/app/services/rankService.ts +++ b/game-server/app/services/rankService.ts @@ -15,7 +15,7 @@ import { CounterModel } from "../db/Counter"; import { ActivityTimeLimitRankModel } from "../db/ActivityTimeLimitRank"; import { sendMessageToServerWithSuc } from "./pushService"; import { LadderMatchModel } from "../db/LadderMatch"; -import { completeLadderRanks } from "./ladderService"; +import { completeRanks } from "./ladderService"; /** @@ -1224,7 +1224,7 @@ export async function getRankInHandler(redisKey: REDIS_KEY, type: RANK_TYPE, key } } // if(type == RANK_TYPE.LADDER) { - // ranks = completeLadderRanks(ranks); + ranks = completeRanks(ranks); // } return { ranks, myRank } } \ No newline at end of file