登陆:玩家在线情况redis改为hash格式
This commit is contained in:
@@ -13,7 +13,7 @@ import { ItemModel } from '../../../db/Item';
|
||||
import { chackFunOpenWhenLogin } from '../../../services/funcSwitchService';
|
||||
import { loginRefresh } from '../../../services/playerEventService';
|
||||
import { nowSeconds } from '../../../pubUtils/timeUtil';
|
||||
import { getRedis, setRedis, delRedis, rmRoleFromQueue, redisSidKey } from '../../../services/redisService';
|
||||
import { rmRoleFromQueue, roleLeave, getRoleOnlineInfo, roleLogin } from '../../../services/redisService';
|
||||
import { UserGuildModel } from '../../../db/UserGuild';
|
||||
import { GuildModel } from '../../../db/Guild';
|
||||
import { gameData } from '../../../pubUtils/data';
|
||||
@@ -47,13 +47,14 @@ export class EntryHandler {
|
||||
if (!role) {
|
||||
return resResult(STATUS.ROLE_NOT_FOUND);
|
||||
}
|
||||
let key = redisSidKey(role.roleId);
|
||||
let connect = await getRedis(key);
|
||||
if (!!connect) {
|
||||
await self.app.rpc.connector.connectorRemote.remoteLogin.toServer(connect, role.roleId);
|
||||
|
||||
let connect = await getRoleOnlineInfo(role.roleId);
|
||||
|
||||
if (connect.isOnline) { // 多地登陆踢下线
|
||||
await self.app.rpc.connector.connectorRemote.remoteLogin.toServer(connect.sid, role.roleId);
|
||||
}
|
||||
let serverName = this.app.getServerId();
|
||||
setRedis(key, serverName);
|
||||
await roleLogin(role.roleId, user.userCode, serverName); // 保存在线用户
|
||||
await session.abind(role.roleId);
|
||||
session.set('uid', role.roleId);
|
||||
session.set('roleId', role.roleId);
|
||||
@@ -139,8 +140,7 @@ export class EntryHandler {
|
||||
let roleId = session.get('roleId');
|
||||
let sid = session.get('sid');
|
||||
let serverId = session.get('serverId');
|
||||
let key = redisSidKey(roleId);
|
||||
delRedis(key);
|
||||
roleLeave(roleId);
|
||||
rmRoleFromQueue(roleId, sid, COM_BTL_QUALITY, null); // 删除redis中寻宝的匹配记录
|
||||
let channelService = this.app.get('channelService');
|
||||
let channel = channelService.getChannel(roleId, true);
|
||||
|
||||
Reference in New Issue
Block a user