🐞 fix(gvg): 自动解散的联军没有同时清理军团数据

This commit is contained in:
luying
2023-02-23 13:25:19 +08:00
parent 43f85b92d0
commit 0deebf2947
2 changed files with 10 additions and 2 deletions

View File

@@ -39,11 +39,15 @@ export async function createNewGVGConfig() {
}
// 每周自动解散一些联军
let autoLeagues = await GVGLeagueModel.findAutoCreateLeague();
let needDissmissLeagueId: string[] = [];
let needDissmissLeagueId: string[] = [], needDissmissLeagueCodes: string[] = [];
for(let league of autoLeagues) {
if(!await checkHasCities(league)) needDissmissLeagueId.push(league._id);
if(!await checkHasCities(league)) {
needDissmissLeagueId.push(league._id);
needDissmissLeagueCodes.push(league.leagueCode);
}
}
await GVGLeagueModel.dismissByIds(needDissmissLeagueId);
await GuildModel.leagueAutoDismiss(needDissmissLeagueCodes);
await pinus.app.rpc.systimer.systimerRemote.initGVGConfigSchedule.broadcast();
return config;
}

View File

@@ -355,6 +355,10 @@ export default class Guild extends BaseModel {
const result: GuildType = await GuildModel.findOneAndUpdate({ leagueCode }, { $set: { leagueCode: '' }}).lean();
return result;
}
public static async leagueAutoDismiss(leagueCodes: string[]) {
await GuildModel.updateMany({ leagueCode: { $in: leagueCodes } }, { $set: { leagueCode: '' }});
}
}
export const GuildModel = getModelForClass(Guild);