From b46681c90975ae62477b36d3a821ab327a1cf5f4 Mon Sep 17 00:00:00 2001 From: mamengke01 <794347210@qq.com> Date: Fri, 8 Jan 2021 11:29:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E8=BF=9B=E5=85=A5pvp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/battle/handler/pvpHandler.ts | 8 +++++--- shared/db/PvpDefense.ts | 3 +++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/game-server/app/servers/battle/handler/pvpHandler.ts b/game-server/app/servers/battle/handler/pvpHandler.ts index 8911b529d..add092be2 100644 --- a/game-server/app/servers/battle/handler/pvpHandler.ts +++ b/game-server/app/servers/battle/handler/pvpHandler.ts @@ -37,16 +37,18 @@ export class PvpHandler { let pvpDefense = await PvpDefenseModel.findByRoleIdIncludeAll(roleId); let oppPlayers = getEnemies(pvpDefense.oppPlayers, pvpDefense.winStreakNum); let {warId, seasonNum, seasonEndTime} = await SystemConfigModel.findSystemConfig(); - let {heroes, score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores} = pvpDefense; + let {heroes, score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry} = pvpDefense; if (pvpDefense.seasonNum !== seasonNum) { let { score, pLv, winStreakNum, heroScores, refOppCnt, challengeCnt, challengeRefTime } = await setPvpDefResult(pvpDefense, seasonNum); } + if (isFirstEntry) { + await PvpDefenseModel.updateInfo(roleId, {isFirstEntry:false}); + } let myRank = 999;//TODO去redis中获取 - let data = {warId, seasonNum, seasonEndTime, myRank, oppPlayers, heroes, score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores} + let data = {warId, seasonNum, seasonEndTime, myRank, oppPlayers, heroes, score, pLv, winStreakNum, refOppCnt, challengeCnt, challengeRefTime, receivedBox, hisScore, heroScores, isFirstEntry} return resResult(STATUS.SUCCESS, data); } - // TODO 刷新 async refreshOppPlayer (msg: {}, session: BackendSession) { let roleId = session.get('roleId'); diff --git a/shared/db/PvpDefense.ts b/shared/db/PvpDefense.ts index 75835934c..8666274c2 100644 --- a/shared/db/PvpDefense.ts +++ b/shared/db/PvpDefense.ts @@ -18,6 +18,7 @@ interface pvpUpdateInter { refOppCnt?:number; challengeCnt?:number; challengeRefTime?:number; + isFirstEntry?:boolean; } export class Heroes { @@ -137,6 +138,8 @@ export default class PvpDefense extends BaseModel { receivedBox: Array; @prop({ required: true, default: 0 }) seasonNum: number; + @prop({ required: true, default: true }) + isFirstEntry: boolean; public static async findByRoleId(roleId: string, lean = true) { const result: PvpDefenseType = await PvpDefenseModel.findOne({ roleId }).lean(lean); return result;