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