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) {