pvp最强五人和刷新挑战次数

This commit is contained in:
mamengke01
2021-01-11 15:49:56 +08:00
parent 06a0c38fbd
commit 17a6ddb04b
8 changed files with 235 additions and 34 deletions
@@ -32,7 +32,7 @@ export class PvpHandler {
let roleId = session.get('roleId');
let {pvpDefense, warId} = await findPvpDefAllByRoleId(roleId);
let oppPlayers = await getEnemies(pvpDefense.oppPlayers, pvpDefense.winStreakNum);
let { heroes, score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry, seasonNum, seasonEndTime } = pvpDefense;
let { isDefaultHero, heroes, score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry, seasonNum, seasonEndTime } = pvpDefense;
if (isFirstEntry) {
await PvpDefenseModel.updateInfo(roleId, {isFirstEntry:false});
}
@@ -41,7 +41,7 @@ export class PvpHandler {
let data = {warId, seasonNum, seasonEndTime, myRank, oppPlayers, heroes: heroes.map(cur => {
let {actorId, dataId, order} = cur;
return { actorId, dataId, order }
}), score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry}
}), score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry, isDefaultHero}
return resResult(STATUS.SUCCESS, data);
}
@@ -239,7 +239,7 @@ export class PvpHandler {
if (!!isDefaultHero) {
let role = await RoleModel.findByRoleId(roleId);
let { resHeroes } = await defaultHeroes(role);
return resResult(STATUS.SUCCESS, { heroes: resHeroes, challengeCnt, challengeRefTime} );
return resResult(STATUS.SUCCESS, { heroes: resHeroes, challengeCnt, challengeRefTime, isDefaultHero} );
} else {
for (let dataId = PVP_HERO_POS.START; dataId <= PVP_HERO_POS.END; dataId++) {
let index = _.findIndex(heroes, {dataId});
@@ -266,8 +266,8 @@ export class PvpHandler {
defHeros[defIndex].hero = hero._id;
defCe += hero.ce;
}
let { heroes: resHeroes } = await PvpDefenseModel.updateInfo(roleId, {defCe, heroes: defHeros, challengeCnt, challengeRefTime });
return resResult(STATUS.SUCCESS, { heroes: resHeroes, challengeCnt, challengeRefTime });
let { heroes: resHeroes } = await PvpDefenseModel.updateInfo(roleId, {defCe, heroes: defHeros, challengeCnt, challengeRefTime, isDefaultHero });
return resResult(STATUS.SUCCESS, { heroes: resHeroes, challengeCnt, challengeRefTime, isDefaultHero });
}
}
@@ -12,7 +12,7 @@ import { getAp } from '../../../services/actionPointService';
import { ItemModel } from '../../../db/Item';
import { chackFunOpenWhenLogin } from '../../../services/funcSwitchService';
import { loginRefresh } from '../../../services/playerEventService';
import { getRedis, setRedis } from '../../../services/redisService';
import { getRedis, setRedis, delRedis } from '../../../services/redisService';
export default function (app: Application) {
return new EntryHandler(app);
}
@@ -44,7 +44,7 @@ export class EntryHandler {
let key = 'login_roleId_' + role.roleId;
let connect = await getRedis(key);
if (!!connect) {
self.app.rpc.connector.connectorRemote.remoteLogin.toServer(connect, role.roleId);
await self.app.rpc.connector.connectorRemote.remoteLogin.toServer(connect, role.roleId);
}
let serverName = this.app.getServerId();
setRedis(key, serverName);
@@ -112,7 +112,8 @@ export class EntryHandler {
let roleId = session.get('roleId');
let sid = session.get('sid');
let serverId = session.get('serverId');
let key = 'login_roleId_' + roleId;
delRedis(key);
let channelService = this.app.get('channelService');
let channel = channelService.getChannel(roleId, true);
channel.leave(roleId, sid);
@@ -1,6 +1,7 @@
import { Application, ChannelService, FrontendSession, RemoterClass } from 'pinus';
import { STATUS } from '../../../consts/statusCode';
import { resResult } from '../../../pubUtils/util';
import { getRedis, setRedis, delRedis } from '../../../services/redisService';
export default function (app: Application) {
return new ConnectorRemote(app);
}
@@ -26,4 +27,11 @@ export class ConnectorRemote {
}
await sessionService.akick(uid);
}
public async pushMessage(sid: string, uid: string, route: string, data:any) {
if (!!sid) {
let uids = [{uid, sid}];
this.channelService.pushMessageByUids(route, data, uids);
}
}
}