diff --git a/game-server/app/servers/connector/handler/entryHandler.ts b/game-server/app/servers/connector/handler/entryHandler.ts index aa8b21e1d..81be8a7cf 100644 --- a/game-server/app/servers/connector/handler/entryHandler.ts +++ b/game-server/app/servers/connector/handler/entryHandler.ts @@ -213,6 +213,8 @@ export class EntryHandler { let ip = session.get('ip'); let role = await Role.findByRoleId(roleId, 'lv'); + if(!role) return resResult(STATUS.ROLE_NOT_FOUND); + let apJson = await getAp(roleId, ip, role.lv); return resResult(STATUS.SUCCESS, { apJson }); } diff --git a/game-server/app/servers/guild/handler/guildBossHandler.ts b/game-server/app/servers/guild/handler/guildBossHandler.ts index 363b33d86..a6c241218 100644 --- a/game-server/app/servers/guild/handler/guildBossHandler.ts +++ b/game-server/app/servers/guild/handler/guildBossHandler.ts @@ -154,6 +154,7 @@ export class GuildHandler { const roleId: string = session.get('roleId'); const roleName: string = session.get('roleName'); const serverId: number = parseInt(session.get('serverId')); + if(!userGuild) return resResult(STATUS.GUILD_NOT_FOUND); const { guildCode } = userGuild; let flag = await checkBossBattleMemberExists(guildCode, serverId, roleId, battleCode); if (!flag) { diff --git a/game-server/app/servers/guild/handler/guildHandler.ts b/game-server/app/servers/guild/handler/guildHandler.ts index 5d547b884..c1c56c211 100644 --- a/game-server/app/servers/guild/handler/guildHandler.ts +++ b/game-server/app/servers/guild/handler/guildHandler.ts @@ -182,6 +182,7 @@ export class GuildHandler { const select = ['code', 'name', 'notice', 'ceLimit', 'isAuto', 'icon', 'lv', 'memberCnt', 'guildCe']; const guild = await GuildModel.findByCode(code, null, select.join(' ')); + if(!guild) return resResult(STATUS.GUILD_NOT_FOUND); let leader = guild.leader; delete guild.leader; // 返回 diff --git a/game-server/app/services/guildService.ts b/game-server/app/services/guildService.ts index da4128047..5170378b2 100644 --- a/game-server/app/services/guildService.ts +++ b/game-server/app/services/guildService.ts @@ -229,8 +229,8 @@ export async function getUserGuildWithRefActive(roleId: string, select?: string) userGuild = await UserGuildModel.resetDailyInfoByRefTimeDaily(roleId, refTimeDaily); if (refTimeDaily && userGuild) { await sendUnreceivedWishPool(wishGoods, roleId); - await sendUnreceivedActiveBox(roleId, guildCode, refTimeDaily, receivedActive); - await sendUnreceivedDonateBox(roleId, guildCode, refTimeDaily, receiveBoxs); + await sendUnreceivedActiveBox(roleId, guildCode, refTimeDaily, receivedActive||[]); + await sendUnreceivedDonateBox(roleId, guildCode, refTimeDaily, receiveBoxs||[]); await sendUnreceivedBossWar(roleId, refTimeDaily); } if (!userGuild) { diff --git a/game-server/app/services/pushService.ts b/game-server/app/services/pushService.ts index f9d78c3c4..d9ef951ae 100644 --- a/game-server/app/services/pushService.ts +++ b/game-server/app/services/pushService.ts @@ -140,7 +140,7 @@ export async function sendMessageToTeam(teamCode: string, route: string, data: a */ export function addUserToTeamChannel(teamCode: string, isCreate: boolean, roleId: string, sid: string) { let channel = pinus.app.get('channelService').getChannel(teamCode, isCreate); - addUserToChannel(channel, roleId, sid); + if(channel) addUserToChannel(channel, roleId, sid); return channel } diff --git a/game-server/app/services/rankService.ts b/game-server/app/services/rankService.ts index 97daf6ee8..632d452e8 100644 --- a/game-server/app/services/rankService.ts +++ b/game-server/app/services/rankService.ts @@ -1331,7 +1331,7 @@ export async function getRankInHandler(redisKey: REDIS_KEY, type: RANK_TYPE, key } else if (type == RANK_TYPE.GUILD_LV) { if(role.hasGuild) { let guild = await GuildModel.findByCode(guildCode, serverId); - myRank = await r.generMyRankWithGuild2(roleId, guild.lv, guild.activeWeekly, guild.lvUpdateTime, guild); + if(guild) myRank = await r.generMyRankWithGuild2(roleId, guild.lv, guild.activeWeekly, guild.lvUpdateTime, guild); } } else if (type == RANK_TYPE.GUILD_FUND) { if(role.hasGuild) { diff --git a/shared/consts/statusCode.ts b/shared/consts/statusCode.ts index 97fd5f77a..75168cb28 100644 --- a/shared/consts/statusCode.ts +++ b/shared/consts/statusCode.ts @@ -202,7 +202,7 @@ export const STATUS = { GUILD_MEMBER_MAX: { code: 20903, simStr: '军团人员已满' }, GUILD_NOT_REACH_CONDI: { code: 20903, simStr: '您未达到申请军团条件' }, GUILD_HAS_JOIN: { code: 20904, simStr: '已加入过其他军团' }, - GUILD_NOT_FOUND: { code: 20905, simStr: '未获取到该军团' }, + GUILD_NOT_FOUND: { code: 20905, simStr: '未获取到该军团或军团已解散' }, GUILD_DELETE_ERROR: { code: 20906, simStr: '军团已解散' }, GUILD_QUIT_ERROR: { code: 20907, simStr: '退出公会失败' }, GUILD_KICK_ERROR: { code: 20908, simStr: '未找到该成员或该成员已退出' }, diff --git a/shared/db/UserGuildApply.ts b/shared/db/UserGuildApply.ts index 3430f6197..2432c9f67 100644 --- a/shared/db/UserGuildApply.ts +++ b/shared/db/UserGuildApply.ts @@ -91,7 +91,7 @@ export default class UserGuildApply extends BaseModel { let condition = { guildCode: code, type: GUILD_APPLY_TYPE.APPLY }; if(lastApplyCode) { const lastApply = await this.findByCode(lastApplyCode); - condition["createdAt"] = { $lt: lastApply.createdAt }; + if(lastApply) condition["createdAt"] = { $lt: lastApply.createdAt }; } const list: UserGuildApplyType[] = await UserGuildApplyModel.find(condition) .sort({ createdAt: -1 }) @@ -106,7 +106,7 @@ export default class UserGuildApply extends BaseModel { let condition = { roleId, type: GUILD_APPLY_TYPE.INVITE }; if(lastApplyCode) { const lastApply = await this.findByCode(lastApplyCode); - condition["createdAt"] = { $lt: lastApply.createdAt }; + if(lastApply) condition["createdAt"] = { $lt: lastApply.createdAt }; } const list: UserGuildApplyType[] = await UserGuildApplyModel.find(condition, {_id: 0}) .sort({ createdAt: -1 })