获得战报,刷新

This commit is contained in:
mamengke01
2021-01-08 17:53:06 +08:00
parent 5e2f999923
commit efe4143298
9 changed files with 1103 additions and 47 deletions

View File

@@ -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');