寻宝:用户掉线时清除 redis 中的匹配记录

This commit is contained in:
liangtongchuan
2021-01-25 12:01:31 +08:00
parent 50aee50e5e
commit 183ec67bcb
2 changed files with 4 additions and 3 deletions

View File

@@ -7,13 +7,13 @@ import { Application } from 'pinus';
import {FrontendSession} from 'pinus';
import { HeroModel } from './../../../db/Hero';
import { resResult, returnHeroCeRatio, reduceCe } from '../../../pubUtils/util';
import { FUNC_OPT_TYPE } from '../../../consts';
import { COM_BTL_QUALITY } from '../../../consts';
import { getAp } from '../../../services/actionPointService';
import { ItemModel } from '../../../db/Item';
import { chackFunOpenWhenLogin } from '../../../services/funcSwitchService';
import { loginRefresh } from '../../../services/playerEventService';
import { getRedis, setRedis, delRedis } from '../../../services/redisService';
import { nowSeconds } from '../../../pubUtils/timeUtil';
import { getRedis, setRedis, delRedis, rmRoleFromQueue } from '../../../services/redisService';
export default function (app: Application) {
return new EntryHandler(app);
}
@@ -117,6 +117,7 @@ export class EntryHandler {
let serverId = session.get('serverId');
let key = 'login_roleId_' + roleId;
delRedis(key);
rmRoleFromQueue(roleId, sid, COM_BTL_QUALITY, null); // 删除redis中寻宝的匹配记录
let channelService = this.app.get('channelService');
let channel = channelService.getChannel(roleId, true);
channel.leave(roleId, sid);

View File

@@ -288,7 +288,7 @@ export function updateRobotHurtByTime(teamStatus, roleSt: RoleStatus, interval:
const timerKey = `${teamStatus.teamCode}_${roleSt.roleId}`;
const robotTimer = setInterval(() => {
const robotTotalHurt = teamStatus.bossHp * COM_BTL_CONST.ROBOT_HURT_RATIO;
if (roleSt.totalDmg < robotTotalHurt && teamStatus.bossCurHp > 0) {
if (roleSt.totalDmg < robotTotalHurt && teamStatus.bossCurHp > 0 && teamMap.has(teamStatus.teamCode)) {
updateRobotHurt(teamStatus, roleSt, channel);
handleComBtlProgress(teamStatus, sid, robotHurtTimer, teamMap, channel);
} else {