From 748588635a3f6c1d562f246e983d26f42147e90e Mon Sep 17 00:00:00 2001 From: luying Date: Mon, 13 Jun 2022 16:56:58 +0800 Subject: [PATCH] =?UTF-8?q?=E7=99=BB=E5=BD=95=EF=BC=9A=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E7=99=BB=E5=BD=95onEntryData=E6=B7=BB=E5=8A=A0try=20catch?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/services/connectorService.ts | 205 ++++++++++--------- 1 file changed, 105 insertions(+), 100 deletions(-) diff --git a/game-server/app/services/connectorService.ts b/game-server/app/services/connectorService.ts index f69cc19be..d8c404336 100644 --- a/game-server/app/services/connectorService.ts +++ b/game-server/app/services/connectorService.ts @@ -105,108 +105,113 @@ export async function pushData(hasInit: boolean, role: RoleType, session: Fronte } export async function getModuleData(type: string, data: { role: RoleType, session: FrontendOrBackendSession }, guildData: { hasGuild: boolean, guild?: GuildType, userGuild?: UserGuildType, guildResult?: any } = { hasGuild: false }) { - let { role, session } = data; - const { roleId, serverId, roleName, guildCode } = role; - let { hasGuild, guild, userGuild, guildResult } = guildData; - switch (type) { - case 'role': - let heros = await HeroModel.findByRole(role.roleId, [], HERO_SELECT.ENTRY, true); - let jewels = await JewelModel.findbyRole(role.roleId, JEWEL_SELECT.ENTRY); - let items = await ItemModel.findbyRole(role.roleId, ITEM_SELECT.ENTRY); - let skins = await SkinModel.findbyRole(role.roleId, SKIN_SELECT.ENTRY); + try { + let { role, session } = data; + const { roleId, serverId, roleName, guildCode } = role; + let { hasGuild, guild, userGuild, guildResult } = guildData; + switch (type) { + case 'role': + let heros = await HeroModel.findByRole(role.roleId, [], HERO_SELECT.ENTRY, true); + let jewels = await JewelModel.findbyRole(role.roleId, JEWEL_SELECT.ENTRY); + let items = await ItemModel.findbyRole(role.roleId, ITEM_SELECT.ENTRY); + let skins = await SkinModel.findbyRole(role.roleId, SKIN_SELECT.ENTRY); - role['heros'] = heros.map(hero => new HeroParam(hero)); - role['jewels'] = jewels; - role['consumeGoods'] = items; - role['skins'] = skins; - let apJson = await getAp(role.roleId, '', role.lv); - role['apJson'] = apJson; + role['heros'] = heros.map(hero => new HeroParam(hero)); + role['jewels'] = jewels; + role['consumeGoods'] = items; + role['skins'] = skins; + let apJson = await getAp(role.roleId, '', role.lv); + role['apJson'] = apJson; - if (!role.showLineup) role.showLineup = role.topLineup.map(cur => cur.hid); - role.heads = role.heads.filter(cur => cur.status); - role.frames = role.frames.filter(cur => cur.status); - role.spines = role.spines.filter(cur => cur.status); - return pick(role, ENTERY_ROLE_PICK); - case 'shop': // 商店 - return await getAllShopList(roleId); - case 'rank': // 排名 - const rewards = await getRankFirstReward(role, serverId); - return { rewards } - case 'mail': // 邮件 - return await getMails(roleId, serverId); - case 'friend': // 好友 - const friendList = await getFriendList(role); - const applyList = await getApplyList(roleId); - return { friendList, applyList } - case 'daily': // 每日 - return await getDailyBattleList(role); - case 'expedition': // 远征 - return await getExpeditionStatus(roleId, roleName, true); - case 'tower': // 镇念塔 - return await getTowerEntryData(role); - case 'comBattle': // 寻宝 - const assistCnt = await getAllAssistCnt(roleId); - const blueprts = await Item.findByRoleAndType(roleId, CONSUME_TYPE.BLUEPRT); - return { assistCnt, blueprts } - case 'dungeon': // 秘境 - return await getDungeonData(role); - case 'pvp': // pvp - return await getPvpEntryData(roleId); - case 'gacha': - const { gachaHasGuide } = role; - const gachalist = await getGachaList(roleId); - const visitList = await getVisitedHeroList(roleId); - return { hasInit: !!gachaHasGuide, gachalist, visitList } - case 'school': - return await getSchoolList(roleId); - case 'guild': - let invitation = await getInvitationList(roleId, ''); - return { ...guildResult, invitation }; - case 'auction': - return hasGuild ? await getAuction(guildCode, session) : null; - case 'train': - if (hasGuild) { - let trainInstance = await getGuildTrainInstance(roleId, guild, userGuild); - let trainBoxRewards = await getTrainBoxRewardsResult(guildCode); - return { trainInstance, trainBoxRewards } - } - break; - case 'boss': - if (hasGuild) { - return await getBossInstanceInfo(userGuild, guild); - } - return null; - case 'wishPool': - return hasGuild ? await getWishPool(userGuild) : null; - case 'donate': - if (hasGuild) { - const { guildCode: code, donateCnt, receiveBoxs } = userGuild; - let { donateFund, reports, donationLv } = await getDonation(code, guild); - return { receiveBoxs, donateFund, reports, donateCnt: donateCnt || 0, donationLv }; - } - break; - case 'task': - let tasks = await getCurTask(role.roleId, session); - let pvpTask = await getPvpTask(role.roleId); - return {...tasks, pvpTask} - case 'chat': - const worldMsgs = await recentWorldMsgs(serverId); - const sysMsgs = await recentSysMsgs(serverId); - const guildMsgs = await recentGuildMsgs(guildCode); - const recentPrivateChats = await recentPrivateChatInfos(roleId, roleName); - return { worldMsgs, sysMsgs, guildMsgs, recentPrivateChats }; - case 'event': - return await getEvent(role.eventStatus, roleId, roleName); - case 'battle': - return await getBattleListOfMain(role); - case 'guildActivity': - return getAllGuildActivityStatus(role.guildCode, role.serverId); - case 'chapter': - return getMainChapter(role); - case 'survey': - return await getSurvey(role.roleId, role.lv); - default: - return null; + if (!role.showLineup) role.showLineup = role.topLineup.map(cur => cur.hid); + role.heads = role.heads.filter(cur => cur.status); + role.frames = role.frames.filter(cur => cur.status); + role.spines = role.spines.filter(cur => cur.status); + return pick(role, ENTERY_ROLE_PICK); + case 'shop': // 商店 + return await getAllShopList(roleId); + case 'rank': // 排名 + const rewards = await getRankFirstReward(role, serverId); + return { rewards } + case 'mail': // 邮件 + return await getMails(roleId, serverId); + case 'friend': // 好友 + const friendList = await getFriendList(role); + const applyList = await getApplyList(roleId); + return { friendList, applyList } + case 'daily': // 每日 + return await getDailyBattleList(role); + case 'expedition': // 远征 + return await getExpeditionStatus(roleId, roleName, true); + case 'tower': // 镇念塔 + return await getTowerEntryData(role); + case 'comBattle': // 寻宝 + const assistCnt = await getAllAssistCnt(roleId); + const blueprts = await Item.findByRoleAndType(roleId, CONSUME_TYPE.BLUEPRT); + return { assistCnt, blueprts } + case 'dungeon': // 秘境 + return await getDungeonData(role); + case 'pvp': // pvp + return await getPvpEntryData(roleId); + case 'gacha': + const { gachaHasGuide } = role; + const gachalist = await getGachaList(roleId); + const visitList = await getVisitedHeroList(roleId); + return { hasInit: !!gachaHasGuide, gachalist, visitList } + case 'school': + return await getSchoolList(roleId); + case 'guild': + let invitation = await getInvitationList(roleId, ''); + return { ...guildResult, invitation }; + case 'auction': + return hasGuild ? await getAuction(guildCode, session) : null; + case 'train': + if (hasGuild) { + let trainInstance = await getGuildTrainInstance(roleId, guild, userGuild); + let trainBoxRewards = await getTrainBoxRewardsResult(guildCode); + return { trainInstance, trainBoxRewards } + } + break; + case 'boss': + if (hasGuild) { + return await getBossInstanceInfo(userGuild, guild); + } + return null; + case 'wishPool': + return hasGuild ? await getWishPool(userGuild) : null; + case 'donate': + if (hasGuild) { + const { guildCode: code, donateCnt, receiveBoxs } = userGuild; + let { donateFund, reports, donationLv } = await getDonation(code, guild); + return { receiveBoxs, donateFund, reports, donateCnt: donateCnt || 0, donationLv }; + } + break; + case 'task': + let tasks = await getCurTask(role.roleId, session); + let pvpTask = await getPvpTask(role.roleId); + return {...tasks, pvpTask} + case 'chat': + const worldMsgs = await recentWorldMsgs(serverId); + const sysMsgs = await recentSysMsgs(serverId); + const guildMsgs = await recentGuildMsgs(guildCode); + const recentPrivateChats = await recentPrivateChatInfos(roleId, roleName); + return { worldMsgs, sysMsgs, guildMsgs, recentPrivateChats }; + case 'event': + return await getEvent(role.eventStatus, roleId, roleName); + case 'battle': + return await getBattleListOfMain(role); + case 'guildActivity': + return getAllGuildActivityStatus(role.guildCode, role.serverId); + case 'chapter': + return getMainChapter(role); + case 'survey': + return await getSurvey(role.roleId, role.lv); + default: + return null; + } + } catch (e) { + console.error(e.stack); + return false } }