🐞 fix(gvg): 农田已种植田数量修复
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user