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

This commit is contained in:
luying
2023-02-23 13:25:54 +08:00
parent 43f85b92d0
commit 0deebf2947
2 changed files with 10 additions and 2 deletions
+6 -2
View File
@@ -39,11 +39,15 @@ export async function createNewGVGConfig() {
} }
// 每周自动解散一些联军 // 每周自动解散一些联军
let autoLeagues = await GVGLeagueModel.findAutoCreateLeague(); let autoLeagues = await GVGLeagueModel.findAutoCreateLeague();
let needDissmissLeagueId: string[] = []; let needDissmissLeagueId: string[] = [], needDissmissLeagueCodes: string[] = [];
for(let league of autoLeagues) { 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 GVGLeagueModel.dismissByIds(needDissmissLeagueId);
await GuildModel.leagueAutoDismiss(needDissmissLeagueCodes);
await pinus.app.rpc.systimer.systimerRemote.initGVGConfigSchedule.broadcast(); await pinus.app.rpc.systimer.systimerRemote.initGVGConfigSchedule.broadcast();
return config; return config;
} }
+4
View File
@@ -355,6 +355,10 @@ export default class Guild extends BaseModel {
const result: GuildType = await GuildModel.findOneAndUpdate({ leagueCode }, { $set: { leagueCode: '' }}).lean(); const result: GuildType = await GuildModel.findOneAndUpdate({ leagueCode }, { $set: { leagueCode: '' }}).lean();
return result; return result;
} }
public static async leagueAutoDismiss(leagueCodes: string[]) {
await GuildModel.updateMany({ leagueCode: { $in: leagueCodes } }, { $set: { leagueCode: '' }});
}
} }
export const GuildModel = getModelForClass(Guild); export const GuildModel = getModelForClass(Guild);