diff --git a/game-server/app/servers/role/handler/rankHandler.ts b/game-server/app/servers/role/handler/rankHandler.ts index ac12e67a0..3296d9cb2 100644 --- a/game-server/app/servers/role/handler/rankHandler.ts +++ b/game-server/app/servers/role/handler/rankHandler.ts @@ -45,17 +45,19 @@ export class RoleHandler { if(general == 1) { let r = new Rank(redisKey, { serverId }, false, 1); let ranks = await r.getRankByRange(); - let param = new GeneralRankParamRole(id, ranks[0]||new RoleRankInfo({}, false), received); - res.role.push(param); + if(ranks.length > 0) { + let param = new GeneralRankParamRole(id, ranks[0]||new RoleRankInfo({}, false), received); + res.role.push(param); + } } else if (general = 2) { let r = new Rank(redisKey, { serverId }, false, 1); let ranks = await r.getRankByRange(); let hero: HeroUpdate; if(ranks.length > 0) { hero = await HeroModel.getMyTopHero(ranks[0].roleId, 'hid skins'); + let param = new GeneralRankParamBattle(id, ranks[0]||new RoleRankInfo({}, false), hero, received); + res.battle.push(param); } - let param = new GeneralRankParamBattle(id, ranks[0]||new RoleRankInfo({}, false), hero, received); - res.battle.push(param); } } } @@ -183,6 +185,7 @@ export class RoleHandler { for(let role of roles) { let heroes = await HeroModel.find({ roleId: role.roleId }).lean(); await RoleModel.updateRoleInfo(role.roleId, { heroNum: heroes.length, heroNumUpdatedAt: nowSeconds() }); + } } } \ No newline at end of file