整理:删除不需要的channel

This commit is contained in:
luying
2021-09-16 11:43:17 +08:00
parent d8ea05ecd9
commit 704bb24412
5 changed files with 30 additions and 40 deletions

View File

@@ -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) });
}

View File

@@ -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 });
}

View File

@@ -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', () => { });

View File

@@ -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) {

View File

@@ -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;
}