diff --git a/game-server/app/servers/battle/handler/pvpHandler.ts b/game-server/app/servers/battle/handler/pvpHandler.ts index 60b7b2a70..b51037a69 100644 --- a/game-server/app/servers/battle/handler/pvpHandler.ts +++ b/game-server/app/servers/battle/handler/pvpHandler.ts @@ -253,7 +253,7 @@ export class PvpHandler { if(score > hisScore) hisScore = score; let pLv = getLvByScore(heroScores); - const defenseInfo = await generPVPOppRecInfo(isSuccess, curOpp, oppRoleId, oppHeroes, role.lv); + const defenseInfo = await generPVPOppRecInfo(isSuccess, curOpp, oppHeroes, role.lv); // 战报记录 await PvpRecordModel.createRec({roleId1: roleId, roleId2: oppRoleId, warId: BattleRecord.battleId, attackInfo, defenseInfo, createTime: nowSeconds()}); diff --git a/game-server/app/services/pvpService.ts b/game-server/app/services/pvpService.ts index b6644d35f..08caf0c28 100644 --- a/game-server/app/services/pvpService.ts +++ b/game-server/app/services/pvpService.ts @@ -67,6 +67,7 @@ export async function getEnemies(oppPlayers: OppPlayers[], winStreakNum: number) for(let oppPlayer of oppPlayers) { let dicOpponent = dicPvpOpponent.get(oppPlayer.pos); let oppDef = oppPlayer.oppDef; // select 'oppRoleId pos roleName headHid sHid rankLv pLv defCe' + delete oppDef.heroes; result.push({ ...oppDef, roleId: oppDef.oppRoleId, @@ -382,7 +383,7 @@ export function comsumeChallengeCnt( challengeCnt: number, challengeRefTime: num } export async function findPvpDefByRoleId(roleId: string) { - let pvpDefense = await PvpDefenseModel.findByRoleId(roleId); + let pvpDefense = await PvpDefenseModel.findByRoleIdIncludeAll(roleId); let {warId, seasonNum, seasonEndTime} = await SystemConfigModel.findSystemConfig(); if (pvpDefense.seasonNum !== seasonNum) { let newPvpDefense = await setPvpDefResult(pvpDefense, seasonNum, seasonEndTime); @@ -545,7 +546,7 @@ export async function generMyRecInfo(heroScores: HeroScores[], winStreakNum: num } // 获取对手战报记录 -export async function generPVPOppRecInfo(isSuccess: boolean, curOpp: OppPlayers, oppRoleId: string, oppHeroes: pvpEndParamInter[], myLv: number) { +export async function generPVPOppRecInfo(isSuccess: boolean, curOpp: OppPlayers, oppHeroes: pvpEndParamInter[], myLv: number) { let oppHeroRecords = new Array(); let oppRole = curOpp.oppDef; if(!oppRole) { /* TODO 判空处理 */ } diff --git a/game-server/app/services/timeTaskService.ts b/game-server/app/services/timeTaskService.ts index e68aad4b9..a8467b830 100644 --- a/game-server/app/services/timeTaskService.ts +++ b/game-server/app/services/timeTaskService.ts @@ -131,7 +131,7 @@ export async function setPvpDefResult(pvpDefense: PvpDefenseType, seasonNum: num return; } let {score, pLv, heroScores, winStreakNum, challengeCnt, challengeRefTime, goods } = await checkResult(pvpDefense, seasonNum, seasonEndTime); - pvpDefense = await PvpDefenseModel.updateInfo(pvpDefense.roleId, {score, pLv, heroScores, winStreakNum, seasonNum, challengeCnt, challengeRefTime, seasonEndTime, oldSeasonEndTime: pvpDefense.oldSeasonEndTime}); + pvpDefense = await PvpDefenseModel.updateInfoAndInclude(pvpDefense.roleId, {score, pLv, heroScores, winStreakNum, seasonNum, challengeCnt, challengeRefTime, seasonEndTime, oldSeasonEndTime: pvpDefense.oldSeasonEndTime}); let { roleName, lv, vLv, headHid, sHid, title , roleId } = role; let params = new RankParam(roleName, lv, vLv, headHid, sHid, title); setRank(REDIS_KEY.PVP_RANK, 0, pvpDefense.roleId, pvpDefense.score, pvpDefense.updatedAt.getTime(), params); diff --git a/shared/db/PvpDefense.ts b/shared/db/PvpDefense.ts index 2a52bccd4..7c71b7fd0 100644 --- a/shared/db/PvpDefense.ts +++ b/shared/db/PvpDefense.ts @@ -216,7 +216,7 @@ export default class PvpDefense extends BaseModel { delete update._id; let result: PvpDefenseType = await PvpDefenseModel.findOneAndUpdate({roleId}, {$set:update}, {new: true}) .populate('role', 'headHid sHid topFiveCe roleId roleName lv') - .populate('oppPlayers.oppDef', 'oppRoleId pos roleName headHid sHid rankLv pLv defCe').lean(); + .populate('oppPlayers.oppDef', 'oppRoleId pos roleName headHid sHid rankLv pLv defCe heroes').lean(); return result; } public static async updateInfo(roleId: string, update: pvpUpdateInter, lean = true) {