防沉迷:修复登录退出时不必全部用户循环

This commit is contained in:
luying
2021-03-10 10:35:58 +08:00
parent 1764ce6462
commit 83d9e398db
3 changed files with 44 additions and 34 deletions

View File

@@ -20,7 +20,7 @@ import { gameData } from '../../../pubUtils/data';
import { getMails } from '../../../services/mailService';
import { addRoleToGuildChannel, addRoleToSysChannel, addRoleToWorldChannel, leaveGuildChannel, leaveSysChannel, leaveWorldChannel } from '../../../services/chatService';
import { reportOnlineSchedule } from '../../../services/timeTaskService';
import { reportOneOnline } from '../../../services/timeTaskService';
export default function (app: Application) {
return new EntryHandler(app);
}
@@ -100,7 +100,7 @@ export class EntryHandler {
let mails = await getMails(role.roleId, serverId)
await chackFunOpenWhenLogin(role, session);
await loginRefresh(role.roleId);
await reportOnlineSchedule();
reportOneOnline(role.roleId, user.userCode, self.app.get('serverId'), user.pkgName);
role['heros'] = heros;
role['equips'] = equips;
@@ -146,7 +146,11 @@ export class EntryHandler {
let roleId = session.get('roleId');
let sid = session.get('sid');
let serverId = session.get('serverId');
roleLeave(roleId);
roleLeave(roleId).then(function(roleInfo) {
if(roleInfo.isOnline) {
reportOneOnline(roleId, roleInfo.userCode, sid, roleInfo.pkgName);
}
});
rmRoleFromQueue(roleId, sid, COM_BTL_QUALITY, null); // 删除redis中寻宝的匹配记录
let channelService = this.app.get('channelService');
let channel = channelService.getChannel(roleId, true);
@@ -158,7 +162,6 @@ export class EntryHandler {
await leaveWorldChannel(roleId, sid, serverId);
await leaveGuildChannel(roleId, sid);
RoleModel.updateRoleInfo(roleId, { quitTime: nowSeconds() });
reportOnlineSchedule();
}