diff --git a/game-server/app/servers/battle/handler/normalBattleHandler.ts b/game-server/app/servers/battle/handler/normalBattleHandler.ts index 2b05d371d..351263411 100644 --- a/game-server/app/servers/battle/handler/normalBattleHandler.ts +++ b/game-server/app/servers/battle/handler/normalBattleHandler.ts @@ -218,8 +218,10 @@ export class NormalBattleHandler { } else if (warInfo.warType == WAR_TYPE.MYSTERY || warInfo.warType == WAR_TYPE.MYSTERY_ELITE) { let checkResult = await checkDungeonAndIncrease(roleId, 1, false); let role = await RoleModel.saveDungeonHero(roleId, battleId, heroes, isSuccess); - let r = new Rank(REDIS_KEY.DUNGEON_RANK, { serverId }); - await r.setRankWithRoleInfo(roleId, role.dungeonWarId, role.dungeonUpdatedAt, role); + if(role) { + let r = new Rank(REDIS_KEY.DUNGEON_RANK, { serverId }); + await r.setRankWithRoleInfo(roleId, role.dungeonWarId, role.dungeonUpdatedAt, role); + } if(checkResult.status == -1) { return checkResult.resResult; @@ -227,12 +229,16 @@ export class NormalBattleHandler { dungeonNum = Object.assign(dungeonNum, checkResult.data) } else if (warInfo.warType == WAR_TYPE.NORMAL) { let role = await RoleModel.updateMainWarId(roleId, battleId, nowSeconds()); - let r = new Rank(REDIS_KEY.MAIN_RANK, { serverId }); - await r.setRankWithRoleInfo(roleId, role.mainWarId, role.mainUpdatedAt, role); + if(role) { + let r = new Rank(REDIS_KEY.MAIN_RANK, { serverId }); + await r.setRankWithRoleInfo(roleId, role.mainWarId, role.mainUpdatedAt, role); + } } else if (warInfo.warType == WAR_TYPE.MAIN_ELITE) { let role = await RoleModel.updateMainEliteWarId(roleId, battleId, nowSeconds()); - let r = new Rank(REDIS_KEY.MAIN_ELITE_RANK, { serverId }); - await r.setRankWithRoleInfo(roleId, role.mainEliteWarId, role.mainEliteUpdatedAt, role); + if(role) { + let r = new Rank(REDIS_KEY.MAIN_ELITE_RANK, { serverId }); + await r.setRankWithRoleInfo(roleId, role.mainEliteWarId, role.mainEliteUpdatedAt, role); + } } if(isSuccess) { // 挑战胜利