连接推送

This commit is contained in:
luying
2022-03-11 14:38:43 +08:00
parent 30192a2643
commit b040155765
5 changed files with 84 additions and 65 deletions

View File

@@ -18,16 +18,11 @@ import { addRoleToGuildChannel, addRoleToSysChannel, addRoleToWorldChannel, leav
import { reportOneOnline, savePlayTime } from '../../../services/authenticateService';
import { checkTaskWithRole, } from '../../../services/taskService';
import { pushData, everydayRefresh, kickUser } from '../../../services/connectorService';
import { pick } from 'lodash';
// import { setComBtlOnUserLeave } from '../../../services/comBattleService';
import Counter from '../../../db/Counter';
import { getExpByLv } from '../../../pubUtils/data';
import { reportTAUserSet } from '../../../services/sdkService';
import { saveLoginAndOutLog } from '../../../pubUtils/logUtil';
import { JewelModel } from '../../../db/Jewel';
import { GuildModel } from '../../../db/Guild';
import { GuildRecModel } from '../../../db/GuildRec';
import { ServerRecordModel } from '../../../db/ServerRecords';
export default function (app: Application) {
new HandlerService(app, {});
@@ -74,55 +69,36 @@ export class EntryHandler {
await this.addSession(role, session);
saveLoginAndOutLog(LOG_TYPE.LOGIN, session);
// 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);
addRoleToSysChannel(role.roleId, self.app.get('serverId'), role.serverId);
addRoleToWorldChannel(role.roleId, self.app.get('serverId'), role.serverId);
await self.app.rpc.chat.chatRemote.addWorldChannel.route(session)(role.roleId, serverId, self.app.get('serverId'));
let heros = await HeroModel.findByRole(role.roleId, [], HERO_SELECT.ENTRY, true);
let jewels = await JewelModel.findbyRole(role.roleId);
let items = await ItemModel.findbyRole(role.roleId);
let skins = await SkinModel.findbyRole(role.roleId);
reportOneOnline(role.roleId, user.userCode, self.app.get('serverId'), true, user);
// let r = new Rank(REDIS_KEY.HERO_NUM_RANK, { serverId });
// r.setRankWithRoleInfo(role.roleId, role.heroNum, role.heroNumUpdatedAt, role);
// let r2 = new Rank(REDIS_KEY.SUM_CE_RANK, { serverId });
// r2.setRankWithRoleInfo(role.roleId, role.ce, role.updatedAt.getTime(), role);
// let r3 = new Rank(REDIS_KEY.USER_LV, { serverId });
// r3.setRankWithRoleInfo(role.roleId, role.lv, role.updatedAt.getTime(), role);
// 任务
checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), TASK_TYPE.LOGIN_SUM, role);
checkTaskWithRole(serverId, role.roleId, self.app.get('serverId'), TASK_TYPE.LOGIN_SERIES, role);
// 推送数据
pushData(role.hasInit, role, session);
role['heros'] = heros;
role['jewels'] = jewels;
role['consumeGoods'] = items;
role['skins'] = skins;
let ip = session.remoteAddress.ip.replace('::ffff:', '');
let apJson = await getAp(role.roleId, ip, 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);
if (role.hasGuild) {
addRoleToGuildChannel(role.roleId, self.app.get('serverId'), role.guildCode);
}
let todayZeroPoint = getZeroPoint();
role['todayZeroPoint'] = todayZeroPoint;
console.log('****** entry after', Date.now());
return resResult(STATUS.SUCCESS, { role: pick(role, ENTERY_ROLE_PICK) });
return resResult(STATUS.SUCCESS, { todayZeroPoint });
}
async getData(msg: { }, session: FrontendSession) {
let ip = session.get('ip');
let roleId = session.get('roleId');
let role = await RoleModel.findByRoleId(roleId, '-_id', true, true);
// 推送数据
pushData(role.hasInit, role, session);
let todayZeroPoint = getZeroPoint();
return resResult(STATUS.SUCCESS, { todayZeroPoint });
}
async addSession(role: RoleType, session: FrontendSession) {
const self = this;
@@ -171,7 +147,7 @@ export class EntryHandler {
let self = this;
let roleId = session.get('roleId');
let role = await RoleModel.findByRoleId(roleId, null, true, true);
let role = await RoleModel.findByRoleId(roleId, '-_id', true, true);
if (!role) {
return resResult(STATUS.ROLE_NOT_FOUND);
}
@@ -187,7 +163,6 @@ export class EntryHandler {
return resResult(STATUS.SUCCESS, { todayZeroPoint });
}
/**
* User log out handler
*