From ae898fedb4c05c0dacc229eb5abb7005e92d742d Mon Sep 17 00:00:00 2001 From: luying Date: Thu, 18 Aug 2022 20:42:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8D=E5=B0=86=E6=93=82=E5=8F=B0=EF=BC=9A?= =?UTF-8?q?=E9=98=B2=E5=AE=88=E6=88=98=E5=8A=9B=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/servers/battle/handler/ladderHandler.ts | 2 +- shared/db/LadderMatch.ts | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/game-server/app/servers/battle/handler/ladderHandler.ts b/game-server/app/servers/battle/handler/ladderHandler.ts index 92eafde83..b1afd0ff3 100644 --- a/game-server/app/servers/battle/handler/ladderHandler.ts +++ b/game-server/app/servers/battle/handler/ladderHandler.ts @@ -279,7 +279,7 @@ export class LadderHandler { return dbHero && new LadderDefenseHero(cur, dbHero._id, dbHero.ce); }).filter(cur => cur); let defense = new LadderDefense(defenseHeroes, warId); - ladderData = await LadderMatchModel.updateByRoleId(roleId, { defense }); + ladderData = await LadderMatchModel.updateByRoleId(roleId, { defense, hasDefense: true }); // 返回 let result = new LadderDataReturn(); result.setLadderData(ladderData); diff --git a/shared/db/LadderMatch.ts b/shared/db/LadderMatch.ts index 3e039e1de..a56f620be 100644 --- a/shared/db/LadderMatch.ts +++ b/shared/db/LadderMatch.ts @@ -24,6 +24,8 @@ export default class LadderMatch extends BaseModel { @prop({ required: true, default: null, _id: false }) defense: LadderDefense; + @prop({ required: true, default: false }) + hasDefense: boolean; // 购买次数 @prop({ required: true, type: LadderOppPlayerInDB, default: [], _id: false }) oppPlayers: LadderOppPlayerInDB[]; @@ -147,7 +149,7 @@ export default class LadderMatch extends BaseModel { public static async updateCe(roleId: string, hid: number, ce: number) { const rec: LadderMatchType = await LadderMatchModel.findOneAndUpdate( - { roleId, defense: { $exists: false } }, + { roleId, hasDefense: true }, { $set: { 'defense.heroes.$[t].ce': ce } }, { arrayFilters: [{"t.actorId": hid}] }).lean(); return rec