🐞 fix(gvg): 农田已种植田数量修复

This commit is contained in:
luying
2023-02-08 20:56:16 +08:00
parent 66f7d87055
commit 581296559c
2 changed files with 5 additions and 4 deletions

View File

@@ -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);
}

View File

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