diff --git a/game-server/app/servers/connector/handler/entryHandler.ts b/game-server/app/servers/connector/handler/entryHandler.ts index c0daac241..d02492a02 100644 --- a/game-server/app/servers/connector/handler/entryHandler.ts +++ b/game-server/app/servers/connector/handler/entryHandler.ts @@ -11,7 +11,7 @@ import { COM_BTL_QUALITY, HERO_SELECT, DEBUG_MAGIC_WORD, REDIS_KEY, TASK_TYPE, E import { getAp } from '../../../services/actionPointService'; import { ItemModel } from '../../../db/Item'; import { SkinModel } from '../../../db/Skin'; -import { loginRefresh } from '../../../services/playerEventService'; +// import { loginRefresh } from '../../../services/playerEventService'; import { nowSeconds, getZeroPoint } from '../../../pubUtils/timeUtil'; import { rmRoleFromQueue, roleLeave, getRoleOnlineInfo, roleLogin } from '../../../services/redisService'; @@ -39,6 +39,7 @@ export class EntryHandler { * @param {Object} session current session object */ async enter(msg: { token: string, serverId: number }, session: FrontendSession) { + console.log('****** entry before', Date.now()); let self = this; let serverId = msg.serverId; @@ -66,12 +67,6 @@ export class EntryHandler { await roleLogin(role.roleId, user.userCode, serverName, user.pkgName); // 保存在线用户 await this.addSession(role, session); - let channelService = self.app.get('channelService'); - let channel = channelService.getChannel(role.roleId, true); - if (channel.getMembers().indexOf(role.roleId) === -1) { - channel.add(role.roleId, self.app.get('serverId')); - } - // put user into channel // console.log(JSON.stringify(self.app.rpc.battle)) // await self.app.rpc.battle.battleRemote.add.route(session)(role.roleId, self.app.get('serverId'), role.serverId, true); @@ -82,7 +77,7 @@ export class EntryHandler { let equips = await EquipModel.findbyRole(role.roleId); let items = await ItemModel.findbyRole(role.roleId); let skins = await SkinModel.findbyRole(role.roleId); - if (role.hasInit) await loginRefresh(role.roleId); + // if (role.hasInit) await loginRefresh(role.roleId); // pvp在getData的时候会做初始,这里先注掉 reportOneOnline(role.roleId, user.userCode, self.app.get('serverId'), true, user); let r = new Rank(REDIS_KEY.HERO_NUM_RANK, { serverId }); @@ -115,6 +110,7 @@ export class EntryHandler { let todayZeroPoint = getZeroPoint(); role['todayZeroPoint'] = todayZeroPoint; + console.log('****** entry after', Date.now()); return resResult(STATUS.SUCCESS, { role: pick(role, ENTERY_ROLE_PICK) }); } diff --git a/game-server/app/servers/gm/handler/gmHandler.ts b/game-server/app/servers/gm/handler/gmHandler.ts index 117e32e1e..b0a77130f 100644 --- a/game-server/app/servers/gm/handler/gmHandler.ts +++ b/game-server/app/servers/gm/handler/gmHandler.ts @@ -28,7 +28,6 @@ export class GmHandler { } async pushEvent(msg: { uid: number, serverId: number }, session: BackendSession) { - let sid = session.get('sid'); let { uid, serverId } = msg; let role = await RoleModel.findByUid(uid, serverId); @@ -36,19 +35,14 @@ export class GmHandler { let { roleId, roleName, eventStatus } = role; let channelService = this.app.get('channelService'); - let channel = channelService.getChannel(roleId, true); - let users = channel.getMembers(); - if (users.indexOf(roleId) === -1) { - channel.add(roleId, sid); - } - let event = await getEvent(eventStatus, roleId, roleName); - - let tsid = channel.getMember(roleId)['sid']; - channelService.pushMessageByUids('onSpecialEvent', resResult(STATUS.SUCCESS, { event }), [{ - uid: roleId, - sid: tsid - }]); + let hisOnlineInfo = await getRoleOnlineInfo(role.roleId); + if (hisOnlineInfo.isOnline) { + channelService.pushMessageByUids('onSpecialEvent', resResult(STATUS.SUCCESS, { event }), [{ + uid: roleId, + sid: hisOnlineInfo.sid + }]); + } return resResult(STATUS.SUCCESS, { list: event }); } diff --git a/game-server/app/servers/role/handler/roleHandler.ts b/game-server/app/servers/role/handler/roleHandler.ts index fd00e19b2..066287390 100644 --- a/game-server/app/servers/role/handler/roleHandler.ts +++ b/game-server/app/servers/role/handler/roleHandler.ts @@ -47,7 +47,6 @@ export class RoleHandler { let checkName = await RoleModel.checkName(roleName, serverId); if (checkName) return resResult(STATUS.NAME_HAS_USED); - console.log('****** createHeroes before', Date.now()) let initInfos: { role: RoleUpdate, initInfos: {heroInfo: HeroUpdate, skinInfo: SkinUpdate}[], figureInfo: { heads: Figure[], frames: Figure[], spines: Figure[] }} = this.app.get('initRoleInfos'); role = await RoleModel.updateRoleInfo(roleId, {...initInfos.role, roleName, hasInit: true}); @@ -60,12 +59,9 @@ export class RoleHandler { await createHero.createWithInitInfo(infos, initInfos.figureInfo); await createHero.clearTask(await getActivities()); await createHero.pushMessage(pinus, sid); - console.log('updateRedisRank before', Date.now()) await createHero.updateRedisRank(Rank); - console.log('updateRedisRank after', Date.now()) let heroes = createHero.getResultHeroes(); - console.log('****** createHeroes after', Date.now()) session.set('roleName', roleName); session.push('roleName', () => { }); diff --git a/shared/pubUtils/roleUtil.ts b/shared/pubUtils/roleUtil.ts index d77536591..448d578f9 100644 --- a/shared/pubUtils/roleUtil.ts +++ b/shared/pubUtils/roleUtil.ts @@ -126,50 +126,36 @@ export class UpdateHeroes { public async updateRedisRank(Rank: any) { let role = await this.getRole(); let { serverId, roleId, pushHeroes } = this; - console.log('******** guildInfo before', Date.now()); // 更新军团信息 if(this.guild) { let r = new Rank(REDIS_KEY.GUILD_INFO, { code: this.guild.code }); await r.generParamAndSet(REDIS_KEY.GUILD_INFO, { guildCode: this.guild.code }, { guild: this.guild }); } - console.log('******** guildInfo after', Date.now()); - console.log('******** heroNum before', Date.now()); // 武将数量 if(this.incHeroNum > 0) { let r = new Rank(REDIS_KEY.HERO_NUM_RANK, { serverId }); await r.setRankWithRoleInfo(roleId, role.heroNum, role.heroNumUpdatedAt, role); } - console.log('******** heroNum after', Date.now()); - console.log('******** topLineup before', Date.now()); // 最强阵容 let r = new Rank(REDIS_KEY.TOP_LINEUP_RANK, { serverId }); await r.setRankWithRoleInfo(roleId, reduceCe(role.topLineupCe), 0, role); - console.log('******** topLineup after', Date.now()); - - console.log('******** hero before', Date.now()); + // 最强武将 for(let { hid, ce, hero } of pushHeroes) { - console.log('******** hero before', hid, Date.now()); let r2 = new Rank(REDIS_KEY.TOP_HERO_RANK, { serverId }); await r2.setRankWithHeroInfo(roleId, hid, ce, 0, hero); let r4 = new Rank(REDIS_KEY.HERO_RANK, { serverId, hid }); await r4.setRankWithHeroInfo(roleId, hid, ce, 0, hero); - console.log('******** hero after', hid, Date.now()); } - console.log('******** hero after', Date.now()); - console.log('******** sumCe before', Date.now()); // 总战力 let r3 = new Rank(REDIS_KEY.SUM_CE_RANK, { serverId }); await r3.setRankWithRoleInfo(roleId, reduceCe(role.ce), 0, role); - console.log('******** sumCe after', Date.now()); - console.log('******** lineup info before', Date.now()); // 更新最强五人阵容信息 let r5 = new Rank(REDIS_KEY.TOP_LINEUP_INFO, { serverId }); await r5.generParamAndSet(REDIS_KEY.TOP_LINEUP_INFO, { roleId }, { role }); - console.log('******** lineup info after', Date.now()); } public async pushMessage(pinus: any, sid: string) { diff --git a/shared/pubUtils/taskUtil.ts b/shared/pubUtils/taskUtil.ts index 0ab0311d4..2c43abafe 100644 --- a/shared/pubUtils/taskUtil.ts +++ b/shared/pubUtils/taskUtil.ts @@ -567,6 +567,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: // } // } + console.log('***** sevenDay before', Date.now()); //七天乐 let allActivity: ActivityModelType[] = await findActivitiesByTypes([ACTIVITY_TYPE.SEVEN_DAY]); for (let activity of allActivity) { @@ -624,7 +625,9 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: } } } + console.log('***** sevenDay after', Date.now()); + console.log('***** DailyChallenge before', Date.now()); //今日挑战统计 allActivity = await findActivitiesByTypes([ACTIVITY_TYPE.TASK_DAILY_CHALLENGES]); for (let activity of allActivity) { @@ -654,7 +657,9 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: } } } + console.log('***** DailyChallenge after', Date.now()); + console.log('***** RefreshTask before', Date.now()); //刷新任务统计 allActivity = await findActivitiesByTypes([ACTIVITY_TYPE.REFRESH_TASK]); for (let activity of allActivity) { @@ -684,7 +689,9 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: } } } + console.log('***** RefreshTask after', Date.now()); + console.log('***** hunt before', Date.now()); //寻宝骑兵活动任务 let tempData: ServerTempModelType = await ServerTempModel.findData(serverId); if (tempData) { @@ -723,8 +730,10 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: } } } + console.log('***** hunt after', Date.now()); + console.log('***** thirtyDay before', Date.now()); //30天任务统计 if (taskType === TASK_TYPE.HERO_QUALITY_STAR_UP || taskType === TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT || @@ -776,7 +785,9 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: } } } + console.log('***** thirtyDay after', Date.now()); + console.log('***** popUpShop before', Date.now()); //弹出商店 { allActivity = await findActivitiesByTypes([ACTIVITY_TYPE.POP_UP_SHOP]); @@ -849,6 +860,8 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: } } } + console.log('***** popUpShop after', Date.now()); + console.log('***** growthFund before', Date.now()); //主线成长基金 if (taskType === TASK_TYPE.BATTLE_MAIN) { allActivity = await findActivitiesByTypes([ACTIVITY_TYPE.GROWTH_FUND_MAIN, ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP]); @@ -865,6 +878,8 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: pushMessage = pushMessage.concat(taskArray); } } + console.log('***** growthFund after', Date.now()); + console.log('***** growthFundTower before', Date.now()); //镇念塔成长基金getRoleOnlineInfo if (taskType === TASK_TYPE.BATTLE_TOWER_LV) { allActivity = await findActivitiesByTypes([ACTIVITY_TYPE.GROWTH_FUND_TOWER, ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP]); @@ -881,6 +896,8 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: pushMessage = pushMessage.concat(taskArray); } } + console.log('***** growthFundTower after', Date.now()); + console.log('***** growthFundElite before', Date.now()); //精英成长基金 if (taskType === TASK_TYPE.BATTLE_MAIN_ELITE) { allActivity = await findActivitiesByTypes([ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE, ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP]); @@ -897,6 +914,7 @@ export async function accomplishTask(serverId: number, roleId: string, taskType: pushMessage = pushMessage.concat(taskArray); } } + console.log('***** growthFundElite after', Date.now()); return pushMessage; }