pvp最强五人和刷新挑战次数
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user