From 581296559cbbf8b5cfb49f36ad94f13230acc9ef Mon Sep 17 00:00:00 2001 From: luying Date: Wed, 8 Feb 2023 20:56:16 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(gvg):=20=E5=86=9C=E7=94=B0?= =?UTF-8?q?=E5=B7=B2=E7=A7=8D=E6=A4=8D=E7=94=B0=E6=95=B0=E9=87=8F=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/services/gvg/gvgPrepareService.ts | 3 ++- shared/db/GVGLeagueFarm.ts | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/game-server/app/services/gvg/gvgPrepareService.ts b/game-server/app/services/gvg/gvgPrepareService.ts index eee5c7e3c..71316a418 100644 --- a/game-server/app/services/gvg/gvgPrepareService.ts +++ b/game-server/app/services/gvg/gvgPrepareService.ts @@ -165,7 +165,8 @@ export async function lockField(leagueCode: string, roleId: string, roleName: st lands.push({ fieldId, addType }); } // 更新田 - await GVGLeagueFarmModel.lockFields(configId, leagueCode, farmId, roleId, roleName, lands); + let dicFarm = gameData.gvgResource.get(farmId); + await GVGLeagueFarmModel.lockFields(configId, leagueCode, farmId, dicFarm?.type, roleId, roleName, lands); return await GVGLeagueFarmModel.findByFarmIdAndRoleId(configId, leagueCode, farmId, roleId); } diff --git a/shared/db/GVGLeagueFarm.ts b/shared/db/GVGLeagueFarm.ts index 2efd5e190..57703da86 100644 --- a/shared/db/GVGLeagueFarm.ts +++ b/shared/db/GVGLeagueFarm.ts @@ -86,7 +86,7 @@ export default class GVGLeagueFarm extends BaseModel { } public static async findPlantedByFarmId(configId: number, leagueCode: string, farmId: number) { - const result: GVGLeagueFarmType[] = await GVGLeagueFarmModel.find({ configId, leagueCode, farmId, unlockTime: { $gte: nowSeconds() }, harvestTime: { $gte: nowSeconds() }}).select('-_id').lean(); + const result: GVGLeagueFarmType[] = await GVGLeagueFarmModel.find({ configId, leagueCode, farmId, unlockTime: { $gte: nowSeconds() }}).select('-_id').lean(); return result; } @@ -102,10 +102,10 @@ export default class GVGLeagueFarm extends BaseModel { * @param lands [{fieldId: number, time: number, addType: number}] fieldId:田地id, time: 锁定时间 addType: 种子加成 * @returns */ - public static async lockFields(configId: number, leagueCode: string, farmId: number, roleId: string, roleName: string, lands: { fieldId: number, addType: number }[]) { + public static async lockFields(configId: number, leagueCode: string, farmId: number, type: number, roleId: string, roleName: string, lands: { fieldId: number, addType: number }[]) { // 先创建 await GVGLeagueFarmModel.bulkWrite(lands.map(({ fieldId }) => { - return { updateOne: { filter: { configId, leagueCode, farmId, fieldId }, update: { $setOnInsert: { unlockTime: 0, harvestTime: 0, seedType: 0, addType: 0, addTypes: [] } }, upsert: true} } + return { updateOne: { filter: { configId, leagueCode, farmId, fieldId }, update: { $setOnInsert: { unlockTime: 0, harvestTime: 0, seedType: 0, addType: 0, addTypes: [], type } }, upsert: true} } })); const result = await GVGLeagueFarmModel.bulkWrite(lands.map(({ fieldId, addType }) => { if(addType > 0) {