From 0deebf2947d8e963bc6bbe80e07bb207407449b1 Mon Sep 17 00:00:00 2001 From: luying Date: Thu, 23 Feb 2023 13:25:19 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9E=20fix(gvg):=20=E8=87=AA=E5=8A=A8?= =?UTF-8?q?=E8=A7=A3=E6=95=A3=E7=9A=84=E8=81=94=E5=86=9B=E6=B2=A1=E6=9C=89?= =?UTF-8?q?=E5=90=8C=E6=97=B6=E6=B8=85=E7=90=86=E5=86=9B=E5=9B=A2=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- game-server/app/services/gvg/gvgService.ts | 8 ++++++-- shared/db/Guild.ts | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/game-server/app/services/gvg/gvgService.ts b/game-server/app/services/gvg/gvgService.ts index b193ca83a..b4ca4746d 100644 --- a/game-server/app/services/gvg/gvgService.ts +++ b/game-server/app/services/gvg/gvgService.ts @@ -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; } diff --git a/shared/db/Guild.ts b/shared/db/Guild.ts index e22e30902..55edd4bec 100644 --- a/shared/db/Guild.ts +++ b/shared/db/Guild.ts @@ -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);