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