获得战报,刷新
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import {Application, BackendSession} from 'pinus';
|
||||
const _ = require('underscore');
|
||||
import { gameData, getPvpBoxs } from '../../../pubUtils/data';
|
||||
import { checkPvp, initPvpInfo, refreshEnemies, getEnemies, getPlusScore, getLvByScore, defaultHeroes, comsumeChallengeCnt, refresh, findPvpDefByRoleId, checkRoleIsRobot, getRefOppCnt } from '../../../services/pvpService';
|
||||
import { refreshEnemies, getEnemies, getPlusScore, getLvByScore, defaultHeroes, comsumeChallengeCnt, refresh, findPvpDefByRoleId, checkRoleIsRobot, getRefOppCnt, findPvpDefAllByRoleId } from '../../../services/pvpService';
|
||||
import { RoleModel, RoleType } from '../../../db/Role';
|
||||
import { STATUS } from '../../../consts/statusCode';
|
||||
import { resResult, reduceCe, genCode } from '../../../pubUtils/util';
|
||||
@@ -31,18 +31,13 @@ export class PvpHandler {
|
||||
|
||||
async getData (msg: {}, session: BackendSession) {
|
||||
let roleId = session.get('roleId');
|
||||
let pvpDefense = await PvpDefenseModel.findByRoleIdIncludeAll(roleId);
|
||||
let {pvpDefense, warId} = await findPvpDefAllByRoleId(roleId);
|
||||
let oppPlayers = await getEnemies(pvpDefense.oppPlayers, pvpDefense.winStreakNum);
|
||||
let {warId, seasonNum, seasonEndTime} = await SystemConfigModel.findSystemConfig();
|
||||
let {heroes, score, pLv, winStreakNum, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry} = pvpDefense;
|
||||
if (pvpDefense.seasonNum !== seasonNum) {
|
||||
let { score, pLv, winStreakNum, heroScores, refOppCnt, challengeCnt, challengeRefTime } = await setPvpDefResult(pvpDefense, seasonNum, seasonEndTime);
|
||||
}
|
||||
let { heroes, score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry, seasonNum, seasonEndTime } = pvpDefense;
|
||||
if (isFirstEntry) {
|
||||
await PvpDefenseModel.updateInfo(roleId, {isFirstEntry:false});
|
||||
}
|
||||
let myRank = await getMyRank(REDIS_KEY.PVP_RANK, 0, roleId);//去redis中获取排名
|
||||
let { refOppCnt } = getRefOppCnt(pvpDefense.refOppCnt, pvpDefense.refOppTime); // 刷新次数
|
||||
|
||||
let data = {warId, seasonNum, seasonEndTime, myRank, oppPlayers, heroes: heroes.map(cur => {
|
||||
let {actorId, dataId, order} = cur;
|
||||
@@ -298,7 +293,10 @@ export class PvpHandler {
|
||||
|
||||
// 增加挑战次数
|
||||
let { challengeCnt, challengeRefTime } = comsumeChallengeCnt(pvpDefense.challengeCnt, pvpDefense.challengeRefTime, pvpDefense.seasonEndTime);
|
||||
pvpDefense = await PvpDefenseModel.updateInfoAndInclude(roleId, { oppPlayers: newOppPlayers, heroScores, score, hisScore, pLv, winStreakNum, challengeCnt, challengeRefTime });
|
||||
if ( hisScore < score) {
|
||||
hisScore = score;
|
||||
}
|
||||
pvpDefense = await PvpDefenseModel.updateInfoAndInclude(roleId, { oppPlayers: newOppPlayers, heroScores, score, pLv, winStreakNum, challengeCnt, challengeRefTime, hisScore });
|
||||
let result = await getEnemies(pvpDefense.oppPlayers, pvpDefense.winStreakNum);
|
||||
|
||||
// 加入排行榜
|
||||
@@ -308,7 +306,7 @@ export class PvpHandler {
|
||||
|
||||
return resResult(STATUS.SUCCESS, {
|
||||
battleCode, isSuccess,
|
||||
score, pLv, myRank,
|
||||
score, pLv, myRank, hisScore,
|
||||
heroScores: showHeroScores,
|
||||
oppPlayers: result,
|
||||
seasonNum: pvpDefense.seasonNum,
|
||||
@@ -316,7 +314,6 @@ export class PvpHandler {
|
||||
refOppCnt: pvpDefense.refOppCnt,
|
||||
challengeCnt: pvpDefense.challengeCnt,
|
||||
challengeRefTime: pvpDefense.challengeRefTime,
|
||||
hisScore: pvpDefense.hisScore,
|
||||
winStreakNum: pvpDefense.winStreakNum,
|
||||
warId
|
||||
});
|
||||
@@ -474,9 +471,8 @@ export class PvpHandler {
|
||||
|
||||
let result = await addItems(roleId, roleName, sid, pvpBox.reward );
|
||||
return resResult(STATUS.SUCCESS,{goods: result, receivedBox, challengeCnt, challengeRefTime});
|
||||
|
||||
}
|
||||
|
||||
|
||||
async getRec(msg: {}, session: BackendSession ) {
|
||||
let roleId = session.get('roleId');
|
||||
let roleName = session.get('roleName');
|
||||
|
||||
Reference in New Issue
Block a user