登陆:玩家在线情况redis改为hash格式

This commit is contained in:
luying
2021-03-04 14:55:08 +08:00
parent 578b890630
commit d4561c2e3d
12 changed files with 131 additions and 67 deletions

View File

@@ -1,9 +1,9 @@
import { BossInstanceType, BossInstanceModel } from '../db/BossInstance';
import { getTodayZeroPoint, nowSeconds } from '../pubUtils/timeUtil';
import { getTodayZeroPoint } from '../pubUtils/timeUtil';
import { lockData } from '../services/redLockService';
import { findIndex, indexBy, values } from 'underscore';
import { findIndex } from 'underscore';
import { MailModel, MailType } from '../db/Mail';
import { getRedis, sismemberAsync, smembersAsync, saddAsync, delAsync, sremAsync, redisSidKey } from '../services/redisService';
import { sismemberAsync, smembersAsync, saddAsync, delAsync, getRoleOnlineInfo } from '../services/redisService';
import { pinus } from 'pinus';
import { STATUS } from '../consts/statusCode';
import { deepCopy, resResult } from '../pubUtils/util';
@@ -159,12 +159,14 @@ export function getArmyBossRankReward(rankLv: number) {
* @param roleId
*/
export async function addBossInstance(code: string, serverId:number, roleId: string) {
let loginKey = redisSidKey(roleId);
let sid = await getRedis(loginKey);
let key = 'serverId_' + serverId + 'guildCode_' + code;
let value = roleId+ '|' + sid;
saddAsync(key, [value]);
let hisOnlineInfo = await getRoleOnlineInfo(roleId);
if(hisOnlineInfo.isOnline) {
let key = 'serverId_' + serverId + 'guildCode_' + code;
let value = roleId+ '|' + hisOnlineInfo.sid;
await saddAsync(key, [value]);
}
}
/**
* 给当前正在挑战的玩家下发血量同步信息
* @param code
@@ -194,10 +196,9 @@ export async function pushBossHpMessage(code: string, serverId:number, bossHp:nu
* @param battleCode
*/
export async function checkBossBattleMemberExists(code: string, serverId:number, roleId: string, battleCode:string ) {
let loginKey = redisSidKey(roleId);
let sid = await getRedis(loginKey);
let hisOnlineInfo = await getRoleOnlineInfo(roleId);
let key = 'serverId_' + serverId + 'guildCode_' + code ;
let value = roleId+ '|' + sid;
let value = roleId+ '|' + hisOnlineInfo.sid;
let flag = await sismemberAsync(key, value);
if (!flag) {
const battleRecord = await BattleRecordModel.getBattleRecordByCode(battleCode, true);