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;