整理:删除不需要的channel
This commit is contained in:
@@ -11,7 +11,7 @@ import { COM_BTL_QUALITY, HERO_SELECT, DEBUG_MAGIC_WORD, REDIS_KEY, TASK_TYPE, E
|
|||||||
import { getAp } from '../../../services/actionPointService';
|
import { getAp } from '../../../services/actionPointService';
|
||||||
import { ItemModel } from '../../../db/Item';
|
import { ItemModel } from '../../../db/Item';
|
||||||
import { SkinModel } from '../../../db/Skin';
|
import { SkinModel } from '../../../db/Skin';
|
||||||
import { loginRefresh } from '../../../services/playerEventService';
|
// import { loginRefresh } from '../../../services/playerEventService';
|
||||||
import { nowSeconds, getZeroPoint } from '../../../pubUtils/timeUtil';
|
import { nowSeconds, getZeroPoint } from '../../../pubUtils/timeUtil';
|
||||||
import { rmRoleFromQueue, roleLeave, getRoleOnlineInfo, roleLogin } from '../../../services/redisService';
|
import { rmRoleFromQueue, roleLeave, getRoleOnlineInfo, roleLogin } from '../../../services/redisService';
|
||||||
|
|
||||||
@@ -39,6 +39,7 @@ export class EntryHandler {
|
|||||||
* @param {Object} session current session object
|
* @param {Object} session current session object
|
||||||
*/
|
*/
|
||||||
async enter(msg: { token: string, serverId: number }, session: FrontendSession) {
|
async enter(msg: { token: string, serverId: number }, session: FrontendSession) {
|
||||||
|
console.log('****** entry before', Date.now());
|
||||||
let self = this;
|
let self = this;
|
||||||
let serverId = msg.serverId;
|
let serverId = msg.serverId;
|
||||||
|
|
||||||
@@ -66,12 +67,6 @@ export class EntryHandler {
|
|||||||
await roleLogin(role.roleId, user.userCode, serverName, user.pkgName); // 保存在线用户
|
await roleLogin(role.roleId, user.userCode, serverName, user.pkgName); // 保存在线用户
|
||||||
await this.addSession(role, session);
|
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
|
// put user into channel
|
||||||
// console.log(JSON.stringify(self.app.rpc.battle))
|
// 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);
|
// 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 equips = await EquipModel.findbyRole(role.roleId);
|
||||||
let items = await ItemModel.findbyRole(role.roleId);
|
let items = await ItemModel.findbyRole(role.roleId);
|
||||||
let skins = await SkinModel.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);
|
reportOneOnline(role.roleId, user.userCode, self.app.get('serverId'), true, user);
|
||||||
|
|
||||||
let r = new Rank(REDIS_KEY.HERO_NUM_RANK, { serverId });
|
let r = new Rank(REDIS_KEY.HERO_NUM_RANK, { serverId });
|
||||||
@@ -115,6 +110,7 @@ export class EntryHandler {
|
|||||||
let todayZeroPoint = getZeroPoint();
|
let todayZeroPoint = getZeroPoint();
|
||||||
role['todayZeroPoint'] = todayZeroPoint;
|
role['todayZeroPoint'] = todayZeroPoint;
|
||||||
|
|
||||||
|
console.log('****** entry after', Date.now());
|
||||||
return resResult(STATUS.SUCCESS, { role: pick(role, ENTERY_ROLE_PICK) });
|
return resResult(STATUS.SUCCESS, { role: pick(role, ENTERY_ROLE_PICK) });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,6 @@ export class GmHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async pushEvent(msg: { uid: number, serverId: number }, session: BackendSession) {
|
async pushEvent(msg: { uid: number, serverId: number }, session: BackendSession) {
|
||||||
let sid = session.get('sid');
|
|
||||||
|
|
||||||
let { uid, serverId } = msg;
|
let { uid, serverId } = msg;
|
||||||
let role = await RoleModel.findByUid(uid, serverId);
|
let role = await RoleModel.findByUid(uid, serverId);
|
||||||
@@ -36,19 +35,14 @@ export class GmHandler {
|
|||||||
let { roleId, roleName, eventStatus } = role;
|
let { roleId, roleName, eventStatus } = role;
|
||||||
|
|
||||||
let channelService = this.app.get('channelService');
|
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 event = await getEvent(eventStatus, roleId, roleName);
|
||||||
|
let hisOnlineInfo = await getRoleOnlineInfo(role.roleId);
|
||||||
let tsid = channel.getMember(roleId)['sid'];
|
if (hisOnlineInfo.isOnline) {
|
||||||
channelService.pushMessageByUids('onSpecialEvent', resResult(STATUS.SUCCESS, { event }), [{
|
channelService.pushMessageByUids('onSpecialEvent', resResult(STATUS.SUCCESS, { event }), [{
|
||||||
uid: roleId,
|
uid: roleId,
|
||||||
sid: tsid
|
sid: hisOnlineInfo.sid
|
||||||
}]);
|
}]);
|
||||||
|
}
|
||||||
return resResult(STATUS.SUCCESS, { list: event });
|
return resResult(STATUS.SUCCESS, { list: event });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,7 +47,6 @@ export class RoleHandler {
|
|||||||
let checkName = await RoleModel.checkName(roleName, serverId);
|
let checkName = await RoleModel.checkName(roleName, serverId);
|
||||||
if (checkName) return resResult(STATUS.NAME_HAS_USED);
|
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[] }}
|
let initInfos: { role: RoleUpdate, initInfos: {heroInfo: HeroUpdate, skinInfo: SkinUpdate}[], figureInfo: { heads: Figure[], frames: Figure[], spines: Figure[] }}
|
||||||
= this.app.get('initRoleInfos');
|
= this.app.get('initRoleInfos');
|
||||||
role = await RoleModel.updateRoleInfo(roleId, {...initInfos.role, roleName, hasInit: true});
|
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.createWithInitInfo(infos, initInfos.figureInfo);
|
||||||
await createHero.clearTask(await getActivities());
|
await createHero.clearTask(await getActivities());
|
||||||
await createHero.pushMessage(pinus, sid);
|
await createHero.pushMessage(pinus, sid);
|
||||||
console.log('updateRedisRank before', Date.now())
|
|
||||||
await createHero.updateRedisRank(Rank);
|
await createHero.updateRedisRank(Rank);
|
||||||
console.log('updateRedisRank after', Date.now())
|
|
||||||
let heroes = createHero.getResultHeroes();
|
let heroes = createHero.getResultHeroes();
|
||||||
|
|
||||||
console.log('****** createHeroes after', Date.now())
|
|
||||||
session.set('roleName', roleName);
|
session.set('roleName', roleName);
|
||||||
session.push('roleName', () => { });
|
session.push('roleName', () => { });
|
||||||
|
|
||||||
|
|||||||
@@ -126,50 +126,36 @@ export class UpdateHeroes {
|
|||||||
public async updateRedisRank(Rank: any) {
|
public async updateRedisRank(Rank: any) {
|
||||||
let role = await this.getRole();
|
let role = await this.getRole();
|
||||||
let { serverId, roleId, pushHeroes } = this;
|
let { serverId, roleId, pushHeroes } = this;
|
||||||
console.log('******** guildInfo before', Date.now());
|
|
||||||
// 更新军团信息
|
// 更新军团信息
|
||||||
if(this.guild) {
|
if(this.guild) {
|
||||||
let r = new Rank(REDIS_KEY.GUILD_INFO, { code: this.guild.code });
|
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 });
|
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) {
|
if(this.incHeroNum > 0) {
|
||||||
let r = new Rank(REDIS_KEY.HERO_NUM_RANK, { serverId });
|
let r = new Rank(REDIS_KEY.HERO_NUM_RANK, { serverId });
|
||||||
await r.setRankWithRoleInfo(roleId, role.heroNum, role.heroNumUpdatedAt, role);
|
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 });
|
let r = new Rank(REDIS_KEY.TOP_LINEUP_RANK, { serverId });
|
||||||
await r.setRankWithRoleInfo(roleId, reduceCe(role.topLineupCe), 0, role);
|
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) {
|
for(let { hid, ce, hero } of pushHeroes) {
|
||||||
console.log('******** hero before', hid, Date.now());
|
|
||||||
let r2 = new Rank(REDIS_KEY.TOP_HERO_RANK, { serverId });
|
let r2 = new Rank(REDIS_KEY.TOP_HERO_RANK, { serverId });
|
||||||
await r2.setRankWithHeroInfo(roleId, hid, ce, 0, hero);
|
await r2.setRankWithHeroInfo(roleId, hid, ce, 0, hero);
|
||||||
|
|
||||||
let r4 = new Rank(REDIS_KEY.HERO_RANK, { serverId, hid });
|
let r4 = new Rank(REDIS_KEY.HERO_RANK, { serverId, hid });
|
||||||
await r4.setRankWithHeroInfo(roleId, hid, ce, 0, hero);
|
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 });
|
let r3 = new Rank(REDIS_KEY.SUM_CE_RANK, { serverId });
|
||||||
await r3.setRankWithRoleInfo(roleId, reduceCe(role.ce), 0, role);
|
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 });
|
let r5 = new Rank(REDIS_KEY.TOP_LINEUP_INFO, { serverId });
|
||||||
await r5.generParamAndSet(REDIS_KEY.TOP_LINEUP_INFO, { roleId }, { role });
|
await r5.generParamAndSet(REDIS_KEY.TOP_LINEUP_INFO, { roleId }, { role });
|
||||||
console.log('******** lineup info after', Date.now());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async pushMessage(pinus: any, sid: string) {
|
public async pushMessage(pinus: any, sid: string) {
|
||||||
|
|||||||
@@ -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]);
|
let allActivity: ActivityModelType[] = await findActivitiesByTypes([ACTIVITY_TYPE.SEVEN_DAY]);
|
||||||
for (let activity of allActivity) {
|
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]);
|
allActivity = await findActivitiesByTypes([ACTIVITY_TYPE.TASK_DAILY_CHALLENGES]);
|
||||||
for (let activity of allActivity) {
|
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]);
|
allActivity = await findActivitiesByTypes([ACTIVITY_TYPE.REFRESH_TASK]);
|
||||||
for (let activity of allActivity) {
|
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);
|
let tempData: ServerTempModelType = await ServerTempModel.findData(serverId);
|
||||||
if (tempData) {
|
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天任务统计
|
//30天任务统计
|
||||||
if (taskType === TASK_TYPE.HERO_QUALITY_STAR_UP ||
|
if (taskType === TASK_TYPE.HERO_QUALITY_STAR_UP ||
|
||||||
taskType === TASK_TYPE.HERO_QUALITY_TO_QUALITY_COUNT ||
|
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]);
|
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) {
|
if (taskType === TASK_TYPE.BATTLE_MAIN) {
|
||||||
allActivity = await findActivitiesByTypes([ACTIVITY_TYPE.GROWTH_FUND_MAIN, ACTIVITY_TYPE.GROWTH_FUND_MAIN_VIP]);
|
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);
|
pushMessage = pushMessage.concat(taskArray);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
console.log('***** growthFund after', Date.now());
|
||||||
|
console.log('***** growthFundTower before', Date.now());
|
||||||
//镇念塔成长基金getRoleOnlineInfo
|
//镇念塔成长基金getRoleOnlineInfo
|
||||||
if (taskType === TASK_TYPE.BATTLE_TOWER_LV) {
|
if (taskType === TASK_TYPE.BATTLE_TOWER_LV) {
|
||||||
allActivity = await findActivitiesByTypes([ACTIVITY_TYPE.GROWTH_FUND_TOWER, ACTIVITY_TYPE.GROWTH_FUND_TOWER_VIP]);
|
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);
|
pushMessage = pushMessage.concat(taskArray);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
console.log('***** growthFundTower after', Date.now());
|
||||||
|
console.log('***** growthFundElite before', Date.now());
|
||||||
//精英成长基金
|
//精英成长基金
|
||||||
if (taskType === TASK_TYPE.BATTLE_MAIN_ELITE) {
|
if (taskType === TASK_TYPE.BATTLE_MAIN_ELITE) {
|
||||||
allActivity = await findActivitiesByTypes([ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE, ACTIVITY_TYPE.GROWTH_FUND_MAIN_ELITE_VIP]);
|
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);
|
pushMessage = pushMessage.concat(taskArray);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
console.log('***** growthFundElite after', Date.now());
|
||||||
return pushMessage;
|
return pushMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user