🐞 fix(gvg): 自动解散的联军没有同时清理军团数据
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user